public EarleStackFrameExecutor(EarleFunction function, EarleStackFrame parentFrame, int callerIp, EarleValue target, IEarleRuntimeScope superScope, EarleDictionary locals) : base(target) { Frame = parentFrame.SpawnChild(function, this, callerIp); Scopes.Push(new EarleRuntimeScope(superScope, locals)); }
public EarleRuntimeScope(IEarleRuntimeScope superScope, EarleDictionary locals) { _superScope = superScope; _locals = locals ?? new EarleDictionary(); }
public EarleRuntimeScope(IEarleRuntimeScope superScope) : this(superScope, null) { }