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

100 lines
1.9 KiB
Plaintext

.assembly 'usingstmt' { }
.assembly extern 'mscorlib' {
.ver 1:0:5000:0
.publickeytoken = ( b7 7a 5c 56 19 34 e0 89 )
}
.class sealed 'P'
extends [mscorlib]System.ValueType
implements [mscorlib]System.IDisposable
{
.field public int32 'x'
.field public int32 'y'
.method hidebysig public virtual final instance void 'Dispose'() {
.override [mscorlib]System.IDisposable::'Dispose'
ret
.maxstack 0
} // end of method P.Dispose
.method hidebysig specialname rtspecialname public void .ctor(int32 'x') {
ldarg.0
ldarg 1 // x
stfld int32 'P'::'x'
ldarg.0
ldc.i4 1
stfld int32 'P'::'y'
ret
.maxstack 2
} // end of constructor P.P
} // end of struct P
.class 'T'
extends [mscorlib]System.Object
{
.method hidebysig static public void 'Main'() {
.entrypoint
.locals init ([0]value class 'P' 't0')
ldloca 0 // a
ldc.i4 0
stfld int32 'P'::'x'
ldloca 0 // a
ldc.i4 1
stfld int32 'P'::'y'
br $2
$1:
.locals init ([1]value class 'P' 'x')
.locals init ([2]value class 'P' 't2')
ldloca 2 // t2
initobj value class 'P'
ldloc 2 // t2
stloc 1 // x
.locals init ([3]value class 'P' 'y')
ldloc 1 // x
stloc 3 // y
.try {
ldloca 1 // x
ldfld int32 'P'::'x'
ldloca 3 // y
ldfld int32 'P'::'x'
bne.un $6
leave $3
$6:
$7:
leave $8
leave $5
}
finally {
ldloca 3 // y
callvirt instance void 'P'::'Dispose'()
ldloca 1 // x
callvirt instance void 'P'::'Dispose'()
endfinally
} // end .try
$5:
$4:
$2:
ldc.i4 1
brtrue $1
$3:
$8:
.locals init ([4]value class 'P' 't4')
ldloc 0 // a
stloc 4 // t4
.try {
leave $10
}
finally {
ldloca 4 // t4
callvirt instance void 'P'::'Dispose'()
endfinally
} // end .try
$10:
$9:
ret
.maxstack 2
} // end of method T.Main
.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