Пример #1
0
        // TryFinallyStmt
        public override bool Walk(TryFinallyStmt node)
        {
            BitArray save = bits;

            bits = new BitArray(bits);
            // Flow the body
            node.body.Walk(this);
            bits = save;
            // Flow finally - this executes no matter what
            node.finallyStmt.Walk(this);
            return(false);
        }
Пример #2
0
        public override bool Walk(TryFinallyStmt node)
        {
            TryFinallyBlock tfb = new TryFinallyBlock(node);

            tryBlocks.Push(tfb);
            node.body.Walk(this);
            tfb.state = ExceptionBlock.State.Finally;
            node.finallyStmt.Walk(this);
            ExceptionBlock eb = tryBlocks.Pop();

            Debug.Assert((object)eb == (object)tfb);
            return(false);
        }
Пример #3
0
 public virtual void PostWalk(TryFinallyStmt node)
 {
 }
Пример #4
0
 // TryFinallyStmt
 public virtual bool Walk(TryFinallyStmt node)
 {
     return(true);
 }
Пример #5
0
 public TryFinallyBlock(TryFinallyStmt stmt, State state)
     : base(state)
 {
     this.stmt = stmt;
 }
Пример #6
0
 public TryFinallyBlock(TryFinallyStmt stmt)
     : this(stmt, State.Try)
 {
 }