[JS IR] make InnerClassesLowering.kt work with abscent bodies
This commit is contained in:
committed by
teamcityserver
parent
546ce501cb
commit
1d42b6cb3f
+3
-1
@@ -64,7 +64,8 @@ class InnerClassesLowering(val context: BackendContext, private val innerClasses
|
|||||||
val irClass = irConstructor.parentAsClass
|
val irClass = irConstructor.parentAsClass
|
||||||
val parentThisField = innerClassesSupport.getOuterThisField(irClass)
|
val parentThisField = innerClassesSupport.getOuterThisField(irClass)
|
||||||
|
|
||||||
val blockBody = irConstructor.body as? IrBlockBody ?: throw AssertionError("Unexpected constructor body: ${irConstructor.body}")
|
irConstructor.body?.let { blockBody ->
|
||||||
|
if (blockBody !is IrBlockBody) throw AssertionError("Unexpected constructor body: ${irConstructor.body}")
|
||||||
|
|
||||||
loweredConstructor.body = context.irFactory.createBlockBody(blockBody.startOffset, blockBody.endOffset) {
|
loweredConstructor.body = context.irFactory.createBlockBody(blockBody.startOffset, blockBody.endOffset) {
|
||||||
context.createIrBuilder(irConstructor.symbol, irConstructor.startOffset, irConstructor.endOffset).apply {
|
context.createIrBuilder(irConstructor.symbol, irConstructor.startOffset, irConstructor.endOffset).apply {
|
||||||
@@ -84,6 +85,7 @@ class InnerClassesLowering(val context: BackendContext, private val innerClasses
|
|||||||
val oldConstructorParameterToNew = innerClassesSupport.primaryConstructorParameterMap(irConstructor)
|
val oldConstructorParameterToNew = innerClassesSupport.primaryConstructorParameterMap(irConstructor)
|
||||||
transformChildrenVoid(VariableRemapper(oldConstructorParameterToNew))
|
transformChildrenVoid(VariableRemapper(oldConstructorParameterToNew))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return loweredConstructor
|
return loweredConstructor
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user