.assembly 'incr2' { } .assembly extern 'mscorlib' { .ver 1:0:5000:0 .publickeytoken = ( b7 7a 5c 56 19 34 e0 89 ) } .class 'T' extends [mscorlib]System.Object { .field public int32 'i' .field public int32 'x' .field public int32 'y' .field public int32[] 'a' .method hidebysig public static void 'Main'() { .entrypoint .locals init ([0]class 'T' 't0') newobj instance void 'T'::.ctor() stloc 0 // t ldloc 0 // t call instance void 'T'::'test'() .locals init ([1]int32 't1') .locals init ([2]int32 't2') .locals init ([3]int32[] 't3') ldloc 0 // t ldfld int32[] 'T'::'a' stloc 3 // t3 ldc.i4.0 stloc 2 // t2 br $4 $1: ldloc 3 // t3 ldloc 2 // t2 ldelem.i4 stloc 1 // x ldstr " {0}" ldloc 1 // x box int32 call void [mscorlib]System.Console::'Write'(string,object) $2: ldloc 2 // t2 ldc.i4.1 add stloc 2 // t2 $4: ldloc 2 // t2 ldloc 3 // t3 ldlen conv.i4 blt $1 $3: call void [mscorlib]System.Console::'WriteLine'() ret .maxstack 2 } // end of method T.Main .method hidebysig public instance void 'test'() { ldarg.0 ldfld int32 'T'::'x' ldc.i4 1 add .locals init ([0]int32 't0') stloc 0 // t0 ldarg.0 ldloc 0 // t0 stfld int32 'T'::'x' ldarg.0 ldfld int32[] 'T'::'a' .locals init ([1]int32[] 't1') dup stloc 1 // t1 ldarg.0 ldarg.0 ldfld int32 'T'::'i' call instance int32 'T'::'f'(int32) .locals init ([2]int32 't2') dup stloc 2 // t2 ldelem.i4 ldarg.0 ldfld int32 'T'::'i' add .locals init ([3]int32 't3') stloc 3 // t3 ldloc 1 // t1 ldloc 2 // t2 ldloc 3 // t3 stelem.i4 ldarg.0 ldfld int32 'T'::'i' ldc.i4.1 add .locals init ([4]int32 't4') stloc 4 // t4 ldarg.0 ldloc 4 // t4 stfld int32 'T'::'i' ldarg.0 ldarg.0 ldfld int32 'T'::'i' dup ldc.i4.1 add .locals init ([5]int32 't5') stloc 5 // t5 ldarg.0 ldloc 5 // t5 stfld int32 'T'::'i' stfld int32 'T'::'x' ldarg.0 ldfld int32[] 'T'::'a' .locals init ([6]int32[] 't6') dup stloc 6 // t6 ldarg.0 ldarg.0 ldfld int32 'T'::'i' call instance int32 'T'::'f'(int32) .locals init ([7]int32 't7') dup stloc 7 // t7 ldelem.i4 ldc.i4.1 add .locals init ([8]int32 't8') stloc 8 // t8 ldloc 6 // t6 ldloc 7 // t7 ldloc 8 // t8 stelem.i4 ldarg.0 ldarg.0 ldfld int32[] 'T'::'a' .locals init ([9]int32[] 't9') dup stloc 9 // t9 ldarg.0 ldarg.0 ldfld int32 'T'::'i' call instance int32 'T'::'f'(int32) .locals init ([10]int32 't10') dup stloc 10 // t10 ldelem.i4 dup ldc.i4.1 add .locals init ([11]int32 't11') stloc 11 // t11 ldloc 9 // t9 ldloc 10 // t10 ldloc 11 // t11 stelem.i4 stfld int32 'T'::'y' ldarg.0 ldfld int32 'T'::'i' ldc.i4.1 sub .locals init ([12]int32 't12') stloc 12 // t12 ldarg.0 ldloc 12 // t12 stfld int32 'T'::'i' ldarg.0 ldarg.0 ldfld int32 'T'::'i' ldc.i4.1 sub .locals init ([13]int32 't13') stloc 13 // t13 ldarg.0 ldloc 13 // t13 stfld int32 'T'::'i' ldloc 13 // t13 stfld int32 'T'::'x' ldarg.0 ldfld int32[] 'T'::'a' .locals init ([14]int32[] 't14') dup stloc 14 // t14 ldarg.0 ldarg.0 ldfld int32 'T'::'i' call instance int32 'T'::'f'(int32) .locals init ([15]int32 't15') dup stloc 15 // t15 ldelem.i4 ldc.i4.1 sub .locals init ([16]int32 't16') stloc 16 // t16 ldloc 14 // t14 ldloc 15 // t15 ldloc 16 // t16 stelem.i4 ldarg.0 ldarg.0 ldfld int32[] 'T'::'a' .locals init ([17]int32[] 't17') dup stloc 17 // t17 ldarg.0 ldarg.0 ldfld int32 'T'::'i' call instance int32 'T'::'f'(int32) .locals init ([18]int32 't18') dup stloc 18 // t18 ldelem.i4 ldc.i4.1 sub .locals init ([19]int32 't19') stloc 19 // t19 ldloc 17 // t17 ldloc 18 // t18 ldloc 19 // t19 stelem.i4 ldloc 19 // t19 stfld int32 'T'::'y' ret .maxstack 5 } // end of method T.test .method hidebysig public instance int32 'f'(int32 'x') { .locals init ([0]int32 't0') ldarg.0 ldc.i4 6 stfld int32 'T'::'i' ldarg 1 // x stloc 0 // t0 br $1 $1: ldloc 0 // t0 ret .maxstack 2 } // end of method T.f .method hidebysig specialname rtspecialname public void .ctor() { ldarg.0 ldc.i4 0 stfld int32 'T'::'i' ldarg.0 ldc.i4 0 stfld int32 'T'::'x' ldarg.0 ldc.i4 0 stfld int32 'T'::'y' ldarg.0 ldc.i4 10 newarr int32 stfld int32[] 'T'::'a' ldarg.0 call instance void [mscorlib]System.Object::.ctor() ret .maxstack 2 } // end of constructor T.T } // end of class T