[IR] Mark IrExpressionBodyImpl with an opt-in annotation

KT-59318
This commit is contained in:
Sergej Jaskiewicz
2023-12-07 19:40:15 +01:00
committed by Space Team
parent 2096d22e18
commit 1b557c1657
15 changed files with 48 additions and 42 deletions
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.ir.backend.js.utils.isObjectInstanceGetter
import org.jetbrains.kotlin.ir.backend.js.utils.primaryConstructorReplacement
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.*
import org.jetbrains.kotlin.ir.expressions.impl.IrExpressionBodyImpl
import org.jetbrains.kotlin.ir.types.classOrNull
import org.jetbrains.kotlin.ir.util.*
@@ -64,7 +63,7 @@ class PurifyObjectInstanceGettersLowering(val context: JsCommonBackendContext) :
val objectToCreate = type.classOrNull?.owner ?: return null
if (objectToCreate.isPureObject()) {
initializer = IrExpressionBodyImpl(
initializer = context.irFactory.createExpressionBody(
objectToCreate.primaryConstructor?.let { JsIrBuilder.buildConstructorCall(it.symbol) }
?: objectToCreate.primaryConstructorReplacement?.let { JsIrBuilder.buildCall(it.symbol) }
?: error("Object should contain a primary constructor")