diff --git a/compiler/testData/loadJava/compiledKotlin/enum/enumWithInnerClasses.kt b/compiler/testData/loadJava/compiledKotlin/enum/enumWithInnerClasses.kt new file mode 100644 index 00000000000..6d89bdebdbf --- /dev/null +++ b/compiler/testData/loadJava/compiledKotlin/enum/enumWithInnerClasses.kt @@ -0,0 +1,16 @@ +//ALLOW_AST_ACCESS +package test + +enum class Enum { + ENTRY1 ENTRY2 + + inner class Inner + + class Nested + + trait Trait + + val c: Int = 1 + + fun f(): Int = 2 +} \ No newline at end of file diff --git a/compiler/testData/loadJava/compiledKotlin/enum/enumWithInnerClasses.txt b/compiler/testData/loadJava/compiledKotlin/enum/enumWithInnerClasses.txt new file mode 100644 index 00000000000..620bf922988 --- /dev/null +++ b/compiler/testData/loadJava/compiledKotlin/enum/enumWithInnerClasses.txt @@ -0,0 +1,66 @@ +package test + +internal final enum class Enum : kotlin.Enum { + public enum entry ENTRY1 : test.Enum { + /*primary*/ private constructor ENTRY1() + internal final override /*1*/ /*fake_override*/ val c: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Int + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: test.Enum): kotlin.Int + internal final override /*1*/ /*fake_override*/ fun f(): kotlin.Int + public final override /*1*/ /*fake_override*/ fun name(): kotlin.String + public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int + + public class object : test.Enum.ENTRY1 { + /*primary*/ private constructor () + internal final override /*1*/ /*fake_override*/ val c: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Int + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: test.Enum): kotlin.Int + internal final override /*1*/ /*fake_override*/ fun f(): kotlin.Int + public final override /*1*/ /*fake_override*/ fun name(): kotlin.String + public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int + } + } + + public enum entry ENTRY2 : test.Enum { + /*primary*/ private constructor ENTRY2() + internal final override /*1*/ /*fake_override*/ val c: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Int + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: test.Enum): kotlin.Int + internal final override /*1*/ /*fake_override*/ fun f(): kotlin.Int + public final override /*1*/ /*fake_override*/ fun name(): kotlin.String + public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int + + public class object : test.Enum.ENTRY2 { + /*primary*/ private constructor () + internal final override /*1*/ /*fake_override*/ val c: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Int + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: test.Enum): kotlin.Int + internal final override /*1*/ /*fake_override*/ fun f(): kotlin.Int + public final override /*1*/ /*fake_override*/ fun name(): kotlin.String + public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int + } + } + + /*primary*/ private constructor Enum() + internal final val c: kotlin.Int = 1 + internal final fun (): kotlin.Int + public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: test.Enum): kotlin.Int + internal final fun f(): kotlin.Int + public final override /*1*/ /*fake_override*/ fun name(): kotlin.String + public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int + + internal final inner class Inner { + /*primary*/ public constructor Inner() + } + + internal final class Nested { + /*primary*/ public constructor Nested() + } + + internal trait Trait { + } + + // Static members + public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): test.Enum + public final /*synthesized*/ fun values(): kotlin.Array +} diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java index db0d29a9367..de32ee7b8f0 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java @@ -2752,6 +2752,12 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest { doTestCompiledKotlin(fileName); } + @TestMetadata("enumWithInnerClasses.kt") + public void testEnumWithInnerClasses() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledKotlin/enum/enumWithInnerClasses.kt"); + doTestCompiledKotlin(fileName); + } + @TestMetadata("innerEnum.kt") public void testInnerEnum() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledKotlin/enum/innerEnum.kt"); diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveRecursiveComparingTestGenerated.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveRecursiveComparingTestGenerated.java index bf682b13dd6..12645092706 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveRecursiveComparingTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveRecursiveComparingTestGenerated.java @@ -984,6 +984,12 @@ public class LazyResolveRecursiveComparingTestGenerated extends AbstractLazyReso doTest(fileName); } + @TestMetadata("enumWithInnerClasses.kt") + public void testEnumWithInnerClasses() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledKotlin/enum/enumWithInnerClasses.kt"); + doTest(fileName); + } + @TestMetadata("innerEnum.kt") public void testInnerEnum() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledKotlin/enum/innerEnum.kt"); diff --git a/idea/tests/org/jetbrains/jet/plugin/stubs/LazyResolveByStubTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/stubs/LazyResolveByStubTestGenerated.java index 0326f7d3604..6efa02295ed 100644 --- a/idea/tests/org/jetbrains/jet/plugin/stubs/LazyResolveByStubTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/stubs/LazyResolveByStubTestGenerated.java @@ -981,6 +981,12 @@ public class LazyResolveByStubTestGenerated extends AbstractLazyResolveByStubTes doTest(fileName); } + @TestMetadata("enumWithInnerClasses.kt") + public void testEnumWithInnerClasses() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledKotlin/enum/enumWithInnerClasses.kt"); + doTest(fileName); + } + @TestMetadata("innerEnum.kt") public void testInnerEnum() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/loadJava/compiledKotlin/enum/innerEnum.kt");