JVM IR: Avoid patchDeclarationParents after inlining
The code in IrInlineUtils.kt already updates declaration parents.
This commit is contained in:
committed by
Alexander Udalov
parent
a18ac2ac91
commit
f0238766df
+1
-4
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.ir.expressions.IrCall
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl
|
||||
import org.jetbrains.kotlin.ir.util.getPackageFragment
|
||||
import org.jetbrains.kotlin.ir.util.patchDeclarationParents
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||
|
||||
internal val assertionPhase = makeIrFilePhase(
|
||||
@@ -105,9 +104,7 @@ private class AssertionLowering(private val context: JvmBackendContext) :
|
||||
val generator = lambdaArgument?.asInlinable(this)
|
||||
val constructor = this@AssertionLowering.context.ir.symbols.assertionErrorConstructor
|
||||
val throwError = irThrow(irCall(constructor).apply {
|
||||
val message = generator?.inline(parent)?.patchDeclarationParents(scope.getLocalDeclarationParent())
|
||||
?: irString("Assertion failed")
|
||||
putValueArgument(0, message)
|
||||
putValueArgument(0, generator?.inline(parent) ?: irString("Assertion failed"))
|
||||
})
|
||||
+irIfThen(irNot(assertCondition), throwError)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user