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:
@@ -12,6 +12,9 @@ FILE: nested.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|Outer| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<Outer>|
|
||||
public get(): R|kotlin/enums/EnumEntries<Outer>|
|
||||
|
||||
}
|
||||
public final enum class Inner : R|kotlin/Enum<Inner>| {
|
||||
private constructor(): R|Inner| {
|
||||
@@ -26,6 +29,9 @@ FILE: nested.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|Inner| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<Inner>|
|
||||
public get(): R|kotlin/enums/EnumEntries<Inner>|
|
||||
|
||||
}
|
||||
public final fun foo(o: R|Outer|, i: R|Inner|): R|kotlin/Int| {
|
||||
^foo when (R|<local>/o|) {
|
||||
|
||||
+3
@@ -12,6 +12,9 @@ FILE: notInsideBranches.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|Some| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<Some>|
|
||||
public get(): R|kotlin/enums/EnumEntries<Some>|
|
||||
|
||||
}
|
||||
public final fun foo(s: R|Some|): <ERROR TYPE REF: Cannot infer argument for type parameter K> {
|
||||
^foo when (R|<local>/s|) {
|
||||
|
||||
@@ -14,6 +14,9 @@ FILE: first.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|first/First| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<first/First>|
|
||||
public get(): R|kotlin/enums/EnumEntries<first/First>|
|
||||
|
||||
}
|
||||
public final val THREE: R|first/First| = Q|first/First|.R|first/First.ONE|
|
||||
public get(): R|first/First|
|
||||
@@ -33,6 +36,9 @@ FILE: second.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|second/Second| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<second/Second>|
|
||||
public get(): R|kotlin/enums/EnumEntries<second/Second>|
|
||||
|
||||
}
|
||||
public final val ONE: R|second/Second| = Q|second/Second|.R|second/Second.THREE|
|
||||
public get(): R|second/Second|
|
||||
|
||||
+3
@@ -12,6 +12,9 @@ FILE: typeAlias.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|Some| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<Some>|
|
||||
public get(): R|kotlin/enums/EnumEntries<Some>|
|
||||
|
||||
}
|
||||
public final typealias Other = R|Some|
|
||||
public final fun foo(o: R|Other|): R|kotlin/Int| {
|
||||
|
||||
+3
@@ -15,6 +15,9 @@ FILE: unqualifiedEnum.kt
|
||||
public final static fun valueOf(value: R|kotlin/String|): R|test/Sample| {
|
||||
}
|
||||
|
||||
public final static val entries: R|kotlin/enums/EnumEntries<test/Sample>|
|
||||
public get(): R|kotlin/enums/EnumEntries<test/Sample>|
|
||||
|
||||
}
|
||||
public final fun trivial(s: R|test/Sample|): R|kotlin/Int| {
|
||||
^trivial when (R|<local>/s|) {
|
||||
|
||||
Reference in New Issue
Block a user