Inner classes are no more allowed inside enum entries #KT-9750 Fixed
Forbidden use-case deleted from codegen tests
This commit is contained in:
@@ -96,7 +96,7 @@ public object ModifierCheckerCore {
|
||||
)
|
||||
|
||||
val possibleParentTargetMap = mapOf<KtModifierKeywordToken, Set<KotlinTarget>>(
|
||||
INNER_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS, LOCAL_CLASS, ENUM_CLASS, ENUM_ENTRY),
|
||||
INNER_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS, LOCAL_CLASS, ENUM_CLASS),
|
||||
OVERRIDE_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS, LOCAL_CLASS, OBJECT, OBJECT_LITERAL,
|
||||
INTERFACE, ENUM_CLASS, ENUM_ENTRY),
|
||||
PROTECTED_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS, LOCAL_CLASS, ENUM_CLASS, OBJECT),
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
package test
|
||||
|
||||
fun box() = IssueState.DEFAULT.ToString() + IssueState.FIXED.ToString()
|
||||
|
||||
enum class IssueState {
|
||||
DEFAULT {
|
||||
inner class D {
|
||||
val k = ToString()
|
||||
}
|
||||
},
|
||||
FIXED {
|
||||
override fun ToString() = "K"
|
||||
|
||||
inner class D {
|
||||
val k = ToString()
|
||||
}
|
||||
};
|
||||
|
||||
open fun ToString() : String = "O"
|
||||
}
|
||||
@@ -15,8 +15,11 @@ class D {
|
||||
}
|
||||
|
||||
enum class H {
|
||||
I0 {
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> class II0
|
||||
},
|
||||
<!WRONG_MODIFIER_TARGET!>inner<!> I {
|
||||
inner class II
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> class II
|
||||
};
|
||||
|
||||
inner class J
|
||||
|
||||
@@ -82,6 +82,8 @@ public final class D {
|
||||
}
|
||||
|
||||
public final enum class H : kotlin.Enum<H> {
|
||||
enum entry I0
|
||||
|
||||
enum entry I
|
||||
|
||||
private constructor H()
|
||||
|
||||
-6
@@ -3577,12 +3577,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("entrywithinner.kt")
|
||||
public void testEntrywithinner() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/enum/entrywithinner.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("enumInheritedFromTrait.kt")
|
||||
public void testEnumInheritedFromTrait() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/enum/enumInheritedFromTrait.kt");
|
||||
|
||||
Reference in New Issue
Block a user