K1/K2: add Enum.entries unconditionally and filter them out in tower
Before this commit, we added Enum.entries only in case when LanguageFeature.EnumEntries was ON (with an exception in K1/Java case). In this commit we add Enum.entries unconditionally, and in case the language feature is OFF we filter them out during tower resolve.
This commit is contained in:
Vendored
+3
@@ -12,6 +12,9 @@ FILE: missingEnumEntry.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|SomeEnum| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<SomeEnum>|
|
||||
public get(): R|kotlin/enums/EnumEntries<SomeEnum>|
|
||||
|
||||
}
|
||||
public final fun test_1(enum: R|SomeEnum|): R|kotlin/Unit| {
|
||||
lval x: R|kotlin/Unit| = when (R|<local>/enum|) {
|
||||
|
||||
+3
@@ -12,6 +12,9 @@ FILE: exhaustiveWhenAndDNNType.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|SomeEnum| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<SomeEnum>|
|
||||
public get(): R|kotlin/enums/EnumEntries<SomeEnum>|
|
||||
|
||||
}
|
||||
public final class B : R|kotlin/Any| {
|
||||
public constructor(): R|B| {
|
||||
|
||||
+3
@@ -13,6 +13,9 @@ FILE: main.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|E| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<E>|
|
||||
public get(): R|kotlin/enums/EnumEntries<E>|
|
||||
|
||||
}
|
||||
public final fun test_1(): R|kotlin/Unit| {
|
||||
lval e: R|E!| = Q|Utils|.R|/Utils.getEnum|()
|
||||
|
||||
Vendored
+3
@@ -13,6 +13,9 @@ FILE: exhaustiveness_enum.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|Enum| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<Enum>|
|
||||
public get(): R|kotlin/enums/EnumEntries<Enum>|
|
||||
|
||||
}
|
||||
public final fun test_1(e: R|Enum|): R|kotlin/Unit| {
|
||||
lval a: R|kotlin/Unit| = when (R|<local>/e|) {
|
||||
|
||||
Reference in New Issue
Block a user