FIR checker: report UNINITIALIZED_ENUM_(ENTRY|COMPANION)

This commit is contained in:
Jinseong Jeon
2021-04-02 10:50:10 -07:00
committed by Mikhail Glukhikh
parent ad9b962536
commit 619360fe4d
22 changed files with 500 additions and 25 deletions
@@ -0,0 +1,28 @@
// FIR_IDENTICAL
enum class JvmTarget(val description: String) {
JVM_1_6("1.6"),
JVM_1_8("1.8"),
JVM_9("9"),
JVM_10("10"),
JVM_11("11"),
JVM_12("12"),
JVM_13("13"),
JVM_14("14"),
JVM_15("15"),
;
// Should not report UNINITIALIZED_ENUM_ENTRY
val bytecodeVersion: String by lazy {
when (this) {
JVM_1_6 -> "Opcodes.V1_6"
JVM_1_8 -> "Opcodes.V1_8"
JVM_9 -> "Opcodes.V9"
JVM_10 -> "Opcodes.V10"
JVM_11 -> "Opcodes.V11"
JVM_12 -> "Opcodes.V12"
JVM_13 -> "Opcodes.V12 + 1"
JVM_14 -> "Opcodes.V12 + 2"
JVM_15 -> "Opcodes.V12 + 3"
}
}
}
@@ -0,0 +1,38 @@
package
public final enum class JvmTarget : kotlin.Enum<JvmTarget> {
enum entry JVM_1_6
enum entry JVM_1_8
enum entry JVM_9
enum entry JVM_10
enum entry JVM_11
enum entry JVM_12
enum entry JVM_13
enum entry JVM_14
enum entry JVM_15
private constructor JvmTarget(/*0*/ description: kotlin.String)
public final val bytecodeVersion: kotlin.String
public final val description: kotlin.String
public final override /*1*/ /*fake_override*/ val name: kotlin.String
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: JvmTarget): kotlin.Int
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<JvmTarget!>!
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): JvmTarget
public final /*synthesized*/ fun values(): kotlin.Array<JvmTarget>
}