diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt index b5475e2be30..c4004c35618 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionImpl.kt @@ -139,4 +139,7 @@ class IrFakeOverrideFunctionImpl( symbol.bind(this) return this } + + override val isBound: Boolean + get() = _symbol != null } diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt index 711dc02a784..25fa6fec3c5 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt @@ -126,4 +126,7 @@ class IrFakeOverridePropertyImpl( symbol.bind(this) return this } + + override val isBound: Boolean + get() = _symbol != null } diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunction.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunction.kt index f84fa22c18c..d0604df2480 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunction.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunction.kt @@ -75,7 +75,11 @@ internal class PersistentIrFakeOverrideFunction( private var _symbol: IrSimpleFunctionSymbol? = null override val symbol: IrSimpleFunctionSymbol - get() = _symbol ?: error("$this has not acquired a symbol yet") + get() = _symbol ?: + error("$this has not acquired a symbol yet") + + override val isBound: Boolean + get() = _symbol != null @ObsoleteDescriptorBasedAPI override val descriptor diff --git a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrProperty.kt b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrProperty.kt index 9f2f8eb6e2d..7665b1db46c 100644 --- a/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrProperty.kt +++ b/compiler/ir/ir.tree.persistent/src/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrProperty.kt @@ -80,6 +80,9 @@ internal class PersistentIrFakeOverrideProperty( override val descriptor get() = _symbol?.descriptor ?: this.toIrBasedDescriptor() + override val isBound: Boolean + get() = _symbol != null + @OptIn(ObsoleteDescriptorBasedAPI::class) override fun acquireSymbol(symbol: IrPropertySymbol): IrProperty { assert(_symbol == null) { "$this already has symbol _symbol" } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFakeOverrideFunction.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFakeOverrideFunction.kt index bda12785227..007f061ed18 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFakeOverrideFunction.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFakeOverrideFunction.kt @@ -14,4 +14,6 @@ interface IrFakeOverrideFunction : IrDeclaration { var modality: Modality fun acquireSymbol(symbol: IrSimpleFunctionSymbol): IrSimpleFunction + + val isBound: Boolean } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFakeOverrideProperty.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFakeOverrideProperty.kt index f8f6c435c0c..d4ce979f9d4 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFakeOverrideProperty.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFakeOverrideProperty.kt @@ -16,4 +16,6 @@ interface IrFakeOverrideProperty : IrDeclaration { var setter: IrSimpleFunction? fun acquireSymbol(symbol: IrPropertySymbol): IrProperty + + val isBound: Boolean }