[IR generator] Simplify configuration of visitor parents

Don't specify a visitor parent manually for each IR node,
use an algorithm instead.
This commit is contained in:
Sergej Jaskiewicz
2023-11-14 15:56:57 +01:00
committed by Space Team
parent 62d32471e1
commit a5b5492b2d
14 changed files with 116 additions and 152 deletions
@@ -461,7 +461,7 @@ class ExpressionCodegen(
}
}
private fun visitInlinedFunctionBlock(inlinedBlock: IrInlinedFunctionBlock, data: BlockInfo): PromisedValue {
private fun generateInlinedFunctionBlock(inlinedBlock: IrInlinedFunctionBlock, data: BlockInfo): PromisedValue {
val inlineCall = inlinedBlock.inlineCall
val callee = inlinedBlock.inlineDeclaration as? IrFunction
@@ -559,7 +559,7 @@ class ExpressionCodegen(
private fun visitStatementContainer(container: IrStatementContainer, data: BlockInfo): PromisedValue {
if (container is IrInlinedFunctionBlock) {
return visitInlinedFunctionBlock(container, data)
return generateInlinedFunctionBlock(container, data)
}
return container.statements.fold(unitValue) { prev, exp ->
prev.discard()