From b5b6f58b6b2b88f698d24dfbc0e3c0ac7d297570 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Sun, 11 Nov 2012 15:12:05 +0400 Subject: [PATCH] Test for resolving inner classes --- .../staticMembers/DeeplyInnerClass.java | 13 +++++++++++++ .../DeeplyInnerClass_non_static.txt | 17 +++++++++++++++++ .../staticMembers/DeeplyInnerClass_static.txt | 2 ++ ...StaticMembersJavaDescriptorResolverTest.java | 4 ++++ 4 files changed, 36 insertions(+) create mode 100644 compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass.java create mode 100644 compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass_non_static.txt create mode 100644 compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass_static.txt diff --git a/compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass.java b/compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass.java new file mode 100644 index 00000000000..b177f4784c9 --- /dev/null +++ b/compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass.java @@ -0,0 +1,13 @@ +package test; + +public class DeeplyInnerClass { + class A { + void a() {} + class B { + void b() {} + class C { + void c() {} + } + } + } +} \ No newline at end of file diff --git a/compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass_non_static.txt b/compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass_non_static.txt new file mode 100644 index 00000000000..8c0d66ac890 --- /dev/null +++ b/compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass_non_static.txt @@ -0,0 +1,17 @@ +namespace test + +public open class test.DeeplyInnerClass : java.lang.Object { + public final /*constructor*/ fun (): test.DeeplyInnerClass + package open class test.DeeplyInnerClass.A : java.lang.Object { + package final /*constructor*/ fun (): test.DeeplyInnerClass.A + package open fun a(): jet.Tuple0 + package open class test.DeeplyInnerClass.A.B : java.lang.Object { + package final /*constructor*/ fun (): test.DeeplyInnerClass.A.B + package open fun b(): jet.Tuple0 + package open class test.DeeplyInnerClass.A.B.C : java.lang.Object { + package final /*constructor*/ fun (): test.DeeplyInnerClass.A.B.C + package open fun c(): jet.Tuple0 + } + } + } +} diff --git a/compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass_static.txt b/compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass_static.txt new file mode 100644 index 00000000000..773e59b1f3c --- /dev/null +++ b/compiler/testData/javaDescriptorResolver/staticMembers/DeeplyInnerClass_static.txt @@ -0,0 +1,2 @@ +namespace DeeplyInnerClass + diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/StaticMembersJavaDescriptorResolverTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/StaticMembersJavaDescriptorResolverTest.java index 789cbbd9897..fca52f895d8 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/StaticMembersJavaDescriptorResolverTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/StaticMembersJavaDescriptorResolverTest.java @@ -46,6 +46,10 @@ public final class StaticMembersJavaDescriptorResolverTest extends AbstractJavaR doTest(); } + public void testDeeplyInnerClass() throws Exception { + doTest(); + } + private void doTest() throws IOException { String name = getTestName(false); compileJavaFile(name + ".java");