Ejemplo n.º 1
0
 public override void VisitBlockStatement(BlockStatement node)
 {
     V_0 = 0;
     while (V_0 < node.get_Statements().get_Count() - 1)
     {
         V_2 = node.get_Statements().get_Item(V_0) as ExpressionStatement;
         V_3 = node.get_Statements().get_Item(V_0 + 1) as WhileStatement;
         if (this.CheckTheInitializer(V_2, out V_1) && this.CheckTheLoop(V_3, V_1))
         {
             V_4 = this.CreateForStatement(V_2, V_3);
             V_4.set_Parent(node);
             node.get_Statements().set_Item(V_0, V_4);
             node.get_Statements().RemoveAt(V_0 + 1);
         }
         V_0 = V_0 + 1;
     }
     this.VisitBlockStatement(node);
     return;
 }
Ejemplo n.º 2
0
 private HashSet <ILogicalConstruct> RestoreOriginalCFGNodes(HashSet <ConditionLogicalConstruct> body)
 {
     V_0 = new HashSet <ILogicalConstruct>();
     V_1 = body.GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current();
             if (V_2.get_Parent().get_Entry() == V_2)
             {
                 V_2.get_Parent().set_Entry(V_2.get_FirstBlock());
             }
             V_3 = V_2.get_Children().GetEnumerator();
             try
             {
                 while (V_3.MoveNext())
                 {
                     V_4 = (CFGBlockLogicalConstruct)V_3.get_Current();
                     V_4.set_Parent(V_2.get_Parent());
                     dummyVar0 = V_4.get_Parent().get_Children().Remove(V_2);
                     dummyVar1 = V_0.Add(V_4);
                 }
             }
             finally
             {
                 ((IDisposable)V_3).Dispose();
             }
         }
     }
     finally
     {
         ((IDisposable)V_1).Dispose();
     }
     return(V_0);
 }