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:
Mikhail Glukhikh
2022-07-27 11:22:49 +02:00
committed by Space
parent 0a5b3f1e13
commit 7333589663
97 changed files with 322 additions and 21 deletions
@@ -79,6 +79,9 @@ FILE: selfReferenceToCompanionObject.kt
public final static fun valueOf(value: R|kotlin/String|): R|Test| {
}
public final static val entries: R|kotlin/enums/EnumEntries<Test>|
public get(): R|kotlin/enums/EnumEntries<Test>|
}
public final fun box(): R|kotlin/String| {
^box Q|Host.Companion|.R|/Base.fn|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/String|>|()
@@ -11,6 +11,9 @@ FILE: valueOfOrNull.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 foo(s: R|kotlin/String?|): R|kotlin/Unit| {
lval result: R|SomeEnum| = R|<local>/s|?.{ $subj$.R|kotlin/let|<R|kotlin/String|, R|SomeEnum?|>(<L> = let@fun <anonymous>(it: R|kotlin/String|): R|SomeEnum?| <inline=Inline, kind=EXACTLY_ONCE> {