Пример #1
0
 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;
   }
 }
Пример #2
0
 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();
 }
Пример #3
0
 public virtual void VisitStatementList(StatementList statements)
 {
   if (statements == null) return;
   for (int i = 0, n = statements.Count; i < n; i++)
     this.Visit(statements[i]);
 }
Пример #4
0
 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;
 }
Пример #5
0
 public override StatementList VisitStatementList(StatementList statements)
 {
     if (statements == null) return null;
     return base.VisitStatementList(statements.Clone());
 }