JVM_IR: Fix enum classes ABI

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
This commit is contained in:
Dmitry Petrov
2020-06-30 14:58:22 +03:00
parent f753824429
commit d37b616e1f
8 changed files with 98 additions and 14 deletions
+21
View File
@@ -0,0 +1,21 @@
enum class SimpleEnum {
A, B, C
}
enum class WithConstructor(val x: String) {
A("1"), B("2"), C("3")
}
enum class WithEntryClass {
A {
override fun foo() {}
}
;
abstract fun foo()
}
annotation class Ann
enum class WithAnnotations {
@Ann A, @Ann B
}