.assembly 'incr4' { } .assembly extern 'mscorlib' { .ver 1:0:5000:0 .publickeytoken = ( b7 7a 5c 56 19 34 e0 89 ) } .class 'T' extends [mscorlib]System.Object { .field private int32 'x' .field private int32 'y' .method hidebysig static public void 'Main'() { .entrypoint .locals init ([0]class 'T'[] 't0') ldc.i4 4 newarr class 'T' dup ldc.i4 0 ldnull stelem.ref dup ldc.i4 1 newobj instance void 'T'::.ctor() stelem.ref dup ldc.i4 2 newobj instance void 'T'::.ctor() stelem.ref dup ldc.i4 3 newobj instance void 'T'::.ctor() stelem.ref stloc 0 // x ldloc 0 // x ldc.i4 1 newobj instance void 'T'::.ctor() stelem.ref .locals init ([1]int32 't1') ldc.i4 1 stloc 1 // i ldstr "{0}" ldloc 0 // x .locals init ([2]class 'T'[] 't2') dup stloc 2 // t2 ldloc 1 // i dup ldc.i4.1 add .locals init ([3]int32 't3') stloc 3 // t3 ldloc 3 // t3 stloc 1 // i .locals init ([4]int32 't4') dup stloc 4 // t4 ldelem.ref ldfld int32 'T'::'x' dup ldc.i4.1 add .locals init ([5]int32 't5') stloc 5 // t5 ldloc 2 // t2 ldloc 4 // t4 ldelem.ref ldloc 5 // t5 stfld int32 'T'::'x' box int32 call void [mscorlib]System.Console::'WriteLine'(string,object) ldstr "{0}" ldloc 1 // i box int32 call void [mscorlib]System.Console::'WriteLine'(string,object) ldloc 0 // x ldloc 1 // i ldc.i4.1 add .locals init ([6]int32 't6') stloc 6 // t6 ldloc 6 // t6 stloc 1 // i ldloc 6 // t6 ldelem.ref ldflda int32 'T'::'x' ldloc 0 // x ldloc 1 // i ldelem.ref ldflda int32 'T'::'y' call void 'T'::'f'(int32&,int32&) ldstr "{0}" ldloc 0 // x ldloc 1 // i ldelem.ref ldfld int32 'T'::'x' box int32 call void [mscorlib]System.Console::'WriteLine'(string,object) ldstr "{0}" ldloc 0 // x ldloc 1 // i ldelem.ref ldfld int32 'T'::'y' box int32 call void [mscorlib]System.Console::'WriteLine'(string,object) ret .maxstack 5 } // end of method T.Main .method hidebysig static private void 'f'(int32& 'a',int32& 'b') { ldarg 0 // a ldind.i4 ldc.i4 2 add .locals init ([0]int32 't0') stloc 0 // t0 ldarg 0 // a ldloc 0 // t0 stind.i4 ldarg 1 // b ldc.i4 0 stind.i4 ldarg 1 // b ldind.i4 ldc.i4.1 sub .locals init ([1]int32 't1') stloc 1 // t1 ldarg 1 // b ldloc 1 // t1 stind.i4 ret .maxstack 2 } // end of method T.f .method hidebysig specialname rtspecialname public void .ctor() { ldarg.0 ldc.i4 5 stfld int32 'T'::'x' ldarg.0 ldc.i4 6 stfld int32 'T'::'y' ldarg.0 call instance void [mscorlib]System.Object::.ctor() ret .maxstack 2 } // end of constructor T.T } // end of class T