public virtual void Visit(IncludeStmt includeStmt, object[] args) { }
public override void Visit(IncludeStmt includeStmt, object[] args) { checkLocation = includeStmt.Location; CheckSubPlot(includeStmt.SubPlot); base.Visit(includeStmt, args); }
public void Visit(IncludeStmt includeStmt, object[] args) { kernel.RuntimeData.ScopeStack.Open(new LocalScope()); kernel.RuntimeData.InstructionStack.Push(InstructionStack.CALL_FLAG); //kernel.RuntimeData.InstructionStack.Push(InstructionStack.CLOSE_FORMAL_SCOPE_FLAG); kernel.RuntimeData.InstructionStack.Push(InstructionStack.CLOSE_LOCAL_SCOPE_FLAG); kernel.RuntimeData.InstructionStack.Push(root.SubPlotMap[includeStmt.SubPlot].Content); CallStackElement elem = new CallStackElement(); elem.Destination = root.SubPlotMap[includeStmt.SubPlot]; elem.Location = includeStmt.Location; elem.ReturnDest = null; kernel.RuntimeData.CallStack.Push(elem); kernel.Next(); }