singrdk/base/Windows/csic/test/indexer.il.expected

140 lines
3.1 KiB
Plaintext

.assembly 'indexer' { }
.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'
.property instance int32 Item(int32,class 'T') {
.get instance int32 'T'::'get_Item'(int32,class 'T')
.set instance void 'T'::'set_Item'(int32,class 'T',int32)
} // end of property Item
.method hidebysig specialname public instance int32 'get_Item'(int32 'a',class 'T' 'b') {
.locals init ([0]int32 't0')
ldarg 1 // a
ldarg.0
ldfld int32 'T'::'x'
add
stloc 0 // t0
br $1
$1:
ldloc 0 // t0
ret
.maxstack 2
} // end of method T.get_Item
.method hidebysig specialname public instance void 'set_Item'(int32 'a',class 'T' 'b',int32 'value') {
ldarg.0
ldarg 2 // b
ldarg 3 // value
.locals init ([0]int32 't0')
dup
stloc 0 // t0
stfld int32 'T'::'x'
ldloc 0 // t0
stfld int32 'T'::'x'
ret
.maxstack 4
} // end of method T.set_Item
.method hidebysig specialname rtspecialname public void .ctor(int32 'x') {
ldarg.0
call instance void [mscorlib]System.Object::.ctor()
ldarg.0
ldarg 1 // x
stfld int32 'T'::'x'
ret
.maxstack 2
} // end of constructor T.T
.method hidebysig public instance void 'print'() {
ldstr "{0}"
ldarg.0
ldfld int32 'T'::'x'
box int32
call void [mscorlib]System.Console::'WriteLine'(string,object)
ret
.maxstack 2
} // end of method T.print
.method hidebysig static public void 'Main'() {
.entrypoint
.locals init ([0]class 'T' 't0')
.locals init ([1]class 'T' 't1')
ldc.i4 1
newobj instance void 'T'::.ctor(int32)
stloc 0 // a
ldc.i4 10
newobj instance void 'T'::.ctor(int32)
stloc 1 // b
ldloc 0 // a
call instance void 'T'::'print'()
ldloc 1 // b
call instance void 'T'::'print'()
ldstr "{0}"
ldloc 0 // a
ldc.i4 2
ldloc 1 // b
call instance int32 'T'::'get_Item'(int32,class 'T')
box int32
call void [mscorlib]System.Console::'WriteLine'(string,object)
ldloc 0 // a
ldc.i4 2
ldloc 1 // b
ldc.i4 20
call instance void 'T'::'set_Item'(int32,class 'T',int32)
ldloc 0 // a
call instance void 'T'::'print'()
ldloc 1 // b
call instance void 'T'::'print'()
ldstr "{0}"
ldloc 0 // a
.locals init ([2]class 'T' 't2')
dup
stloc 2 // t2
ldc.i4 2
ldloc 1 // b
.locals init ([3]class 'T' 't3')
dup
stloc 3 // t3
call instance int32 'T'::'get_Item'(int32,class 'T')
dup
ldc.i4.1
add
.locals init ([4]int32 't4')
stloc 4 // t4
ldloc 2 // t2
ldc.i4 2
ldloc 3 // t3
ldloc 4 // t4
call instance void 'T'::'set_Item'(int32,class 'T',int32)
box int32
call void [mscorlib]System.Console::'WriteLine'(string,object)
ldloc 1 // b
call instance void 'T'::'print'()
ldloc 0 // a
.locals init ([5]class 'T' 't5')
dup
stloc 5 // t5
ldc.i4 2
ldloc 1 // b
.locals init ([6]class 'T' 't6')
dup
stloc 6 // t6
call instance int32 'T'::'get_Item'(int32,class 'T')
ldc.i4 5
add
.locals init ([7]int32 't7')
stloc 7 // t7
ldloc 5 // t5
ldc.i4 2
ldloc 6 // t6
ldloc 7 // t7
call instance void 'T'::'set_Item'(int32,class 'T',int32)
ldloc 0 // a
call instance void 'T'::'print'()
ldloc 1 // b
call instance void 'T'::'print'()
ret
.maxstack 6
} // end of method T.Main
} // end of class T