public virtual object TrackedVisitCatchClause(CatchClause catchClause, object data)
 {
     return base.VisitCatchClause(catchClause, data);
 }
 public override sealed object VisitCatchClause(CatchClause catchClause, object data)
 {
     this.BeginVisit(catchClause);
     object result = this.TrackedVisitCatchClause(catchClause, data);
     this.EndVisit(catchClause);
     return result;
 }
 public virtual object VisitCatchClause(CatchClause catchClause, object data)
 {
     Debug.Assert((catchClause != null));
     Debug.Assert((catchClause.TypeReference != null));
     Debug.Assert((catchClause.StatementBlock != null));
     Debug.Assert((catchClause.Condition != null));
     catchClause.TypeReference.AcceptVisitor(this, data);
     catchClause.StatementBlock.AcceptVisitor(this, data);
     return catchClause.Condition.AcceptVisitor(this, data);
 }
 public virtual object VisitCatchClause(CatchClause catchClause, object data)
 {
     throw new global::System.NotImplementedException("CatchClause");
 }
示例#5
0
        void CatchClause(out CatchClause catchClause)
        {
            TypeReference type = null;
            Statement blockStmt = null;
            Expression expr = null;
            string name = String.Empty;

            Expect(75);
            if (StartOf(5)) {
            Identifier();
            name = t.val;
            if (la.kind == 63) {
                Get();
                TypeName(out type);
            }
            }
            if (la.kind == 229) {
            Get();
            Expr(out expr);
            }
            EndOfStmt();
            Block(out blockStmt);
            catchClause = new CatchClause(type, name, blockStmt, expr);
        }
 public virtual object VisitCatchClause(CatchClause catchClause, object data)
 {
     Debug.Assert((catchClause != null));
     Debug.Assert((catchClause.TypeReference != null));
     Debug.Assert((catchClause.StatementBlock != null));
     Debug.Assert((catchClause.Condition != null));
     nodeStack.Push(catchClause.TypeReference);
     catchClause.TypeReference.AcceptVisitor(this, data);
     catchClause.TypeReference = ((TypeReference)(nodeStack.Pop()));
     nodeStack.Push(catchClause.StatementBlock);
     catchClause.StatementBlock.AcceptVisitor(this, data);
     catchClause.StatementBlock = ((Statement)(nodeStack.Pop()));
     nodeStack.Push(catchClause.Condition);
     catchClause.Condition.AcceptVisitor(this, data);
     catchClause.Condition = ((Expression)(nodeStack.Pop()));
     return null;
 }