[JS IR BE] Fix: patch parents problems

* Patch parents for state machine builder
* Patch parents for declarations inside default value of actual parameter
This commit is contained in:
Svyatoslav Kuzmich
2019-05-03 19:58:27 +03:00
parent 130d2d00c3
commit fc0a0f41d2
2 changed files with 6 additions and 0 deletions
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.ir.expressions.impl.*
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
import org.jetbrains.kotlin.ir.symbols.IrValueSymbol
import org.jetbrains.kotlin.ir.util.explicitParameters
import org.jetbrains.kotlin.ir.util.patchDeclarationParents
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
import org.jetbrains.kotlin.ir.visitors.acceptVoid
import org.jetbrains.kotlin.name.Name
@@ -140,6 +141,8 @@ class JsSuspendFunctionsLowering(ctx: JsIrBackendContext) : AbstractSuspendFunct
IrBlockBodyImpl(stateMachineFunction.startOffset, stateMachineFunction.endOffset, listOf(suspendResult, rootLoop))
stateMachineFunction.body = functionBody
// TODO: Investigate parent problems
stateMachineFunction.patchDeclarationParents(stateMachineFunction.parent)
val liveLocals = computeLivenessAtSuspensionPoints(functionBody).values.flatten().toSet()