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); }
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; }