JVM_IR: copy annotations to nullary bridges for default constructors

This commit is contained in:
pyos
2020-02-03 11:10:55 +01:00
committed by Alexander Udalov
parent 5d766eace4
commit 18dcbb3c94
2 changed files with 2 additions and 1 deletions
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.ir.builders.irBlockBody
import org.jetbrains.kotlin.ir.builders.irDelegatingConstructorCall
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.util.constructors
import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols
import org.jetbrains.kotlin.ir.util.hasDefaultValue
internal val jvmDefaultConstructorPhase = makeIrFilePhase(
@@ -52,6 +53,7 @@ private class JvmDefaultConstructorLowering(val context: JvmBackendContext) : Cl
visibility = primaryConstructor.visibility
}.apply {
val irBuilder = context.createIrBuilder(this.symbol, startOffset, endOffset)
primaryConstructor.annotations.mapTo(annotations) { it.deepCopyWithSymbols(this) }
body = irBuilder.irBlockBody {
+irDelegatingConstructorCall(primaryConstructor).apply {
passTypeArgumentsFrom(irClass)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
package test
class E1: Exception()