[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?
|
override val receiverType: KtTypeAndAnnotations?
|
||||||
get() = withValidityAssertion {
|
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
|
override val isExtension: Boolean
|
||||||
|
|||||||
+6
-4
@@ -80,11 +80,13 @@ internal class KtFe10PsiFunctionSymbol(
|
|||||||
|
|
||||||
override val receiverType: KtTypeAndAnnotations?
|
override val receiverType: KtTypeAndAnnotations?
|
||||||
get() = withValidityAssertion {
|
get() = withValidityAssertion {
|
||||||
return if (psi.isExtensionDeclaration()) {
|
if (!psi.isExtensionDeclaration()) {
|
||||||
descriptor?.extensionReceiverParameter?.type?.toKtTypeAndAnnotations(analysisContext) ?: createErrorTypeAndAnnotations()
|
return null
|
||||||
} else {
|
|
||||||
null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val descriptor = this.descriptor ?: return createErrorTypeAndAnnotations()
|
||||||
|
val extensionReceiverParameter = descriptor.extensionReceiverParameter ?: return null
|
||||||
|
return extensionReceiverParameter.type.toKtTypeAndAnnotations(analysisContext)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val isExtension: Boolean
|
override val isExtension: Boolean
|
||||||
|
|||||||
+3
-1
@@ -45,7 +45,9 @@ internal class KtFe10PsiLiteralAnonymousFunctionSymbol(
|
|||||||
|
|
||||||
override val receiverType: KtTypeAndAnnotations?
|
override val receiverType: KtTypeAndAnnotations?
|
||||||
get() = withValidityAssertion {
|
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
|
override val isExtension: Boolean
|
||||||
|
|||||||
Reference in New Issue
Block a user