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
@@ -11,6 +11,9 @@ FILE: annotationArgumentMustBeEnumConst.kt
public final static fun valueOf(value: R|kotlin/String|): R|TestEnum| {
}
public final static val entries: R|kotlin/enums/EnumEntries<TestEnum>|
public get(): R|kotlin/enums/EnumEntries<TestEnum>|
}
public final annotation class Ann : R|kotlin/Annotation| {
public constructor(vararg a: R|kotlin/Array<out TestEnum>|): R|Ann| {
@@ -18,4 +18,7 @@ FILE: classInSupertypeForEnum.kt
public final static fun valueOf(value: R|kotlin/String|): R|B| {
}
public final static val entries: R|kotlin/enums/EnumEntries<B>|
public get(): R|kotlin/enums/EnumEntries<B>|
}
@@ -56,6 +56,9 @@ FILE: conflictingOverloads.kt
public final static fun valueOf(value: R|kotlin/String|): R|B| {
}
public final static val entries: R|kotlin/enums/EnumEntries<B>|
public get(): R|kotlin/enums/EnumEntries<B>|
}
public final val u: R|kotlin/Int| = Int(10)
public get(): R|kotlin/Int|
@@ -35,4 +35,7 @@ FILE: delegationSuperCallInEnumConstructor.kt
public final static fun valueOf(value: R|kotlin/String|): R|A| {
}
public final static val entries: R|kotlin/enums/EnumEntries<A>|
public get(): R|kotlin/enums/EnumEntries<A>|
}
@@ -38,6 +38,9 @@ FILE: repeatedModifier.kt
public final static fun valueOf(value: R|kotlin/String|): R|C| {
}
public final static val entries: R|kotlin/enums/EnumEntries<C>|
public get(): R|kotlin/enums/EnumEntries<C>|
}
public open class E : R|kotlin/Any| {
public constructor(int: R|kotlin/Int| = Int(5)): R|E| {
@@ -17,6 +17,9 @@ FILE: typeOfAnnotationMember.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 annotation class Ann1 : R|kotlin/Annotation| {
public constructor(p1: R|kotlin/Array<kotlin/Int>|, p2: R|kotlin/Array<kotlin/Int?>|, p3: R|kotlin/Array<kotlin/IntArray>|, p4: R|kotlin/Array<Foo>|, p5: R|Foo|, vararg p6: R|kotlin/Array<out java/lang/Class<*>>|): R|Ann1| {
@@ -10,6 +10,9 @@ FILE: typeParametersInEnum.kt
public final static fun valueOf(value: R|kotlin/String|): R|A| {
}
public final static val entries: R|kotlin/enums/EnumEntries<A>|
public get(): R|kotlin/enums/EnumEntries<A>|
}
public final enum class B : R|kotlin/Enum<B>| {
private constructor(): R|B| {
@@ -22,4 +25,7 @@ FILE: typeParametersInEnum.kt
public final static fun valueOf(value: R|kotlin/String|): R|B| {
}
public final static val entries: R|kotlin/enums/EnumEntries<B>|
public get(): R|kotlin/enums/EnumEntries<B>|
}