Partially revert "[IR] Hide constructors of implementation classes behind factory functions"

To restore binary compatibility with a compiler plugin used in
one of user projects.

#KT-66636 Fixed
This commit is contained in:
Wojciech Litewka
2024-03-18 11:02:04 +01:00
committed by Space Team
parent e007153ae6
commit 6af930fc0e
2 changed files with 14 additions and 54 deletions
@@ -10,47 +10,25 @@ import org.jetbrains.kotlin.ir.declarations.IrAttributeContainer
import org.jetbrains.kotlin.ir.expressions.IrComposite import org.jetbrains.kotlin.ir.expressions.IrComposite
import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin
import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.util.IrElementConstructorIndicator
class IrCompositeImpl internal constructor( class IrCompositeImpl(
@Suppress("UNUSED_PARAMETER")
constructorIndicator: IrElementConstructorIndicator?,
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var type: IrType, override var type: IrType,
override var origin: IrStatementOrigin?, override var origin: IrStatementOrigin? = null,
) : IrComposite() { ) : IrComposite() {
override val statements: MutableList<IrStatement> = ArrayList(2) override val statements: MutableList<IrStatement> = ArrayList(2)
override var attributeOwnerId: IrAttributeContainer = this override var attributeOwnerId: IrAttributeContainer = this
override var originalBeforeInline: IrAttributeContainer? = null override var originalBeforeInline: IrAttributeContainer? = null
}
fun IrCompositeImpl( constructor(
startOffset: Int, startOffset: Int,
endOffset: Int, endOffset: Int,
type: IrType, type: IrType,
origin: IrStatementOrigin? = null, origin: IrStatementOrigin?,
) = IrCompositeImpl( statements: List<IrStatement>,
constructorIndicator = null, ) : this(startOffset, endOffset, type, origin) {
startOffset = startOffset, this.statements.addAll(statements)
endOffset = endOffset, }
type = type,
origin = origin,
)
fun IrCompositeImpl(
startOffset: Int,
endOffset: Int,
type: IrType,
origin: IrStatementOrigin?,
statements: List<IrStatement>,
) = IrCompositeImpl(
constructorIndicator = null,
startOffset = startOffset,
endOffset = endOffset,
type = type,
origin = origin,
).apply {
this.statements.addAll(statements)
} }
@@ -10,32 +10,14 @@ import org.jetbrains.kotlin.ir.expressions.IrExpression
import org.jetbrains.kotlin.ir.expressions.IrReturn import org.jetbrains.kotlin.ir.expressions.IrReturn
import org.jetbrains.kotlin.ir.symbols.IrReturnTargetSymbol import org.jetbrains.kotlin.ir.symbols.IrReturnTargetSymbol
import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.util.IrElementConstructorIndicator
class IrReturnImpl internal constructor( class IrReturnImpl(
@Suppress("UNUSED_PARAMETER")
constructorIndicator: IrElementConstructorIndicator?,
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var type: IrType, override var type: IrType,
override var returnTargetSymbol: IrReturnTargetSymbol, override var returnTargetSymbol: IrReturnTargetSymbol,
override var value: IrExpression, override var value: IrExpression
) : IrReturn() { ) : IrReturn() {
override var attributeOwnerId: IrAttributeContainer = this override var attributeOwnerId: IrAttributeContainer = this
override var originalBeforeInline: IrAttributeContainer? = null override var originalBeforeInline: IrAttributeContainer? = null
} }
fun IrReturnImpl(
startOffset: Int,
endOffset: Int,
type: IrType,
returnTargetSymbol: IrReturnTargetSymbol,
value: IrExpression,
) = IrReturnImpl(
constructorIndicator = null,
startOffset = startOffset,
endOffset = endOffset,
type = type,
returnTargetSymbol = returnTargetSymbol,
value = value,
)