From 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b Mon Sep 17 00:00:00 2001 From: Jiyoung Yun Date: Wed, 23 Nov 2016 19:09:09 +0900 Subject: Imported Upstream version 1.1.0 --- .../Nested_I_Nested_J/TestCase3.il | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 tests/src/Loader/classloader/InterfaceFolding/Nested_I_Nested_J/TestCase3.il (limited to 'tests/src/Loader/classloader/InterfaceFolding/Nested_I_Nested_J/TestCase3.il') diff --git a/tests/src/Loader/classloader/InterfaceFolding/Nested_I_Nested_J/TestCase3.il b/tests/src/Loader/classloader/InterfaceFolding/Nested_I_Nested_J/TestCase3.il new file mode 100644 index 0000000000..ea83a0f390 --- /dev/null +++ b/tests/src/Loader/classloader/InterfaceFolding/Nested_I_Nested_J/TestCase3.il @@ -0,0 +1,90 @@ +// 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 TestCase3 {} + + +// =============== CLASS MEMBERS DECLARATION =================== +.class private abstract auto ansi beforefieldinit A`1 + implements class A`1/I`1 +{ + .class interface nested family abstract auto ansi I`1 + { + .method public hidebysig newslot abstract virtual instance string Foo() cil managed {} + .class interface nested public abstract auto ansi J + { + .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 specialname rtspecialname instance void .ctor() cil managed {} +} + +.class private auto ansi beforefieldinit B`2 + extends class A`1 + implements class A`1/I`1, A`1/I`1/J +{ + .method public hidebysig newslot virtual instance string Foo() cil managed + { + ldstr "B::Foo" + ret + } + .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 +{ .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 "B::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 -- cgit v1.2.3