diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-11-23 19:09:09 +0900 |
commit | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (patch) | |
tree | 98110734c91668dfdbb126fcc0e15ddbd93738ca /tests/src/Loader/classloader/InterfaceFolding/Nested_J_Nested_I/TestCase1.il | |
parent | fa45f57ed55137c75ac870356a1b8f76c84b229c (diff) | |
download | coreclr-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.il | 88 |
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 |