2007-06-05 Rodrigo Kumpera <kumpera@gmail.com
authorRodrigo Kumpera <kumpera@gmail.com>
Tue, 5 Jun 2007 23:41:16 +0000 (23:41 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Tue, 5 Jun 2007 23:41:16 +0000 (23:41 -0000)
* generics-variance.il: New. Test for variance related generic modifiers <+T> and <-T>

svn path=/trunk/mcs/; revision=78687

mcs/ilasm/tests/ChangeLog
mcs/ilasm/tests/generics-variance.il [new file with mode: 0644]

index 25461b8e849b84c37342f7aca58a1e4c4b27c9fa..c656565ff6651bd3f6b4edf27837e488254d166a 100644 (file)
@@ -1,3 +1,7 @@
+2007-06-05  Rodrigo Kumpera <kumpera@gmail.com
+
+       * generics-variance.il: New. Test for variance related generic modifiers <+T> and <-T> 
+
 2007-01-11  Ankit Jain  <jankit@novell.com>
 
        * test-custom-mod-1.il: New. Test for custom mods.
diff --git a/mcs/ilasm/tests/generics-variance.il b/mcs/ilasm/tests/generics-variance.il
new file mode 100644 (file)
index 0000000..6be5c0e
--- /dev/null
@@ -0,0 +1,43 @@
+//
+// Test a generic type type param field
+//
+
+.assembly extern mscorlib { }
+
+
+.namespace Mono.ILASM.Tests {
+
+.class public Covariant<+T> extends [mscorlib]System.Object {
+
+       .field public !0 val
+
+       .method public instance void .ctor () {
+               ret
+       }
+}
+
+.class public Contravariant<-T> extends [mscorlib]System.Object {
+
+       .field public !0 val
+
+       .method public instance void .ctor () {
+               ret
+       }
+}
+
+.class public Driver extends [mscorlib]System.Object {
+
+       .method public static void Main () {
+               .entrypoint
+               newobj instance void class Mono.ILASM.Tests.Covariant<string>::.ctor ()
+               castclass class Mono.ILASM.Tests.Covariant<object>
+               call void [mscorlib]System.Console::WriteLine (object)
+
+               newobj instance void class Mono.ILASM.Tests.Covariant<object>::.ctor ()
+               castclass class Mono.ILASM.Tests.Covariant<string>
+               call void [mscorlib]System.Console::WriteLine (object)
+               
+               ret
+       }
+}
+}
\ No newline at end of file