Exemple #1
0
    protected bool NeedLeave(baseNode destNode, out tryStatementNode FinallyNode)
    {
        FinallyNode = null;
        bool need = false;

        for (baseNode n = base.parent as baseNode; !(n is TopStatementList); n = n.parent as baseNode)
        {
            if (n.TryCatchLevels > 0)
            {
                need = true;
            }
            if (n is tryStatementNode)
            {
                FinallyNode = (tryStatementNode)n;
                return(need);
            }
            if (n == destNode)
            {
                return(need);
            }
        }
        return(need);
    }
Exemple #2
0
 protected bool NeedLeave(baseNode destNode, out tryStatementNode FinallyNode)
 {
     FinallyNode = null;
     bool need = false;
     for (baseNode n = base.parent as baseNode; !(n is TopStatementList); n = n.parent as baseNode)
     {
         if (n.TryCatchLevels > 0)
         {
             need = true;
         }
         if (n is tryStatementNode)
         {
             FinallyNode = (tryStatementNode) n;
             return need;
         }
         if (n == destNode)
         {
             return need;
         }
     }
     return need;
 }