JVM IR: initialize enum entries without invokedynamic

#KT-57316 Fixed
This commit is contained in:
Alexander Udalov
2023-03-21 01:13:41 +01:00
committed by Space Team
parent 9c2c11f7e9
commit 562b27db4e
21 changed files with 31 additions and 95 deletions
@@ -6,7 +6,6 @@ public final enum class Test {
public deprecated final enum static @kotlin.Deprecated(message="") field ENTRY1: Test
public final enum static field ENTRY2: Test
public deprecated final enum static @kotlin.Deprecated(message="") field ENTRY3: Test
private synthetic final static method $entries(): Test[]
private synthetic final static method $values(): Test[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int): void
-4
View File
@@ -12,7 +12,6 @@ public final enum class SimpleEnum {
public final enum static field A: SimpleEnum
public final enum static field B: SimpleEnum
public final enum static field C: SimpleEnum
private synthetic final static method $entries(): SimpleEnum[]
private synthetic final static method $values(): SimpleEnum[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int): void
@@ -28,7 +27,6 @@ public final enum class WithAnnotations {
private synthetic final static field $VALUES: WithAnnotations[]
public final enum static @Ann field A: WithAnnotations
public final enum static @Ann field B: WithAnnotations
private synthetic final static method $entries(): WithAnnotations[]
private synthetic final static method $values(): WithAnnotations[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int): void
@@ -46,7 +44,6 @@ public final enum class WithConstructor {
public final enum static field B: WithConstructor
public final enum static field C: WithConstructor
private final @org.jetbrains.annotations.NotNull field x: java.lang.String
private synthetic final static method $entries(): WithConstructor[]
private synthetic final static method $values(): WithConstructor[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int, p2: java.lang.String): void
@@ -71,7 +68,6 @@ public abstract enum class WithEntryClass {
private synthetic final static field $VALUES: WithEntryClass[]
public final enum static field A: WithEntryClass
final inner class WithEntryClass$A
private synthetic final static method $entries(): WithEntryClass[]
private synthetic final static method $values(): WithEntryClass[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int): void
@@ -12,7 +12,6 @@ public final enum class SimpleEnum {
public final enum static field A: SimpleEnum
public final enum static field B: SimpleEnum
public final enum static field C: SimpleEnum
private synthetic final static method $entries(): SimpleEnum[]
private synthetic final static method $values(): SimpleEnum[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int): void
@@ -28,7 +27,6 @@ public final enum class WithAnnotations {
private synthetic final static field $VALUES: WithAnnotations[]
public final enum static @Ann field A: WithAnnotations
public final enum static @Ann field B: WithAnnotations
private synthetic final static method $entries(): WithAnnotations[]
private synthetic final static method $values(): WithAnnotations[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int): void
@@ -46,7 +44,6 @@ public final enum class WithConstructor {
public final enum static field B: WithConstructor
public final enum static field C: WithConstructor
private final @org.jetbrains.annotations.NotNull field x: java.lang.String
private synthetic final static method $entries(): WithConstructor[]
private synthetic final static method $values(): WithConstructor[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int, p2: java.lang.String): void
@@ -71,7 +68,6 @@ public abstract enum class WithEntryClass {
private synthetic final static field $VALUES: WithEntryClass[]
public final enum static field A: WithEntryClass
final inner class WithEntryClass$A
private synthetic final static method $entries(): WithEntryClass[]
private synthetic final static method $values(): WithEntryClass[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int): void
@@ -34,7 +34,6 @@ public final enum class TestEnum {
private synthetic final static field $VALUES: TestEnum[]
public final enum static field ANSWER: TestEnum
private final field z: int
private synthetic final static method $entries(): TestEnum[]
private synthetic final static method $values(): TestEnum[]
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int, p2: int): void
@@ -13,7 +13,6 @@ public final enum class A$B$C {
public static method valueOf(p0: java.lang.String): A$B$C
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
private synthetic final static method $values(): A$B$C[]
private synthetic final static method $entries(): A$B$C[]
static method <clinit>(): void
}