linux-packaging-mono/mono/tests/array_load_exception.il
Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

236 lines
5.7 KiB
Plaintext

.assembly extern mscorlib
{
.ver 2:0:0:0
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
}
.assembly extern TestDriver
{
.ver 0:0:0:0
}
.assembly 'test'
{
.custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module test.exe // GUID = {36476DF0-2B03-45C8-B512-E12B67C7C094}
.class interface private auto ansi abstract IFoo
{
// method line 1
.method public virtual hidebysig newslot abstract
instance default int32 A () cil managed
{
// Method begins at RVA 0x0
} // end of method IFoo::A
} // end of class IFoo
.class public auto ansi sealed Dele
extends [mscorlib]System.MulticastDelegate implements IFoo
{
// method line 5
.method public hidebysig specialname rtspecialname
instance default void '.ctor' (object 'object', native int 'method') runtime managed
{
// Method begins at RVA 0x0
// Disassembly of native methods is not supported
} // end of method Dele::.ctor
// method line 6
.method public virtual hidebysig newslot
instance default void Invoke () runtime managed
{
// Method begins at RVA 0x0
// Disassembly of native methods is not supported
} // end of method Dele::Invoke
// method line 7
.method public virtual hidebysig newslot
instance default class [mscorlib]System.IAsyncResult BeginInvoke (class [mscorlib]System.AsyncCallback callback, object 'object') runtime managed
{
// Method begins at RVA 0x0
// Disassembly of native methods is not supported
} // end of method Dele::BeginInvoke
// method line 8
.method public virtual hidebysig newslot
instance default void EndInvoke (class [mscorlib]System.IAsyncResult result) runtime managed
{
// Method begins at RVA 0x0
// Disassembly of native methods is not supported
} // end of method Dele::EndInvoke
} // end of class Dele
.class private auto ansi beforefieldinit Foo
extends [mscorlib]System.Object
implements IFoo {
// method line 2
.method public hidebysig specialname rtspecialname
instance default void '.ctor' () cil managed
{
// Method begins at RVA 0x20ec
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void object::'.ctor'()
IL_0006: ret
} // end of method Foo::.ctor
// method line 4
.method public hidebysig
instance default int32 SSS () cil managed
{
// Method begins at RVA 0x20f8
// Code size 3 (0x3)
.maxstack 8
IL_0000: ldc.i4.s 0x14
IL_0002: ret
} // end of method Foo::SSS
} // end of class Foo
.class public sequential ansi sealed beforefieldinit FooStruct extends [mscorlib]System.ValueType implements IFoo {
.field public int32 blarg
} // end of class FooStruct
.class public auto ansi beforefieldinit Tests
extends [mscorlib]System.Object
{
.method private static hidebysig
default void array_ldelema (class Foo& f) cil managed
{
.maxstack 8
ldarg.0
ldind.ref
callvirt instance int32 class Foo::SSS()
pop
ret
}
.method private static hidebysig
default void array_ldelema (class Foo[] arr) cil managed
{
.maxstack 8
ldarg.0
ldc.i4.0
ldelema Foo
call void class Tests::array_ldelema([out] class Foo&)
ret
}
.method public static hidebysig default int32 test_0_ldelema_type_check () cil managed
{
.maxstack 2
.try {
ldnull
call void class Tests::array_ldelema(class Foo[])
leave BAD
}
catch class [mscorlib]System.TypeLoadException { // 0
call void class [mscorlib]System.Console::WriteLine(object)
leave GOOD
}
BAD:
ldc.i4.1
ret
GOOD:
ldc.i4.0
ret
}
.method public static hidebysig default void delegate_ctor () cil managed
{
.maxstack 4
.locals init (object V_0)
ldnull
ldftn void class Tests::delegate_ctor()
newobj instance void class Dele::'.ctor'(object, native int)
stloc.0
ret
}
// method line 3
.method private static hidebysig default int32 test_0_delegate_ctor () cil managed
{
.maxstack 2
.try {
ldnull
call void class Tests::delegate_ctor()
leave BAD
}
catch class [mscorlib]System.TypeLoadException { // 0
call void class [mscorlib]System.Console::WriteLine(object)
leave GOOD
}
BAD:
ldc.i4.1
ret
GOOD:
ldc.i4.0
ret
}
.method private static hidebysig default void generic_box<(class IFoo) T> () cil managed
{
.maxstack 3
.locals init (!!T V_0, !!T V_1)
ldloca.s 1
initobj !!0
ldloc.1
stloc.0
ldloca.s 0
constrained. !!0
callvirt instance int32 class IFoo::A()
pop
ret
}
.method private static hidebysig default int32 test_0_generic_box () cil managed
{
.maxstack 2
.try {
ldnull
call void class Tests::generic_box<valuetype FooStruct> ()
leave BAD
}
catch class [mscorlib]System.TypeLoadException { // 0
call void class [mscorlib]System.Console::WriteLine(object)
leave GOOD
}
BAD:
ldc.i4.1
ret
GOOD:
ldc.i4.0
ret
}
.method private static hidebysig
default int32 Main () cil managed
{
.entrypoint
ldtoken Tests
call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
call int32 class [TestDriver]TestDriver::RunTests(class [mscorlib]System.Type)
ret
}
}