Пример #1
0
 private void AddLabelVariables()
 {
     V_0 = (new List <Statement>(this.methodContext.get_GotoLabels().get_Values())).GetEnumerator();
     try
     {
         while (V_0.MoveNext())
         {
             V_1 = V_0.get_Current();
             V_2 = V_1.get_Label();
             V_1.set_Label(String.Empty);
             V_3             = this.GetLabelVariable(V_2);
             stackVariable19 = V_1.get_Parent() as BlockStatement;
             if (stackVariable19 == null)
             {
                 throw new ArgumentOutOfRangeException("Label target is not within a block.");
             }
             V_4             = stackVariable19.get_Statements().IndexOf(V_1);
             stackVariable35 = new BinaryExpression(26, new VariableReferenceExpression(V_3, null), this.GetLiteralExpression(false), this.typeSystem, null, false);
             stackVariable35.get_Right().set_ExpressionType(this.methodContext.get_Method().get_Module().get_TypeSystem().get_Boolean());
             V_5 = new ExpressionStatement(stackVariable35);
             V_5.set_Label(V_2);
             this.methodContext.get_GotoLabels().set_Item(V_2, V_5);
             this.variableToAssignment.Add(V_3, V_5);
             stackVariable19.AddStatementAt(V_4, V_5);
         }
     }
     finally
     {
         ((IDisposable)V_0).Dispose();
     }
     return;
 }