summaryrefslogtreecommitdiff
path: root/tests/src/Loader/classloader/InterfaceFolding/Nested_J_Nested_I/TestCase1.il
diff options
context:
space:
mode:
authorJiyoung Yun <jy910.yun@samsung.com>2016-11-23 19:09:09 +0900
committerJiyoung Yun <jy910.yun@samsung.com>2016-11-23 19:09:09 +0900
commit4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (patch)
tree98110734c91668dfdbb126fcc0e15ddbd93738ca /tests/src/Loader/classloader/InterfaceFolding/Nested_J_Nested_I/TestCase1.il
parentfa45f57ed55137c75ac870356a1b8f76c84b229c (diff)
downloadcoreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.gz
coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.bz2
coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.zip
Imported Upstream version 1.1.0upstream/1.1.0
Diffstat (limited to 'tests/src/Loader/classloader/InterfaceFolding/Nested_J_Nested_I/TestCase1.il')
-rw-r--r--tests/src/Loader/classloader/InterfaceFolding/Nested_J_Nested_I/TestCase1.il88
1 files changed, 88 insertions, 0 deletions
diff --git a/tests/src/Loader/classloader/InterfaceFolding/Nested_J_Nested_I/TestCase1.il b/tests/src/Loader/classloader/InterfaceFolding/Nested_J_Nested_I/TestCase1.il
new file mode 100644
index 0000000000..fd46e20202
--- /dev/null
+++ b/tests/src/Loader/classloader/InterfaceFolding/Nested_J_Nested_I/TestCase1.il
@@ -0,0 +1,88 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern mscorlib {}
+.assembly TestCase1 {}
+
+
+// =============== CLASS MEMBERS DECLARATION ===================
+.class private auto ansi beforefieldinit A`1<U>
+ implements class A`1/J/I`1<!U>
+{
+ .class interface nested family abstract auto ansi J
+ {
+ .class interface nested public abstract auto ansi I`1<T>
+ { .method public hidebysig newslot abstract virtual instance string Foo() cil managed {} }
+ .method public hidebysig newslot abstract virtual instance string Bar1() cil managed {}
+ .method public hidebysig newslot abstract virtual instance string Bar2() cil managed {}
+ }
+ .method public hidebysig newslot virtual instance string Foo() cil managed
+ {
+ ldstr "A::Foo"
+ ret
+ }
+ .method public hidebysig specialname rtspecialname instance void .ctor() cil managed {}
+}
+
+.class private auto ansi beforefieldinit B`2<V,W>
+ extends class A`1<!V>
+ implements class A`1/J/I`1<!W>, A`1/J
+{
+ .method public hidebysig newslot virtual instance string Bar1() cil managed
+ {
+ .maxstack 8
+ ldstr "B::Bar1"
+ ret
+ }
+ .method public hidebysig newslot virtual instance string Bar2() cil managed
+ {
+ .maxstack 8
+ ldstr "B::Bar2"
+ ret
+ }
+ .method public hidebysig specialname rtspecialname instance void .ctor() cil managed {}
+}
+
+.class private auto ansi beforefieldinit C extends class B`2<class C,class C>
+{ .method public hidebysig specialname rtspecialname instance void .ctor() cil managed {} }
+
+
+.class public auto ansi beforefieldinit Test extends [mscorlib]System.Object
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+
+ newobj instance void C::.ctor()
+ callvirt instance string class C::Foo()
+ ldstr "A::Foo"
+ call bool [mscorlib]System.String::op_Inequality(string, string)
+ brtrue FAILURE
+
+ newobj instance void C::.ctor()
+ callvirt instance string class C::Bar1()
+ ldstr "B::Bar1"
+ call bool [mscorlib]System.String::op_Inequality(string,string)
+ brtrue FAILURE
+
+ newobj instance void C::.ctor()
+ callvirt instance string class C::Bar2()
+ ldstr "B::Bar2"
+ call bool [mscorlib]System.String::op_Inequality(string,string)
+ brtrue FAILURE
+
+
+PASS:
+ ldstr "Pass"
+ call void [mscorlib]System.Console::WriteLine(string)
+ ldc.i4.s 100
+ ret
+
+FAILURE:
+ ldstr "Failed!"
+ call void [mscorlib]System.Console::WriteLine(string)
+ ldc.i4.m1
+ ret
+ }
+} \ No newline at end of file