151 lines
2.7 KiB
Plaintext
151 lines
2.7 KiB
Plaintext
.assembly 'params' { }
|
|
.assembly extern 'mscorlib' {
|
|
.ver 1:0:5000:0
|
|
.publickeytoken = ( b7 7a 5c 56 19 34 e0 89 )
|
|
}
|
|
.class public 'test'
|
|
extends [mscorlib]System.Object
|
|
{
|
|
.property instance int32 Item(string[]) {
|
|
.get instance int32 'test'::'get_Item'(string[])
|
|
.set instance void 'test'::'set_Item'(string[],int32)
|
|
} // end of property Item
|
|
.method hidebysig specialname public instance int32 'get_Item'(string[] 'args') {
|
|
.locals init ([0]int32 't0')
|
|
ldc.i4 1
|
|
stloc 0 // t0
|
|
br $1
|
|
$1:
|
|
ldloc 0 // t0
|
|
ret
|
|
.maxstack 1
|
|
} // end of method test.get_Item
|
|
.method hidebysig specialname public instance void 'set_Item'(string[] 'args',int32 'value') {
|
|
ldarg 1 // args
|
|
call void 'test'::'print'(string[])
|
|
ldstr "value={0}"
|
|
ldarg 2 // value
|
|
box int32
|
|
call void [mscorlib]System.Console::'WriteLine'(string,object)
|
|
ret
|
|
.maxstack 2
|
|
} // end of method test.set_Item
|
|
.method hidebysig static private void 'print'(string[] 'args') {
|
|
ldarg 0 // args
|
|
ldlen
|
|
conv.i4
|
|
ldc.i4 0
|
|
bne.un $1
|
|
ldstr "no arguments"
|
|
call void [mscorlib]System.Console::'WriteLine'(string)
|
|
br $2
|
|
$1:
|
|
.locals init ([0]string 't0')
|
|
.locals init ([1]int32 't1')
|
|
.locals init ([2]string[] 't2')
|
|
ldarg 0 // args
|
|
stloc 2 // t2
|
|
ldc.i4.0
|
|
stloc 1 // t1
|
|
br $6
|
|
$3:
|
|
ldloc 2 // t2
|
|
ldloc 1 // t1
|
|
ldelem.ref
|
|
stloc 0 // s
|
|
ldloc 0 // s
|
|
call void [mscorlib]System.Console::'Write'(string)
|
|
$4:
|
|
ldloc 1 // t1
|
|
ldc.i4.1
|
|
add
|
|
stloc 1 // t1
|
|
$6:
|
|
ldloc 1 // t1
|
|
ldloc 2 // t2
|
|
ldlen
|
|
conv.i4
|
|
blt $3
|
|
$5:
|
|
$2:
|
|
ret
|
|
.maxstack 2
|
|
} // end of method test.print
|
|
.method hidebysig static public void 'Main'() {
|
|
.entrypoint
|
|
ldc.i4 4
|
|
newarr string
|
|
dup
|
|
ldc.i4 0
|
|
ldstr "Hello"
|
|
stelem.ref
|
|
dup
|
|
ldc.i4 1
|
|
ldstr " "
|
|
stelem.ref
|
|
dup
|
|
ldc.i4 2
|
|
ldstr "World"
|
|
stelem.ref
|
|
dup
|
|
ldc.i4 3
|
|
ldstr "\n"
|
|
stelem.ref
|
|
call void 'test'::'print'(string[])
|
|
ldc.i4 4
|
|
newarr string
|
|
dup
|
|
ldc.i4 0
|
|
ldstr "Hello"
|
|
stelem.ref
|
|
dup
|
|
ldc.i4 1
|
|
ldstr " "
|
|
stelem.ref
|
|
dup
|
|
ldc.i4 2
|
|
ldstr "World"
|
|
stelem.ref
|
|
dup
|
|
ldc.i4 3
|
|
ldstr "\n"
|
|
stelem.ref
|
|
call void 'test'::'print'(string[])
|
|
.locals init ([0]class 'test' 't0')
|
|
newobj instance void 'test'::.ctor()
|
|
stloc 0 // x
|
|
ldloc 0 // x
|
|
ldc.i4 4
|
|
newarr string
|
|
dup
|
|
ldc.i4 0
|
|
ldstr "Hello"
|
|
stelem.ref
|
|
dup
|
|
ldc.i4 1
|
|
ldstr " "
|
|
stelem.ref
|
|
dup
|
|
ldc.i4 2
|
|
ldstr "World"
|
|
stelem.ref
|
|
dup
|
|
ldc.i4 3
|
|
ldstr "\n"
|
|
stelem.ref
|
|
ldc.i4 2
|
|
call instance void 'test'::'set_Item'(string[],int32)
|
|
ldc.i4 0
|
|
newarr string
|
|
call void 'test'::'print'(string[])
|
|
ret
|
|
.maxstack 5
|
|
} // end of method test.Main
|
|
.method hidebysig specialname rtspecialname public void .ctor() {
|
|
ldarg.0
|
|
call instance void [mscorlib]System.Object::.ctor()
|
|
ret
|
|
.maxstack 1
|
|
} // end of constructor test.test
|
|
} // end of class test
|