Fir2Ir: more precise calculation of enum class modality
Use the same condition as in the already existing `createIrEnumEntry` function (and as in psi2ir): enum class should be final unless there's an enum entry with any declaration other than its constructor. #KT-57216
This commit is contained in:
committed by
Space Team
parent
2cc3b542fd
commit
68b94b07b8
+3
-3
@@ -18,7 +18,7 @@ enum class TestEnum1 : Enum<TestEnum1> {
|
||||
|
||||
}
|
||||
|
||||
open enum class TestEnum2 : Enum<TestEnum2> {
|
||||
enum class TestEnum2 : Enum<TestEnum2> {
|
||||
private constructor(x: Int) /* primary */ {
|
||||
super/*Enum*/<TestEnum2>()
|
||||
/* <init>() */
|
||||
@@ -131,7 +131,7 @@ abstract enum class TestEnum4 : Enum<TestEnum4> {
|
||||
|
||||
}
|
||||
|
||||
open enum class TestEnum5 : Enum<TestEnum5> {
|
||||
enum class TestEnum5 : Enum<TestEnum5> {
|
||||
private constructor(x: Int = 0) /* primary */ {
|
||||
super/*Enum*/<TestEnum5>()
|
||||
/* <init>() */
|
||||
@@ -161,7 +161,7 @@ fun f(): Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
open enum class TestEnum6 : Enum<TestEnum6> {
|
||||
enum class TestEnum6 : Enum<TestEnum6> {
|
||||
private constructor(x: Int, y: Int) /* primary */ {
|
||||
super/*Enum*/<TestEnum6>()
|
||||
/* <init>() */
|
||||
|
||||
Reference in New Issue
Block a user