diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt index ebd66d6fae3..a73486f0c39 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.ir.IrImplementationDetail import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* -import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor import org.jetbrains.kotlin.ir.expressions.IrBody import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol @@ -83,75 +82,3 @@ class IrFunctionImpl @IrImplementationDetail constructor( override var correspondingPropertySymbol: IrPropertySymbol? = null } -class IrFunctionWithLateBindingImpl @IrImplementationDetail constructor( - override val startOffset: Int, - override val endOffset: Int, - override var origin: IrDeclarationOrigin, - override var name: Name, - override var visibility: DescriptorVisibility, - override var modality: Modality, - returnType: IrType, - override var isInline: Boolean, - override var isExternal: Boolean, - override var isTailrec: Boolean, - override var isSuspend: Boolean, - override var isOperator: Boolean, - override var isInfix: Boolean, - override var isExpect: Boolean, - override var isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, - override val factory: IrFactory = IrFactoryImpl -) : IrFunctionWithLateBinding() { - - private var _symbol: IrSimpleFunctionSymbol? = null - - override val symbol: IrSimpleFunctionSymbol - get() = _symbol ?: error("$this has not acquired a symbol yet") - - @ObsoleteDescriptorBasedAPI - override val descriptor - get() = _symbol?.descriptor ?: this.toIrBasedDescriptor() - - override fun acquireSymbol(symbol: IrSimpleFunctionSymbol): IrFunctionWithLateBinding { - assert(_symbol == null) { "$this already has symbol _symbol" } - _symbol = symbol - symbol.bind(this) - return this - } - - override val isBound: Boolean - get() = _symbol != null - - override val containerSource: DeserializedContainerSource? - get() = null - - override lateinit var parent: IrDeclarationParent - - override var annotations: List = emptyList() - - override var returnType: IrType = returnType - get() = if (field === IrUninitializedType) { - throw ReturnTypeIsNotInitializedException(this) - } else { - field - } - - override var typeParameters: List = emptyList() - - override var dispatchReceiverParameter: IrValueParameter? = null - override var extensionReceiverParameter: IrValueParameter? = null - override var valueParameters: List = emptyList() - - override var contextReceiverParametersCount: Int = 0 - - override var body: IrBody? = null - - override var metadata: MetadataSource? = null - - override var overriddenSymbols: List = emptyList() - - override var attributeOwnerId: IrAttributeContainer = this - - override var originalBeforeInline: IrAttributeContainer? = null - - override var correspondingPropertySymbol: IrPropertySymbol? = null -} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionWithLateBindingImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionWithLateBindingImpl.kt new file mode 100644 index 00000000000..4c4f93cd042 --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionWithLateBindingImpl.kt @@ -0,0 +1,95 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.declarations.impl + +import org.jetbrains.kotlin.descriptors.DescriptorVisibility +import org.jetbrains.kotlin.descriptors.Modality +import org.jetbrains.kotlin.ir.IrImplementationDetail +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI +import org.jetbrains.kotlin.ir.declarations.* +import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor +import org.jetbrains.kotlin.ir.expressions.IrBody +import org.jetbrains.kotlin.ir.expressions.IrConstructorCall +import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol +import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol +import org.jetbrains.kotlin.ir.types.IrType +import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType +import org.jetbrains.kotlin.ir.types.impl.ReturnTypeIsNotInitializedException +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource + +class IrFunctionWithLateBindingImpl @IrImplementationDetail constructor( + override val startOffset: Int, + override val endOffset: Int, + override var origin: IrDeclarationOrigin, + override var name: Name, + override var visibility: DescriptorVisibility, + override var modality: Modality, + returnType: IrType, + override var isInline: Boolean, + override var isExternal: Boolean, + override var isTailrec: Boolean, + override var isSuspend: Boolean, + override var isOperator: Boolean, + override var isInfix: Boolean, + override var isExpect: Boolean, + override var isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, + override val factory: IrFactory = IrFactoryImpl +) : IrFunctionWithLateBinding() { + + private var _symbol: IrSimpleFunctionSymbol? = null + + override val symbol: IrSimpleFunctionSymbol + get() = _symbol ?: error("$this has not acquired a symbol yet") + + @ObsoleteDescriptorBasedAPI + override val descriptor + get() = _symbol?.descriptor ?: this.toIrBasedDescriptor() + + override fun acquireSymbol(symbol: IrSimpleFunctionSymbol): IrFunctionWithLateBinding { + assert(_symbol == null) { "$this already has symbol _symbol" } + _symbol = symbol + symbol.bind(this) + return this + } + + override val isBound: Boolean + get() = _symbol != null + + override val containerSource: DeserializedContainerSource? + get() = null + + override lateinit var parent: IrDeclarationParent + + override var annotations: List = emptyList() + + override var returnType: IrType = returnType + get() = if (field === IrUninitializedType) { + throw ReturnTypeIsNotInitializedException(this) + } else { + field + } + + override var typeParameters: List = emptyList() + + override var dispatchReceiverParameter: IrValueParameter? = null + override var extensionReceiverParameter: IrValueParameter? = null + override var valueParameters: List = emptyList() + + override var contextReceiverParametersCount: Int = 0 + + override var body: IrBody? = null + + override var metadata: MetadataSource? = null + + override var overriddenSymbols: List = emptyList() + + override var attributeOwnerId: IrAttributeContainer = this + + override var originalBeforeInline: IrAttributeContainer? = null + + override var correspondingPropertySymbol: IrPropertySymbol? = null +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrBlockImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrBlockImpl.kt index 34ffd6b26bc..d51d5aee637 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrBlockImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrBlockImpl.kt @@ -16,13 +16,8 @@ package org.jetbrains.kotlin.ir.expressions.impl -import org.jetbrains.kotlin.descriptors.FunctionDescriptor -import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.IrStatement -import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.expressions.* -import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol -import org.jetbrains.kotlin.ir.symbols.IrReturnableBlockSymbol import org.jetbrains.kotlin.ir.types.IrType class IrBlockImpl( @@ -53,51 +48,3 @@ fun IrBlockImpl.inlineStatement(statement: IrStatement) { statements.add(statement) } } - -class IrReturnableBlockImpl( - override val startOffset: Int, - override val endOffset: Int, - override var type: IrType, - override val symbol: IrReturnableBlockSymbol, - override var origin: IrStatementOrigin? = null, -) : IrReturnableBlock() { - @ObsoleteDescriptorBasedAPI - override val descriptor: FunctionDescriptor - get() = symbol.descriptor - - constructor( - startOffset: Int, - endOffset: Int, - type: IrType, - symbol: IrReturnableBlockSymbol, - origin: IrStatementOrigin?, - statements: List, - ) : this(startOffset, endOffset, type, symbol, origin) { - this.statements.addAll(statements) - } - - init { - symbol.bind(this) - } -} - -class IrInlinedFunctionBlockImpl( - override val startOffset: Int, - override val endOffset: Int, - override var type: IrType, - override var inlineCall: IrFunctionAccessExpression, - override var inlinedElement: IrElement, - override var origin: IrStatementOrigin? = null, -) : IrInlinedFunctionBlock() { - constructor( - startOffset: Int, - endOffset: Int, - type: IrType, - inlineCall: IrFunctionAccessExpression, - inlinedElement: IrElement, - origin: IrStatementOrigin?, - statements: List, - ) : this(startOffset, endOffset, type, inlineCall, inlinedElement, origin) { - this.statements.addAll(statements) - } -} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrBranchImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrBranchImpl.kt new file mode 100644 index 00000000000..494014e9a46 --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrBranchImpl.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.expressions.impl + +import org.jetbrains.kotlin.ir.expressions.IrBranch +import org.jetbrains.kotlin.ir.expressions.IrExpression + +open class IrBranchImpl( + override val startOffset: Int, + override val endOffset: Int, + override var condition: IrExpression, + override var result: IrExpression +) : IrBranch() { + constructor(condition: IrExpression, result: IrExpression) : + this(condition.startOffset, result.endOffset, condition, result) +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrCatchImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrCatchImpl.kt new file mode 100644 index 00000000000..737371c407c --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrCatchImpl.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.expressions.impl + +import org.jetbrains.kotlin.ir.declarations.IrVariable +import org.jetbrains.kotlin.ir.expressions.IrCatch +import org.jetbrains.kotlin.ir.expressions.IrExpression + +class IrCatchImpl( + override val startOffset: Int, + override val endOffset: Int, + override var catchParameter: IrVariable, +) : IrCatch() { + constructor( + startOffset: Int, + endOffset: Int, + catchParameter: IrVariable, + result: IrExpression + ) : this(startOffset, endOffset, catchParameter) { + this.result = result + } + + override lateinit var result: IrExpression +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantArrayImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantArrayImpl.kt new file mode 100644 index 00000000000..5542f723de2 --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantArrayImpl.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.expressions.impl + +import org.jetbrains.kotlin.ir.expressions.IrConstantArray +import org.jetbrains.kotlin.ir.expressions.IrConstantValue +import org.jetbrains.kotlin.ir.types.IrType +import org.jetbrains.kotlin.utils.SmartList + +class IrConstantArrayImpl( + override val startOffset: Int, + override val endOffset: Int, + override var type: IrType, + initElements: List, +) : IrConstantArray() { + override val elements = SmartList(initElements) + + override fun contentEquals(other: IrConstantValue): Boolean = + other is IrConstantArray && + other.type == type && + elements.size == other.elements.size && + elements.indices.all { elements[it].contentEquals(other.elements[it]) } + + override fun contentHashCode(): Int { + var res = type.hashCode() + for (value in elements) { + res = res * 31 + value.contentHashCode() + } + return res + } +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantObjectImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantObjectImpl.kt index 02d2879efde..7999515c497 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantObjectImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantObjectImpl.kt @@ -11,29 +11,6 @@ import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.util.constructedClassType import org.jetbrains.kotlin.utils.SmartList -class IrConstantPrimitiveImpl( - override val startOffset: Int, - override val endOffset: Int, - override var value: IrConst<*>, -) : IrConstantPrimitive() { - override fun contentEquals(other: IrConstantValue) = - other is IrConstantPrimitive && - type == other.type && - value.type == other.value.type && - value.kind == other.value.kind && - value.value == other.value.value - - override fun contentHashCode(): Int { - var result = type.hashCode() - result = result * 31 + value.type.hashCode() - result = result * 31 + value.kind.hashCode() - result = result * 31 + value.value.hashCode() - return result - } - - override var type = value.type -} - class IrConstantObjectImpl constructor( override val startOffset: Int, override val endOffset: Int, @@ -66,26 +43,3 @@ class IrConstantObjectImpl constructor( return res } } - -class IrConstantArrayImpl( - override val startOffset: Int, - override val endOffset: Int, - override var type: IrType, - initElements: List, -) : IrConstantArray() { - override val elements = SmartList(initElements) - - override fun contentEquals(other: IrConstantValue): Boolean = - other is IrConstantArray && - other.type == type && - elements.size == other.elements.size && - elements.indices.all { elements[it].contentEquals(other.elements[it]) } - - override fun contentHashCode(): Int { - var res = type.hashCode() - for (value in elements) { - res = res * 31 + value.contentHashCode() - } - return res - } -} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantPrimitiveImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantPrimitiveImpl.kt new file mode 100644 index 00000000000..ee605bc0e5d --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrConstantPrimitiveImpl.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.expressions.impl + +import org.jetbrains.kotlin.ir.expressions.IrConst +import org.jetbrains.kotlin.ir.expressions.IrConstantPrimitive +import org.jetbrains.kotlin.ir.expressions.IrConstantValue + +class IrConstantPrimitiveImpl( + override val startOffset: Int, + override val endOffset: Int, + override var value: IrConst<*>, +) : IrConstantPrimitive() { + override fun contentEquals(other: IrConstantValue) = + other is IrConstantPrimitive && + type == other.type && + value.type == other.value.type && + value.kind == other.value.kind && + value.value == other.value.value + + override fun contentHashCode(): Int { + var result = type.hashCode() + result = result * 31 + value.type.hashCode() + result = result * 31 + value.kind.hashCode() + result = result * 31 + value.value.hashCode() + return result + } + + override var type = value.type +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrElseBranchImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrElseBranchImpl.kt new file mode 100644 index 00000000000..3e8b7d869ed --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrElseBranchImpl.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.expressions.impl + +import org.jetbrains.kotlin.ir.expressions.IrElseBranch +import org.jetbrains.kotlin.ir.expressions.IrExpression + +class IrElseBranchImpl( + override val startOffset: Int, + override val endOffset: Int, + override var condition: IrExpression, + override var result: IrExpression +) : IrElseBranch() { + constructor(condition: IrExpression, result: IrExpression) : + this(condition.startOffset, result.endOffset, condition, result) +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrInlinedFunctionBlockImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrInlinedFunctionBlockImpl.kt new file mode 100644 index 00000000000..0e3d04493be --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrInlinedFunctionBlockImpl.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.expressions.impl + +import org.jetbrains.kotlin.ir.IrElement +import org.jetbrains.kotlin.ir.IrStatement +import org.jetbrains.kotlin.ir.expressions.IrFunctionAccessExpression +import org.jetbrains.kotlin.ir.expressions.IrInlinedFunctionBlock +import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin +import org.jetbrains.kotlin.ir.types.IrType + +class IrInlinedFunctionBlockImpl( + override val startOffset: Int, + override val endOffset: Int, + override var type: IrType, + override var inlineCall: IrFunctionAccessExpression, + override var inlinedElement: IrElement, + override var origin: IrStatementOrigin? = null, +) : IrInlinedFunctionBlock() { + constructor( + startOffset: Int, + endOffset: Int, + type: IrType, + inlineCall: IrFunctionAccessExpression, + inlinedElement: IrElement, + origin: IrStatementOrigin?, + statements: List, + ) : this(startOffset, endOffset, type, inlineCall, inlinedElement, origin) { + this.statements.addAll(statements) + } +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrReturnableBlockImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrReturnableBlockImpl.kt new file mode 100644 index 00000000000..3c1ed277b59 --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrReturnableBlockImpl.kt @@ -0,0 +1,41 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.expressions.impl + +import org.jetbrains.kotlin.descriptors.FunctionDescriptor +import org.jetbrains.kotlin.ir.IrStatement +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI +import org.jetbrains.kotlin.ir.expressions.IrReturnableBlock +import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin +import org.jetbrains.kotlin.ir.symbols.IrReturnableBlockSymbol +import org.jetbrains.kotlin.ir.types.IrType + +class IrReturnableBlockImpl( + override val startOffset: Int, + override val endOffset: Int, + override var type: IrType, + override val symbol: IrReturnableBlockSymbol, + override var origin: IrStatementOrigin? = null, +) : IrReturnableBlock() { + @ObsoleteDescriptorBasedAPI + override val descriptor: FunctionDescriptor + get() = symbol.descriptor + + constructor( + startOffset: Int, + endOffset: Int, + type: IrType, + symbol: IrReturnableBlockSymbol, + origin: IrStatementOrigin?, + statements: List, + ) : this(startOffset, endOffset, type, symbol, origin) { + this.statements.addAll(statements) + } + + init { + symbol.bind(this) + } +} \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSuspendableExpressionImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSuspendableExpressionImpl.kt new file mode 100644 index 00000000000..47fa2416eb9 --- /dev/null +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSuspendableExpressionImpl.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.ir.expressions.impl + +import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.ir.expressions.IrSuspendableExpression +import org.jetbrains.kotlin.ir.types.IrType + +class IrSuspendableExpressionImpl( + override val startOffset: Int, + override val endOffset: Int, + override var type: IrType, + override var suspensionPointId: IrExpression, + override var result: IrExpression +) : IrSuspendableExpression() \ No newline at end of file diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSuspendImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSuspensionPointImpl.kt similarity index 70% rename from compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSuspendImpl.kt rename to compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSuspensionPointImpl.kt index fe830ff8231..078a8168d28 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSuspendImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrSuspensionPointImpl.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.ir.expressions.impl import org.jetbrains.kotlin.ir.declarations.IrVariable import org.jetbrains.kotlin.ir.expressions.IrExpression -import org.jetbrains.kotlin.ir.expressions.IrSuspendableExpression import org.jetbrains.kotlin.ir.expressions.IrSuspensionPoint import org.jetbrains.kotlin.ir.types.IrType @@ -20,10 +19,3 @@ class IrSuspensionPointImpl( override var resumeResult: IrExpression ) : IrSuspensionPoint() -class IrSuspendableExpressionImpl( - override val startOffset: Int, - override val endOffset: Int, - override var type: IrType, - override var suspensionPointId: IrExpression, - override var result: IrExpression -) : IrSuspendableExpression() diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrTryImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrTryImpl.kt index 3029e09a970..d5e1bf3c32f 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrTryImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrTryImpl.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.ir.expressions.impl -import org.jetbrains.kotlin.ir.declarations.IrVariable import org.jetbrains.kotlin.ir.expressions.IrCatch import org.jetbrains.kotlin.ir.expressions.IrExpression import org.jetbrains.kotlin.ir.expressions.IrTry @@ -47,20 +46,3 @@ class IrTryImpl( override var finallyExpression: IrExpression? = null } - -class IrCatchImpl( - override val startOffset: Int, - override val endOffset: Int, - override var catchParameter: IrVariable, -) : IrCatch() { - constructor( - startOffset: Int, - endOffset: Int, - catchParameter: IrVariable, - result: IrExpression - ) : this(startOffset, endOffset, catchParameter) { - this.result = result - } - - override lateinit var result: IrExpression -} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrWhenImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrWhenImpl.kt index fb8e228c539..fd3540989da 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrWhenImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrWhenImpl.kt @@ -18,7 +18,6 @@ package org.jetbrains.kotlin.ir.expressions.impl import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.types.IrType -import org.jetbrains.kotlin.utils.SmartList class IrWhenImpl( override val startOffset: Int, @@ -38,23 +37,3 @@ class IrWhenImpl( override val branches: MutableList = ArrayList(2) } - -open class IrBranchImpl( - override val startOffset: Int, - override val endOffset: Int, - override var condition: IrExpression, - override var result: IrExpression -) : IrBranch() { - constructor(condition: IrExpression, result: IrExpression) : - this(condition.startOffset, result.endOffset, condition, result) -} - -class IrElseBranchImpl( - override val startOffset: Int, - override val endOffset: Int, - override var condition: IrExpression, - override var result: IrExpression -) : IrElseBranch() { - constructor(condition: IrExpression, result: IrExpression) : - this(condition.startOffset, result.endOffset, condition, result) -}