140 lines
3.1 KiB
Plaintext
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
|