Refactor DataClassMembersGenerator.kt for better work with LazyIr

^KT-49428
This commit is contained in:
Pavel Kunyavskiy
2021-10-27 11:46:04 +03:00
committed by Space
parent f4a88bde4e
commit d127815626
3 changed files with 13 additions and 9 deletions
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.konan.lower
import org.jetbrains.kotlin.backend.common.deepCopyWithVariables
import org.jetbrains.kotlin.backend.common.lower.AnnotationImplementationTransformer
import org.jetbrains.kotlin.backend.konan.*
import org.jetbrains.kotlin.backend.konan.ir.isFinalClass
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.*
import org.jetbrains.kotlin.ir.types.*
@@ -35,6 +36,7 @@ internal class NativeAnnotationImplementationTransformer(context: Context, irFil
}
override fun implementAnnotationPropertiesAndConstructor(implClass: IrClass, annotationClass: IrClass, generatedConstructor: IrConstructor) {
require(!annotationClass.isFinalClass) { "Annotation class ${annotationClass.kotlinFqName} shouldn't be final" }
val properties = annotationClass.getAnnotationProperties()
properties.forEach { property ->
val propType = property.getter!!.returnType