Merge pull request #5428 from kumpera/wasm-support-p2
[mono.git] / mono / tests / load-missing.il
index f031e4cf03e7776396327684b92593acf3748783..1ae933d277bc598f764b08c4a6f4cf3796d09daf 100644 (file)
 {\r
   .ver 0:0:0:0\r
 }\r
+.assembly extern notFoundAssembly\r
+{\r
+  .ver 0:0:0:0\r
+}\r
 \r
 .assembly 'load-missing'\r
 {\r
@@ -62,7 +66,7 @@
     }\r
 \r
     .method public hidebysig newslot virtual \r
-            instance void  Invoke([t]Missing t) runtime managed\r
+            instance void  Invoke(class [t]Missing t) runtime managed\r
     {\r
     }\r
 \r
   {\r
     .maxstack 8\r
     ldstr "Hello"\r
-    call void class [mscorlib]System.String::Trim([mscorlib]MissingType)\r
+    call void class [mscorlib]System.String::Trim(class [mscorlib]MissingType)\r
     ret\r
   }\r
 \r
     IL_0001:  newobj     instance void LoadMissing::.ctor()\r
     IL_0006:  stloc.0\r
     IL_0007:  ldloc.0\r
-    IL_0008:  ldftn      instance void LoadMissing::delegate_target()\r
+    IL_0008:  ldftn      void LoadMissing::delegate_target()\r
     IL_000e:  newobj     instance void DelegateWithMissingArgument::.ctor(object,\r
                                                                           native int)\r
     IL_0013:  stloc.1\r
 }\r
 \r
 .class public auto ansi beforefieldinit BrokenClass\r
-       extends [mscorlib]System.Object1\r
+       extends [t]Missing.Foo1\r
 {\r
 }\r
 \r
 \r
 .class public auto ansi beforefieldinit BadMethodOverride1\r
 {\r
-       .method public virtual virtual newslot default int32 foo ()\r
+       .method public virtual newslot default int32 foo ()\r
        {\r
                .override class TestIface::foo\r
                ldc.i4.0\r
 \r
 .class public auto ansi beforefieldinit RandomBaseClass\r
 {\r
-       .method public virtual virtual newslot default int32 foo ()\r
+       .method public virtual newslot default int32 foo ()\r
+       {\r
+               ldc.i4.0\r
+               ret\r
+       }\r
+\r
+       .method public static int32 foo2 ()\r
        {\r
                ldc.i4.0\r
                ret\r
 \r
 .class public auto ansi beforefieldinit BadMethodOverride2\r
 {\r
-       .method public virtual virtual newslot default int32 foo ()\r
+       .method public virtual newslot default int32 foo ()\r
        {\r
                .override class RandomBaseClass::foo\r
                ldc.i4.0\r
        }\r
 }\r
 \r
+.class public auto ansi beforefieldinit BadMethodOverride3 implements TestIface\r
+{\r
+       .method public default int32 foo ()\r
+       {\r
+               .override class TestIface::foo\r
+               ldc.i4.0\r
+               ret\r
+       }\r
+\r
+       .method public hidebysig  specialname  rtspecialname  instance default void '.ctor' ()  cil managed \r
+    {\r
+               ldarg.0                                \r
+               call instance void object::'.ctor'()   \r
+               ret                                    \r
+       }\r
+}\r
+\r
+.class public auto ansi beforefieldinit BadMethodOverride4 extends RandomBaseClass\r
+{\r
+       .method public virtual default int32 foo2 ()\r
+       {\r
+               .override class RandomBaseClass::foo2\r
+               ldc.i4.0\r
+               ret\r
+       }\r
+\r
+       .method public hidebysig  specialname  rtspecialname  instance default void '.ctor' ()  cil managed \r
+    {\r
+               ldarg.0                                \r
+               call instance void RandomBaseClass::'.ctor'()   \r
+               ret                                    \r
+       }\r
+}\r
+\r
 .class public auto ansi beforefieldinit BadOverridesDriver\r
 {\r
        .method public static void bad_override1 ()\r
                ret\r
        }\r
 \r
+       .method public static void bad_override3 ()\r
+       {\r
+               newobj instance void BadMethodOverride3::.ctor()\r
+               pop\r
+               ret\r
+       }\r
+\r
+       .method public static void bad_override4 ()\r
+       {\r
+               newobj instance void BadMethodOverride4::.ctor()\r
+               pop\r
+               ret\r
+       }\r
+}\r
+\r
+.class public auto ansi beforefieldinit FieldWithMissingType\r
+{\r
+       .field  public class [t]Missing BrokenField\r
+    .field  public static int32 WorkingField\r
+}\r
+\r
+.class public auto ansi beforefieldinit FieldWithMissingCustomAttribute\r
+{\r
+    .field     public object f\r
+    .custom    instance void class [notFoundAssembly]SomeAttribute::'.ctor'() = (01 00 00 00 ) // ....\r
 }\r