private void FixBlockExpressions(Dictionary <Expression, Expression> oldToNewValueMap) { V_1 = this.methodContext.get_Expressions().get_BlockExpressions().GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); V_3 = V_2.get_Value(); V_4 = 0; while (V_4 < V_3.get_Count()) { V_5 = V_3.get_Item(V_4); if (V_5.get_CodeNodeType() == 24) { V_6 = V_5 as BinaryExpression; if (V_6.get_IsAssignmentExpression() && V_6.get_Left().get_CodeNodeType() == 26 && this.inlinedOnSecondPass.Contains((V_6.get_Left() as VariableReferenceExpression).get_Variable().Resolve())) { goto Label1; } if (oldToNewValueMap.TryGetValue(V_6.get_Right(), out V_0)) { V_6.set_Right(V_0); } } if (oldToNewValueMap.TryGetValue(V_3.get_Item(V_4), out V_0)) { V_3.set_Item(V_4, V_0); } Label0: V_4 = V_4 + 1; } } } finally { ((IDisposable)V_1).Dispose(); } return; Label1: stackVariable57 = V_4; V_4 = stackVariable57 - 1; V_3.RemoveAt(stackVariable57); goto Label0; }