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:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user