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:
@@ -15,8 +15,7 @@ interface IrElement {
|
||||
|
||||
fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R
|
||||
|
||||
fun <D> transform(transformer: IrElementTransformer<D>, data: D): IrElement =
|
||||
accept(transformer, data)
|
||||
fun <D> transform(transformer: IrElementTransformer<D>, data: D): IrElement
|
||||
|
||||
fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D)
|
||||
|
||||
|
||||
@@ -16,4 +16,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.ir
|
||||
|
||||
abstract class IrElementBase : IrElement
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||
|
||||
abstract class IrElementBase : IrElement {
|
||||
override fun <D> transform(transformer: IrElementTransformer<D>, data: D): IrElement =
|
||||
accept(transformer, data)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user