private static void AddSuccessorsToCount(ILogicalConstruct construct, Dictionary <CFGBlockLogicalConstruct, uint> numberOfHandlersLeavingToBlock) { V_0 = construct.get_CFGSuccessors().GetEnumerator(); try { while (V_0.MoveNext()) { V_1 = V_0.get_Current(); if (numberOfHandlersLeavingToBlock.ContainsKey(V_1)) { stackVariable10 = numberOfHandlersLeavingToBlock; V_2 = V_1; stackVariable10.set_Item(V_2, stackVariable10.get_Item(V_2) + 1); } else { numberOfHandlersLeavingToBlock.Add(V_1, 1); } } } finally { ((IDisposable)V_0).Dispose(); } return; }
private bool CanBePartOfComplexCondition(ILogicalConstruct node, HashSet <ILogicalConstruct> nodesInCondition, CFGBlockLogicalConstruct commonSuccessor) { if (node == null || node as ConditionLogicalConstruct == null || !this.ArePredecessorsLegal(node, nodesInCondition) || !node.get_CFGSuccessors().Contains(commonSuccessor)) { return(false); } return(!nodesInCondition.Contains(node)); }