public override IodineObject Invoke(VirtualMachine vm, IodineObject[] arguments) { ApplyGlobalVariables(vm.Context); vm.NewFrame(new StackFrame(this, null, new IodineObject[] { }, null, null, Attributes)); IodineObject retObj = vm.EvalCode(Initializer); vm.EndFrame(); return(retObj); }
public override bool IterMoveNext(VirtualMachine vm) { if (frame.AbortExecution) { return(false); } vm.NewFrame(frame); value = vm.EvalCode(Target); vm.EndFrame(); return(frame.Yielded); }