Skip to content

Commit b327486

Browse files
Feat: Implement virtual machine errors for not implemented functionalities
1 parent 744378c commit b327486

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

compiler/src/modules/vm/mod.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -616,11 +616,13 @@ impl<'a> VM<'a> {
616616
OpCode::ImportFrom => { self.pop()?; self.push(Val::none()); }
617617
OpCode::SetupExcept | OpCode::PopExcept => {}
618618
OpCode::Raise | OpCode::RaiseFrom => { return Err(VmErr::Runtime("exception raised".into())); }
619-
OpCode::SetupWith | OpCode::ExitWith => {}
619+
OpCode::SetupWith | OpCode::ExitWith => { return Err(VmErr::Runtime("with/as not yet supported".into())); }
620620
OpCode::Await | OpCode::YieldFrom => {}
621-
OpCode::UnpackArgs => {}
622-
OpCode::MakeClass | OpCode::LoadAttr | OpCode::StoreAttr => {}
623-
OpCode::ListComp | OpCode::SetComp | OpCode::DictComp | OpCode::GenExpr => {}
621+
OpCode::UnpackArgs => { return Err(VmErr::Runtime("*args/**kwargs not yet supported".into())); }
622+
OpCode::MakeClass => { return Err(VmErr::Runtime("classes not yet supported".into())); }
623+
OpCode::LoadAttr | OpCode::StoreAttr => { return Err(VmErr::Runtime("attribute access not yet supported".into())); }
624+
OpCode::ListComp | OpCode::SetComp | OpCode::DictComp => { return Err(VmErr::Runtime("comprehensions not yet supported".into())); }
625+
OpCode::GenExpr => { return Err(VmErr::Runtime("generator expressions not yet supported".into())); }
624626
}
625627
}
626628
}

0 commit comments

Comments
 (0)