diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyConstructor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyConstructor.kt index 046614d9d3c..e7a825098c7 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyConstructor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyConstructor.kt @@ -97,6 +97,8 @@ class Fir2IrLazyConstructor( error("Mutating Fir2Ir lazy elements is not possible") } + override var contextReceiverParametersCount: Int = 0 + override var valueParameters: List by lazyVar(lock) { declarationStorage.enterScope(this) fir.valueParameters.mapIndexed { index, valueParameter -> diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt index 99c401984eb..5c5a9247ace 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt @@ -73,6 +73,8 @@ class Fir2IrLazyPropertyAccessor( } } + override var contextReceiverParametersCount: Int = 0 + override var valueParameters: List by lazyVar(lock) { if (!isSetter) emptyList() else { diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazySimpleFunction.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazySimpleFunction.kt index 7eb9838f793..14784f3d739 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazySimpleFunction.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazySimpleFunction.kt @@ -61,6 +61,8 @@ class Fir2IrLazySimpleFunction( } } + override var contextReceiverParametersCount: Int = 0 + override var valueParameters: List by lazyVar(lock) { declarationStorage.enterScope(this) fir.valueParameters.mapIndexed { index, valueParameter -> diff --git a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrConstructorImpl.kt b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrConstructorImpl.kt index 5ff747f2494..fdbc14f486a 100644 --- a/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrConstructorImpl.kt +++ b/compiler/ir/ir.tree.impl/src/org/jetbrains/kotlin/ir/declarations/impl/IrConstructorImpl.kt @@ -62,6 +62,7 @@ class IrConstructorImpl( override var dispatchReceiverParameter: IrValueParameter? = null override var extensionReceiverParameter: IrValueParameter? = null + override var contextReceiverParametersCount: Int = 0 override var valueParameters: List = emptyList() override var body: IrBody? = null 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 fcd92d0c7cb..87b6af962b3 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 @@ -54,6 +54,8 @@ abstract class IrFunctionCommonImpl( 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 diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrConstructor.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrConstructor.kt index 003c8aaa9db..403aed9585b 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrConstructor.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrConstructor.kt @@ -168,6 +168,8 @@ internal class PersistentIrConstructor( } } + override var contextReceiverParametersCount: Int = 0 + override var metadata: MetadataSource? = null override var visibilityField: DescriptorVisibility = visibility diff --git a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt index 3c8917a152c..cef4d25a24f 100644 --- a/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt +++ b/compiler/ir/ir.tree.persistent/gen/org/jetbrains/kotlin/ir/declarations/persistent/PersistentIrFunctionCommon.kt @@ -152,6 +152,8 @@ internal abstract class PersistentIrFunctionCommon( } } + override var contextReceiverParametersCount: Int = 0 + override var bodyField: IrBody? = null override var body: IrBody? diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt index 5ebcf83f7be..06ac42e0585 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFunction.kt @@ -46,12 +46,12 @@ abstract class IrFunction : abstract var extensionReceiverParameter: IrValueParameter? abstract var valueParameters: List - abstract var body: IrBody? - /** * The first `contextReceiverParametersCount` value parameters are context receivers */ - var contextReceiverParametersCount: Int = 0 + abstract var contextReceiverParametersCount: Int + + abstract var body: IrBody? override fun acceptChildren(visitor: IrElementVisitor, data: D) { typeParameters.forEach { it.accept(visitor, data) } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyConstructor.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyConstructor.kt index f1c748d24a3..04e74b981be 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyConstructor.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyConstructor.kt @@ -89,6 +89,8 @@ class IrLazyConstructor( override var valueParameters: List by lazyVar(stubGenerator.lock) { createValueParameters() } + override var contextReceiverParametersCount: Int = descriptor.contextReceiverParameters.size + override var metadata: MetadataSource? get() = null set(_) = error("We should never need to store metadata of external declarations.") diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyFunction.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyFunction.kt index a1e12b69e2e..fb61a7bd829 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyFunction.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyFunction.kt @@ -71,6 +71,8 @@ class IrLazyFunction( if (tryLoadIr()) valueParameters else createValueParameters() } + override var contextReceiverParametersCount: Int = descriptor.contextReceiverParameters.size + override var metadata: MetadataSource? get() = null set(_) = error("We should never need to store metadata of external declarations.")