[K/JS, K/Wasm, K/Native] Process anonymous initializers inside classes as a part of their primary constructors ^KT-61929 Fixed

This commit is contained in:
Artem Kobzar
2023-11-17 13:04:34 +00:00
committed by Space Team
parent 3413b07550
commit e64068cf82
21 changed files with 149 additions and 2 deletions
@@ -585,8 +585,14 @@ class LocalDeclarationsLowering(
rewriteFunctionBody(it.declaration, it)
}
localClassConstructors.values.forEach {
rewriteFunctionBody(it.declaration, it)
localClassConstructors.values.forEach { constructorContext ->
rewriteFunctionBody(constructorContext.declaration, constructorContext)
if (!constructorContext.declaration.isPrimary) return@forEach
constructorContext.declaration.constructedClass.declarations
.filterIsInstance<IrAnonymousInitializer>()
.forEach { rewriteFunctionBody(it, constructorContext) }
}
localClasses.values.forEach {