diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetInitializerList.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetInitializerList.java index 941ca7fabcb..418ba9e31da 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetInitializerList.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetInitializerList.java @@ -23,6 +23,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.psi.stubs.PsiJetPlaceHolderStub; import org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes; +import java.util.Arrays; import java.util.List; public class JetInitializerList extends JetElementImplStub> { @@ -41,6 +42,6 @@ public class JetInitializerList extends JetElementImplStub getInitializers() { - return PsiTreeUtil.getChildrenOfTypeAsList(this, JetDelegationSpecifier.class); + return Arrays.asList(getStubOrPsiChildren(JetStubElementTypes.DELEGATION_SPECIFIER_TYPES, JetDelegationSpecifier.ARRAY_FACTORY)); } } diff --git a/compiler/testData/loadJava/compiledKotlin/enum/enumWithConstuctor.kt b/compiler/testData/loadJava/compiledKotlin/enum/enumWithConstuctor.kt new file mode 100644 index 00000000000..f49dacffaf1 --- /dev/null +++ b/compiler/testData/loadJava/compiledKotlin/enum/enumWithConstuctor.kt @@ -0,0 +1,7 @@ +package test + +enum class En(val b: Boolean = true, val i: Int = 0) { + E1: En() + E2: En(true, 1) + E3: En(i = 2) +} diff --git a/compiler/testData/loadJava/compiledKotlin/enum/enumWithConstuctor.txt b/compiler/testData/loadJava/compiledKotlin/enum/enumWithConstuctor.txt new file mode 100644 index 00000000000..4b981726126 --- /dev/null +++ b/compiler/testData/loadJava/compiledKotlin/enum/enumWithConstuctor.txt @@ -0,0 +1,77 @@ +package test + +internal final enum class En : kotlin.Enum { + /*primary*/ private constructor En(/*0*/ b: kotlin.Boolean = ..., /*1*/ i: kotlin.Int = ...) + internal final val b: kotlin.Boolean + internal final fun (): kotlin.Boolean + internal final val i: kotlin.Int + internal final fun (): 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 { + /*primary*/ private constructor () + public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): test.En + public final /*synthesized*/ fun values(): kotlin.Array + } + + public enum entry E1 : test.En { + /*primary*/ private constructor E1() + internal final override /*1*/ /*fake_override*/ val b: kotlin.Boolean + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Boolean + internal final override /*1*/ /*fake_override*/ val i: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): 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.En.E1 { + /*primary*/ private constructor () + internal final override /*1*/ /*fake_override*/ val b: kotlin.Boolean + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Boolean + internal final override /*1*/ /*fake_override*/ val i: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): 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 E2 : test.En { + /*primary*/ private constructor E2() + internal final override /*1*/ /*fake_override*/ val b: kotlin.Boolean + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Boolean + internal final override /*1*/ /*fake_override*/ val i: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): 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.En.E2 { + /*primary*/ private constructor () + internal final override /*1*/ /*fake_override*/ val b: kotlin.Boolean + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Boolean + internal final override /*1*/ /*fake_override*/ val i: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): 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 E3 : test.En { + /*primary*/ private constructor E3() + internal final override /*1*/ /*fake_override*/ val b: kotlin.Boolean + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Boolean + internal final override /*1*/ /*fake_override*/ val i: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): 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.En.E3 { + /*primary*/ private constructor () + internal final override /*1*/ /*fake_override*/ val b: kotlin.Boolean + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Boolean + internal final override /*1*/ /*fake_override*/ val i: kotlin.Int + internal final override /*1*/ /*fake_override*/ fun (): kotlin.Int + public final override /*1*/ /*fake_override*/ fun name(): kotlin.String + public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int + } + } +} diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java index 44cccdd9919..50acd433385 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java @@ -2266,6 +2266,11 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest { doTestCompiledKotlin("compiler/testData/loadJava/compiledKotlin/enum/enumVisibility.kt"); } + @TestMetadata("enumWithConstuctor.kt") + public void testEnumWithConstuctor() throws Exception { + doTestCompiledKotlin("compiler/testData/loadJava/compiledKotlin/enum/enumWithConstuctor.kt"); + } + @TestMetadata("innerEnum.kt") public void testInnerEnum() throws Exception { doTestCompiledKotlin("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 c7b75b0fffe..b7edf8a8a51 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveRecursiveComparingTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveRecursiveComparingTestGenerated.java @@ -744,6 +744,11 @@ public class LazyResolveRecursiveComparingTestGenerated extends AbstractLazyReso doTestCheckingPrimaryConstructorsAndAccessors("compiler/testData/loadJava/compiledKotlin/enum/enumVisibility.kt"); } + @TestMetadata("enumWithConstuctor.kt") + public void testEnumWithConstuctor() throws Exception { + doTestCheckingPrimaryConstructorsAndAccessors("compiler/testData/loadJava/compiledKotlin/enum/enumWithConstuctor.kt"); + } + @TestMetadata("innerEnum.kt") public void testInnerEnum() throws Exception { doTestCheckingPrimaryConstructorsAndAccessors("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 8b4dc845574..1fa5e65fc53 100644 --- a/idea/tests/org/jetbrains/jet/plugin/stubs/LazyResolveByStubTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/stubs/LazyResolveByStubTestGenerated.java @@ -744,6 +744,11 @@ public class LazyResolveByStubTestGenerated extends AbstractLazyResolveByStubTes doTestCheckingPrimaryConstructorsAndAccessors("compiler/testData/loadJava/compiledKotlin/enum/enumVisibility.kt"); } + @TestMetadata("enumWithConstuctor.kt") + public void testEnumWithConstuctor() throws Exception { + doTestCheckingPrimaryConstructorsAndAccessors("compiler/testData/loadJava/compiledKotlin/enum/enumWithConstuctor.kt"); + } + @TestMetadata("innerEnum.kt") public void testInnerEnum() throws Exception { doTestCheckingPrimaryConstructorsAndAccessors("compiler/testData/loadJava/compiledKotlin/enum/innerEnum.kt");