public static TrueLambdaFunction CreateTrueLambda(ExecutionLocation Source, RuntimeScriptObject CapturedVariables) { return new TrueLambdaFunction { CapturedVariables = CapturedVariables, Source = Source }; }
internal ExecutionContext(Dictionary<int,Object> StaticVariables, List<Type> Types, ExecutionLocation ExecutionPoint) { this.StaticVariables = StaticVariables; this.Types = Types; Stack.Add(new ExecutionLocation(new InstructionList(), 0)); //Fake return point R = null; ExecutionState = ExecutionState.Running; CurrentInstruction = ExecutionPoint; }
public static LambdaFunction CreateLambda(String Name, ExecutionLocation CleanupPoint, ExecutionLocation EntryPoint, int ArgumentCount) { var r = new LambdaFunction(); r.CleanupPoint = CleanupPoint; r.EntryPoint = EntryPoint; r.ArgumentCount = ArgumentCount; r.Name = Name; return r; }
public ErrorHandler(ExecutionLocation HandlerCode) { this.HandlerCode = HandlerCode; }
public static bool AreEqual(ExecutionLocation A, ExecutionLocation B) { return Object.ReferenceEquals(A.Code, B.Code) && A.InstructionPointer == B.InstructionPointer; }