From d6fbcef85af56210965066c55f353b388ec87609 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Wed, 2 Nov 2022 14:36:26 +0100 Subject: [PATCH] [FIR IR] add more strict type for explicit receiver ^KT-54417 --- .../src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt | 2 +- .../jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt index 7b3fbbbd988..4a09180737c 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt @@ -574,7 +574,7 @@ internal fun IrDeclarationParent.declareThisReceiverParameter( startOffset: Int = this.startOffset, endOffset: Int = this.endOffset, name: Name = SpecialNames.THIS, - explicitReceiver: FirAnnotationContainer? = null, + explicitReceiver: FirReceiverParameter? = null, ): IrValueParameter { return symbolTable.irFactory.createValueParameter( startOffset, endOffset, thisOrigin, IrValueParameterSymbolImpl(), diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt index ebff31eefd8..37dad8aa029 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.backend.Fir2IrComponents import org.jetbrains.kotlin.fir.backend.declareThisReceiverParameter import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor +import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter import org.jetbrains.kotlin.fir.declarations.hasAnnotation import org.jetbrains.kotlin.fir.declarations.utils.* import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI @@ -98,7 +99,7 @@ abstract class AbstractFir2IrLazyFunction( (fir as? FirPropertyAccessor)?.propertySymbol?.fir?.hasAnnotation(JVM_STATIC_CLASS_ID) == true } - protected fun createThisReceiverParameter(thisType: IrType, explicitReceiver: FirAnnotationContainer? = null): IrValueParameter { + protected fun createThisReceiverParameter(thisType: IrType, explicitReceiver: FirReceiverParameter? = null): IrValueParameter { declarationStorage.enterScope(this) return declareThisReceiverParameter(thisType, origin, explicitReceiver = explicitReceiver).apply { declarationStorage.leaveScope(this@AbstractFir2IrLazyFunction)