[FIR IR] add more strict type for explicit receiver
^KT-54417
This commit is contained in:
committed by
Space Team
parent
3cd85a4622
commit
d6fbcef85a
@@ -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(),
|
||||
|
||||
@@ -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<F : FirCallableDeclaration>(
|
||||
(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)
|
||||
|
||||
Reference in New Issue
Block a user