diff --git a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/symbols/KtSymbolProvider.kt b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/symbols/KtSymbolProvider.kt index 7d78a83af98..a463c1a1c8f 100644 --- a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/symbols/KtSymbolProvider.kt +++ b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/symbols/KtSymbolProvider.kt @@ -27,6 +27,11 @@ abstract class KtSymbolProvider : KtAnalysisSessionComponent() { literalExpression?.let(::getAnonymousObjectSymbol) ?: getClassOrObjectSymbol(psi) } is KtPropertyAccessor -> getPropertyAccessorSymbol(psi) + is KtFunctionLiteral -> { + val literalExpression = psi.parent as? KtLambdaExpression + check(literalExpression != null) { "Unexpected parent for KtFunctionLiteral" } + getAnonymousFunctionSymbol(literalExpression) + } else -> error("Cannot build symbol for ${psi::class}") } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirModuleResolveStateImpl.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirModuleResolveStateImpl.kt index 5e2e9b90345..ba8aa3af883 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirModuleResolveStateImpl.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirModuleResolveStateImpl.kt @@ -127,6 +127,7 @@ internal class FirModuleResolveStateImpl( val firDeclaration = FirElementFinder.findElementIn(container) { firDeclaration -> when (val realPsi = firDeclaration.realPsi) { is KtObjectLiteralExpression -> realPsi.objectDeclaration == ktDeclaration + is KtFunctionLiteral -> realPsi.parent == ktDeclaration else -> realPsi == ktDeclaration } }