From a7903c64f1ac81da529d1b04eca89fc55a6161a2 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 31 Dec 2020 13:13:04 +0100 Subject: [PATCH] FIR IDE: do not consider function literal as fqName-having declaration --- .../idea/fir/low/level/api/element/builder/FirElementBuilder.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/element/builder/FirElementBuilder.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/element/builder/FirElementBuilder.kt index 506d43dc07f..021415680d3 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/element/builder/FirElementBuilder.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/element/builder/FirElementBuilder.kt @@ -103,6 +103,7 @@ private fun KtElement.getFirOfClosestParent(cache: Map): } +// TODO: simplify internal inline fun PsiElement.getNonLocalContainingOrThisDeclaration(predicate: (KtDeclaration) -> Boolean = { true }): KtNamedDeclaration? { var container: PsiElement? = this while (container != null && container !is KtFile) { @@ -111,6 +112,7 @@ internal inline fun PsiElement.getNonLocalContainingOrThisDeclaration(predicate: && container !is KtPrimaryConstructor && container.hasFqName() && container !is KtEnumEntry + && container !is KtFunctionLiteral && container.containingClassOrObject !is KtEnumEntry && predicate(container) ) {