Add initial support for @JvmRecord in backend

- Write relevant class files attributes
- Emit property accessors with records-convention: propertyName -> propertyName()

^KT-43677 In Progress
This commit is contained in:
Denis.Zharkov
2020-11-27 15:56:07 +03:00
parent 26d525fa3c
commit 1b575d7903
12 changed files with 93 additions and 18 deletions
@@ -29,6 +29,7 @@ enum class JvmTarget(override val description: String) : TargetPlatformVersion {
JVM_13("13"),
JVM_14("14"),
JVM_15("15"),
JVM_15_PREVIEW("15_PREVIEW"),
;
val bytecodeVersion: Int by lazy {
@@ -39,9 +40,10 @@ enum class JvmTarget(override val description: String) : TargetPlatformVersion {
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
JVM_13 -> Opcodes.V13
JVM_14 -> Opcodes.V14
JVM_15 -> Opcodes.V15
JVM_15_PREVIEW -> Opcodes.V15 + (0xffff shl 16)
}
}