diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/expressions/impl/IrBlockBodyImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/expressions/impl/IrBlockBodyImpl.kt index 228bda7236f..8867c2d1288 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/expressions/impl/IrBlockBodyImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/expressions/impl/IrBlockBodyImpl.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.ir.expressions.impl -import org.jetbrains.kotlin.ir.IrElementBase import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.declarations.IrFactory import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl @@ -25,7 +24,7 @@ import org.jetbrains.kotlin.ir.expressions.IrBlockBody class IrBlockBodyImpl( override val startOffset: Int, override val endOffset: Int -) : IrElementBase(), IrBlockBody { +) : IrBlockBody() { constructor(startOffset: Int, endOffset: Int, statements: List) : this(startOffset, endOffset) { this.statements.addAll(statements) } diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/expressions/impl/IrExpressionBodyImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/expressions/impl/IrExpressionBodyImpl.kt index bcb52427eca..328778c6b20 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/expressions/impl/IrExpressionBodyImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/expressions/impl/IrExpressionBodyImpl.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.ir.expressions.impl -import org.jetbrains.kotlin.ir.IrElementBase import org.jetbrains.kotlin.ir.declarations.IrFactory import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl import org.jetbrains.kotlin.ir.expressions.IrExpression @@ -26,7 +25,7 @@ class IrExpressionBodyImpl( override val startOffset: Int, override val endOffset: Int, initializer: (IrExpressionBody.() -> Unit)? = null -) : IrElementBase(), IrExpressionBody { +) : IrExpressionBody() { init { initializer?.invoke(this) } diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/expressions/persistent/PersistentIrBlockBody.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/expressions/persistent/PersistentIrBlockBody.kt index 9454b54f1ce..cf82524f88e 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/expressions/persistent/PersistentIrBlockBody.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/expressions/persistent/PersistentIrBlockBody.kt @@ -29,10 +29,7 @@ internal class PersistentIrBlockBody( override val startOffset: Int, override val endOffset: Int, override var initializer: (PersistentIrBlockBody.() -> Unit)? = null -) : - PersistentIrBodyBase, - IrBlockBody { - +) : IrBlockBody(), PersistentIrBodyBase { override var lastModified: Int = stageController.currentStage override var loweredUpTo: Int = stageController.currentStage override var values: Array? = null diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/expressions/persistent/PersistentIrExpressionBody.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/expressions/persistent/PersistentIrExpressionBody.kt index 7187531278e..9bb3540d55a 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/expressions/persistent/PersistentIrExpressionBody.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/expressions/persistent/PersistentIrExpressionBody.kt @@ -30,10 +30,7 @@ internal class PersistentIrExpressionBody private constructor( override val endOffset: Int, private var expressionField: IrExpression? = null, override var initializer: (PersistentIrExpressionBody.() -> Unit)? = null -) : - PersistentIrBodyBase, - IrExpressionBody { - +) : IrExpressionBody(), PersistentIrBodyBase { override var lastModified: Int = stageController.currentStage override var loweredUpTo: Int = stageController.currentStage override var values: Array? = null diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/IrBody.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/IrBody.kt index 73a25f6a9b5..551b58773cd 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/IrBody.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/IrBody.kt @@ -16,20 +16,20 @@ package org.jetbrains.kotlin.ir.expressions -import org.jetbrains.kotlin.ir.IrElement +import org.jetbrains.kotlin.ir.IrElementBase import org.jetbrains.kotlin.ir.declarations.IrFactory import org.jetbrains.kotlin.ir.visitors.IrElementTransformer import org.jetbrains.kotlin.ir.visitors.IrElementVisitor -interface IrBody : IrElement { +abstract class IrBody : IrElementBase() { override fun transform(transformer: IrElementTransformer, data: D): IrBody = accept(transformer, data) as IrBody } -interface IrExpressionBody : IrBody { - val factory: IrFactory +abstract class IrExpressionBody : IrBody() { + abstract val factory: IrFactory - var expression: IrExpression + abstract var expression: IrExpression override fun accept(visitor: IrElementVisitor, data: D): R = visitor.visitExpressionBody(this, data) @@ -46,8 +46,8 @@ interface IrExpressionBody : IrBody { } } -interface IrBlockBody : IrBody, IrStatementContainer { - val factory: IrFactory +abstract class IrBlockBody : IrBody(), IrStatementContainer { + abstract val factory: IrFactory override fun accept(visitor: IrElementVisitor, data: D): R = visitor.visitBlockBody(this, data) @@ -63,8 +63,8 @@ interface IrBlockBody : IrBody, IrStatementContainer { } } -interface IrSyntheticBody : IrBody { - val kind: IrSyntheticBodyKind +abstract class IrSyntheticBody : IrBody() { + abstract val kind: IrSyntheticBodyKind } enum class IrSyntheticBodyKind { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSyntheticBodyImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSyntheticBodyImpl.kt index 3e252bf5bb6..6104ce64b3d 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSyntheticBodyImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSyntheticBodyImpl.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.ir.expressions.impl -import org.jetbrains.kotlin.ir.IrElementBase import org.jetbrains.kotlin.ir.expressions.IrSyntheticBody import org.jetbrains.kotlin.ir.expressions.IrSyntheticBodyKind import org.jetbrains.kotlin.ir.visitors.IrElementTransformer @@ -26,7 +25,7 @@ class IrSyntheticBodyImpl( override val startOffset: Int, override val endOffset: Int, override val kind: IrSyntheticBodyKind -) : IrElementBase(), IrSyntheticBody { +) : IrSyntheticBody() { override fun accept(visitor: IrElementVisitor, data: D): R { return visitor.visitSyntheticBody(this, data) }