[FIR] Prohibit access to members of companion of enum from enum entry initializer
^KT-49110
This commit is contained in:
committed by
TeamCityServer
parent
58889a2b5c
commit
877b53201b
Vendored
+39
@@ -0,0 +1,39 @@
|
||||
// LANGUAGE: +ProhibitAccessToEnumCompanionMembersInEnumConstructorCall
|
||||
// ISSUE: KT-49110
|
||||
|
||||
enum class SomeEnum(val x: Int) {
|
||||
A(<!UNINITIALIZED_ENUM_COMPANION!>companionFun<!>().length),// UNINITIALIZED_ENUM_COMPANION
|
||||
B(<!UNINITIALIZED_VARIABLE!>companionProp<!>.length), // UNINITIALIZED_VARIABLE
|
||||
|
||||
C(SomeEnum.<!UNINITIALIZED_ENUM_COMPANION!>companionFun<!>().length),
|
||||
D(<!UNINITIALIZED_VARIABLE!>SomeEnum.companionProp<!>.length),
|
||||
|
||||
E(SomeEnum.<!UNINITIALIZED_ENUM_COMPANION!>Companion<!>.companionFun().length),
|
||||
F(<!UNINITIALIZED_VARIABLE!>SomeEnum.Companion.companionProp<!>.length); // UNINITIALIZED_VARIABLE
|
||||
|
||||
companion object {
|
||||
val companionProp = "someString"
|
||||
fun companionFun(): String = "someString"
|
||||
}
|
||||
}
|
||||
|
||||
enum class OtherEnum(val x: Int) {
|
||||
G(<!UNINITIALIZED_ENUM_COMPANION!>extensionFun<!>().length), // UNINITIALIZED_ENUM_COMPANION
|
||||
H(<!UNINITIALIZED_ENUM_COMPANION!>extensionProp<!>.length),
|
||||
|
||||
I(<!UNINITIALIZED_ENUM_COMPANION!>OtherEnum<!>.extensionFun().length),
|
||||
J(<!UNINITIALIZED_ENUM_COMPANION!>OtherEnum<!>.extensionProp.length),
|
||||
|
||||
K(OtherEnum.<!UNINITIALIZED_ENUM_COMPANION!>Companion<!>.extensionFun().length),
|
||||
L(OtherEnum.<!UNINITIALIZED_ENUM_COMPANION!>Companion<!>.extensionProp.length);
|
||||
|
||||
companion object {
|
||||
val companionProp = "someString"
|
||||
fun companionFun(): String = "someString"
|
||||
}
|
||||
}
|
||||
|
||||
fun OtherEnum.Companion.extensionFun(): String = companionFun()
|
||||
val OtherEnum.Companion.extensionProp: String
|
||||
get() = companionProp
|
||||
|
||||
Vendored
-1
@@ -1,5 +1,4 @@
|
||||
// LANGUAGE: +ProhibitAccessToEnumCompanionMembersInEnumConstructorCall
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-49110
|
||||
|
||||
enum class SomeEnum(val x: Int) {
|
||||
|
||||
Vendored
+6
-6
@@ -18,14 +18,14 @@ enum class SomeEnum(val x: Int) {
|
||||
}
|
||||
|
||||
enum class OtherEnum(val x: Int) {
|
||||
G(extensionFun().length), // UNINITIALIZED_ENUM_COMPANION
|
||||
H(extensionProp.length),
|
||||
G(<!UNINITIALIZED_ENUM_COMPANION!>extensionFun<!>().length), // UNINITIALIZED_ENUM_COMPANION
|
||||
H(<!UNINITIALIZED_ENUM_COMPANION!>extensionProp<!>.length),
|
||||
|
||||
I(OtherEnum.extensionFun().length),
|
||||
J(OtherEnum.extensionProp.length),
|
||||
I(<!UNINITIALIZED_ENUM_COMPANION!>OtherEnum<!>.extensionFun().length),
|
||||
J(<!UNINITIALIZED_ENUM_COMPANION!>OtherEnum<!>.extensionProp.length),
|
||||
|
||||
K(OtherEnum.Companion.extensionFun().length),
|
||||
L(OtherEnum.Companion.extensionProp.length);
|
||||
K(OtherEnum.<!UNINITIALIZED_ENUM_COMPANION!>Companion<!>.extensionFun().length),
|
||||
L(OtherEnum.<!UNINITIALIZED_ENUM_COMPANION!>Companion<!>.extensionProp.length);
|
||||
|
||||
companion object {
|
||||
val companionProp = "someString"
|
||||
|
||||
Reference in New Issue
Block a user