d37b616e1f
1. Enum entry fields don't have nullability annotations. 2. Enum class special methods (values, valueOf) are not 'final' (although they probably should be, javac generates corresponding methods without ACC_FINAL flag). 3. Enum class special methods don't have nullability annotations. 4. Don't generate synthetic accessor for enum entry class constructor. KT-37019 KT-37020 KT-37021
24 lines
879 B
Kotlin
Vendored
24 lines
879 B
Kotlin
Vendored
inline fun <reified T : Enum<T>> myValues(): String {
|
|
val values = enumValues<T>()
|
|
return "OK"
|
|
}
|
|
|
|
inline fun <reified T : Enum<T>> value(): String {
|
|
val values = enumValueOf<T>("123")
|
|
return "OK"
|
|
}
|
|
enum class Z
|
|
fun main() {
|
|
myValues<Z>()
|
|
value<Z>()
|
|
}
|
|
|
|
//2 reifiedOperationMarker
|
|
//1 INVOKESTATIC kotlin/jvm/internal/Intrinsics\.reifiedOperationMarker \(ILjava/lang/String;\)V\s*ICONST_0\s*ANEWARRAY java/lang/Enum
|
|
//1 INVOKESTATIC Z\.values \(\)\[LZ;
|
|
//4 valueOf
|
|
//1 INVOKESTATIC kotlin/jvm/internal/Intrinsics\.reifiedOperationMarker \(ILjava/lang/String;\)V\s*ACONST_NULL\s*ALOAD 2\s*INVOKESTATIC java/lang/Enum\.valueOf \(Ljava/lang/Class;Ljava/lang/String;\)Ljava/lang/Enum;
|
|
//1 INVOKESTATIC Z\.valueOf \(Ljava/lang/String;\)LZ;
|
|
//1 public static valueOf
|
|
//2 INVOKESTATIC java/lang/Enum.valueOf \(Ljava/lang/Class;Ljava/lang/String;\)Ljava/lang/Enum;
|