singrdk/base/Windows/csic/test/4darray.il.expected

158 lines
3.5 KiB
Plaintext
Raw Permalink Normal View History

2008-11-17 18:29:00 -05:00
.assembly '4darray' { }
.assembly extern 'mscorlib' {
.ver 1:0:5000:0
.publickeytoken = ( b7 7a 5c 56 19 34 e0 89 )
}
.class sealed 'X'
extends [mscorlib]System.ValueType
{
.field public int32 'a'
.field public int32 'b'
.method hidebysig specialname rtspecialname public void .ctor(int32 'a',int32 'b') {
ldarg.0
ldarg 1 // a
stfld int32 'X'::'a'
ldarg.0
ldarg 2 // b
stfld int32 'X'::'b'
ret
.maxstack 2
} // end of constructor X.X
} // end of struct X
.class 'T'
extends [mscorlib]System.Object
{
.method hidebysig static public void 'print'(int32 'x') {
ldstr "{0}"
ldarg 0 // 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]int32[0...,0...,0...,0...] 't0')
ldc.i4 5
ldc.i4 5
ldc.i4 5
ldc.i4 5
newobj instance void int32[0...,0...,0...,0...]::.ctor(int32,int32,int32,int32)
stloc 0 // a
ldloc 0 // a
ldc.i4 1
ldc.i4 2
ldc.i4 3
ldc.i4 4
call instance int32 & int32[0...,0...,0...,0...]::Address(int32,int32,int32,int32)
ldloc 0 // a
ldc.i4 4
ldc.i4 3
ldc.i4 2
ldc.i4 1
call instance int32 & int32[0...,0...,0...,0...]::Address(int32,int32,int32,int32)
call void 'T'::'f'(int32&,int32&)
ldloc 0 // a
ldc.i4 4
ldc.i4 4
ldc.i4 4
ldc.i4 4
ldloc 0 // a
ldc.i4 1
ldc.i4 2
ldc.i4 3
ldc.i4 4
call instance int32 int32[0...,0...,0...,0...]::Get(int32,int32,int32,int32)
call instance void int32[0...,0...,0...,0...]::Set(int32,int32,int32,int32,int32)
ldloc 0 // a
ldc.i4 1
ldc.i4 2
ldc.i4 3
ldc.i4 4
call instance int32 int32[0...,0...,0...,0...]::Get(int32,int32,int32,int32)
call void 'T'::'print'(int32)
ldloc 0 // a
ldc.i4 4
ldc.i4 3
ldc.i4 2
ldc.i4 1
call instance int32 int32[0...,0...,0...,0...]::Get(int32,int32,int32,int32)
call void 'T'::'print'(int32)
.locals init ([1]int32 't1')
ldc.i4 0
stloc 1 // sum
.locals init ([2]int32 't2')
.locals init ([3]class [mscorlib]System.Collections.IEnumerator 't3')
ldloc 0 // a
callvirt instance class [mscorlib]System.Collections.IEnumerator [mscorlib]System.Array::'GetEnumerator'()
stloc 3 // t3
.try {
br $2
$1:
ldloc 3 // t3
callvirt instance object [mscorlib]System.Collections.IEnumerator::'get_Current'()
unbox int32
ldind.i4
stloc 2 // i
ldloc 1 // sum
ldloc 2 // i
add
.locals init ([4]int32 't4')
stloc 4 // t4
ldloc 4 // t4
stloc 1 // sum
$2:
ldloc 3 // t3
callvirt instance bool [mscorlib]System.Collections.IEnumerator::'MoveNext'()
brtrue $1
$3:
leave $5
}
finally {
ldloc 3 // t3
.locals init ([5]class [mscorlib]System.IDisposable 't5')
isinst class [mscorlib]System.IDisposable
stloc 5 // t5
ldloc 5 // t5
brfalse $6
ldloc 5 // t5
callvirt instance void [mscorlib]System.IDisposable::'Dispose'()
$6:
endfinally
} // end .try
$5:
$4:
ldstr "{0} {1}"
ldloc 1 // sum
box int32
ldloc 0 // a
call instance int32 [mscorlib]System.Array::'get_Length'()
box int32
call void [mscorlib]System.Console::'WriteLine'(string,object,object)
ret
.maxstack 10
} // end of method T.Main
.method hidebysig static private void 'f'(int32& 'a',int32& 'b') {
ldarg 0 // a
ldind.i4
ldc.i4 1
add
.locals init ([0]int32 't0')
stloc 0 // t0
ldarg 0 // a
ldloc 0 // t0
stind.i4
ldarg 1 // b
ldc.i4 2
stind.i4
ret
.maxstack 2
} // end of method T.f
.method hidebysig specialname rtspecialname public void .ctor() {
ldarg.0
call instance void [mscorlib]System.Object::.ctor()
ret
.maxstack 1
} // end of constructor T.T
} // end of class T