diff --git a/compiler/ir/ir.ir2cfg/src/org/jetbrains/kotlin/ir2cfg/nodes/MergeCfgElement.kt b/compiler/ir/ir.ir2cfg/src/org/jetbrains/kotlin/ir2cfg/nodes/MergeCfgElement.kt index 3f2f4a32701..93abcc02ed1 100644 --- a/compiler/ir/ir.ir2cfg/src/org/jetbrains/kotlin/ir2cfg/nodes/MergeCfgElement.kt +++ b/compiler/ir/ir.ir2cfg/src/org/jetbrains/kotlin/ir2cfg/nodes/MergeCfgElement.kt @@ -27,9 +27,11 @@ class MergeCfgElement(val from: IrElement, val name: String) : CfgIrElement { override fun accept(visitor: IrElementVisitor, data: D) = visitor.visitElement(this, data) + override fun transform(transformer: IrElementTransformer, data: D): IrElement = accept(transformer, data) + override fun acceptChildren(visitor: IrElementVisitor, data: D) = Unit override fun transformChildren(transformer: IrElementTransformer, data: D) = Unit override fun toString() = "$name: ${from.dump()}" -} \ No newline at end of file +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/IrElement.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/IrElement.kt index 397928b29dd..8d7b87453a9 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/IrElement.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/IrElement.kt @@ -15,8 +15,7 @@ interface IrElement { fun accept(visitor: IrElementVisitor, data: D): R - fun transform(transformer: IrElementTransformer, data: D): IrElement = - accept(transformer, data) + fun transform(transformer: IrElementTransformer, data: D): IrElement fun acceptChildren(visitor: IrElementVisitor, data: D) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/IrElementBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/IrElementBase.kt index 9635351419c..eee723926ae 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/IrElementBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/IrElementBase.kt @@ -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 transform(transformer: IrElementTransformer, data: D): IrElement = + accept(transformer, data) +}