IR: move IrElement.transform implementation to IrElementBase

To avoid extra indirection via `IrElement$DefaultImpls` for elements
whose `transform` uses the default implementation. And also, to simplify
migration to auto-generated IR tree.
This commit is contained in:
Alexander Udalov
2022-02-09 01:20:28 +01:00
parent 2ce91853ec
commit 4bec1b08f9
3 changed files with 10 additions and 4 deletions
@@ -27,9 +27,11 @@ class MergeCfgElement(val from: IrElement, val name: String) : CfgIrElement {
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D) = visitor.visitElement(this, data)
override fun <D> transform(transformer: IrElementTransformer<D>, data: D): IrElement = accept(transformer, data)
override fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D) = Unit
override fun <D> transformChildren(transformer: IrElementTransformer<D>, data: D) = Unit
override fun toString() = "$name: ${from.dump()}"
}
}