diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/KtFe10DescSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/KtFe10DescSymbol.kt index 0955d83a444..e05a10237e6 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/KtFe10DescSymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/KtFe10DescSymbol.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithSource import org.jetbrains.kotlin.descriptors.SourceElement import org.jetbrains.kotlin.descriptors.annotations.Annotations +import org.jetbrains.kotlin.references.fe10.base.KtFe10ReferenceResolutionHelper import org.jetbrains.kotlin.resolve.source.PsiSourceElement internal interface KtFe10DescSymbol : KtFe10Symbol, KtFe10AnnotatedSymbol { @@ -28,7 +29,11 @@ internal interface KtFe10DescSymbol : KtFe10Symbol, K } override val psi: PsiElement? - get() = withValidityAssertion { (source as? PsiSourceElement)?.psi } + get() = withValidityAssertion { + (source as? PsiSourceElement)?.psi + ?: KtFe10ReferenceResolutionHelper.getInstance() + ?.findDecompiledDeclaration(analysisContext.resolveSession.project, descriptor, null) + } override val origin: KtSymbolOrigin get() = withValidityAssertion { descriptor.getSymbolOrigin(analysisContext) } diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiLiteralAnonymousFunctionSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiLiteralAnonymousFunctionSymbol.kt index 458feab91ea..5ffe804ac20 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiLiteralAnonymousFunctionSymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiLiteralAnonymousFunctionSymbol.kt @@ -59,10 +59,6 @@ internal class KtFe10PsiLiteralAnonymousFunctionSymbol( override val receiverParameter: KtReceiverParameterSymbol? get() = withValidityAssertion { - if (!psi.isExtensionDeclaration()) { - return null - } - descriptor?.extensionReceiverParameter?.toKtReceiverParameterSymbol(analysisContext) }