IR: change acceptChildren/transformChildren order in IrClass

Traverse properties of supertypes first, and then handle thisReceiver.
This will simplify transition to auto-generated IR.
This commit is contained in:
Alexander Udalov
2022-01-14 01:46:04 +01:00
parent 4ecc5e517a
commit 6f6bdd8aec
12 changed files with 24 additions and 24 deletions
@@ -46,14 +46,14 @@ abstract class IrClass :
visitor.visitClass(this, data)
override fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D) {
thisReceiver?.accept(visitor, data)
typeParameters.forEach { it.accept(visitor, data) }
declarations.forEach { it.accept(visitor, data) }
thisReceiver?.accept(visitor, data)
}
override fun <D> transformChildren(transformer: IrElementTransformer<D>, data: D) {
thisReceiver = thisReceiver?.transform(transformer, data)
typeParameters = typeParameters.transformIfNeeded(transformer, data)
declarations.transformInPlace(transformer, data)
thisReceiver = thisReceiver?.transform(transformer, data)
}
}