[FIR IDE] Fix receiverType for non-extension functions in AAPI/FE10
This commit partially fixes KtFe10SymbolByPsiTestGenerated.testDelegateField().
This commit is contained in:
+7
-1
@@ -46,7 +46,13 @@ internal class KtFe10PsiAnonymousFunctionSymbol(
|
||||
|
||||
override val receiverType: KtTypeAndAnnotations?
|
||||
get() = withValidityAssertion {
|
||||
descriptor?.extensionReceiverParameter?.type?.toKtTypeAndAnnotations(analysisContext) ?: createErrorTypeAndAnnotations()
|
||||
if (psi.isExtensionDeclaration()) {
|
||||
return null
|
||||
}
|
||||
|
||||
val descriptor = this.descriptor ?: return createErrorTypeAndAnnotations()
|
||||
val extensionReceiverParameter = descriptor.extensionReceiverParameter ?: return null
|
||||
return extensionReceiverParameter.type.toKtTypeAndAnnotations(analysisContext)
|
||||
}
|
||||
|
||||
override val isExtension: Boolean
|
||||
|
||||
+6
-4
@@ -80,11 +80,13 @@ internal class KtFe10PsiFunctionSymbol(
|
||||
|
||||
override val receiverType: KtTypeAndAnnotations?
|
||||
get() = withValidityAssertion {
|
||||
return if (psi.isExtensionDeclaration()) {
|
||||
descriptor?.extensionReceiverParameter?.type?.toKtTypeAndAnnotations(analysisContext) ?: createErrorTypeAndAnnotations()
|
||||
} else {
|
||||
null
|
||||
if (!psi.isExtensionDeclaration()) {
|
||||
return null
|
||||
}
|
||||
|
||||
val descriptor = this.descriptor ?: return createErrorTypeAndAnnotations()
|
||||
val extensionReceiverParameter = descriptor.extensionReceiverParameter ?: return null
|
||||
return extensionReceiverParameter.type.toKtTypeAndAnnotations(analysisContext)
|
||||
}
|
||||
|
||||
override val isExtension: Boolean
|
||||
|
||||
+3
-1
@@ -45,7 +45,9 @@ internal class KtFe10PsiLiteralAnonymousFunctionSymbol(
|
||||
|
||||
override val receiverType: KtTypeAndAnnotations?
|
||||
get() = withValidityAssertion {
|
||||
descriptor?.extensionReceiverParameter?.type?.toKtTypeAndAnnotations(analysisContext) ?: createErrorTypeAndAnnotations()
|
||||
val descriptor = this.descriptor ?: return createErrorTypeAndAnnotations()
|
||||
val extensionReceiverParameter = descriptor.extensionReceiverParameter ?: return null
|
||||
extensionReceiverParameter.type.toKtTypeAndAnnotations(analysisContext)
|
||||
}
|
||||
|
||||
override val isExtension: Boolean
|
||||
|
||||
Reference in New Issue
Block a user