public override Block VisitBlock(Block block){ if (block == null) return null; StatementList savedStatementList = this.CurrentStatementList; try{ StatementList oldStatements = block.Statements; int n = oldStatements == null ? 0 : oldStatements.Count; StatementList newStatements = this.CurrentStatementList = block.Statements = new StatementList(n); for (int i = 0; i < n; i++) { //^ assert oldStatements != null; newStatements.Add((Statement)this.Visit(oldStatements[i])); } return block; }finally{ this.CurrentStatementList = savedStatementList; } }
public SnippetParser(IParserFactory/*!*/ defaultParserFactory, Module symbolTable, ErrorNodeList errorNodes, CompilerParameters options) { this.DefaultParserFactory = defaultParserFactory; this.ErrorNodes = errorNodes; this.SymbolTable = symbolTable; this.Options = options; this.CurrentStatementList = new StatementList(0); //^ base(); }
public virtual void VisitStatementList(StatementList statements) { if (statements == null) return; for (int i = 0, n = statements.Count; i < n; i++) this.Visit(statements[i]); }
public virtual StatementList VisitStatementList(StatementList statements){ if (statements == null) return null; for (int i = 0, n = statements.Count; i < n; i++) statements[i] = (Statement)this.Visit(statements[i]); return statements; }
public override StatementList VisitStatementList(StatementList statements) { if (statements == null) return null; return base.VisitStatementList(statements.Clone()); }