diff --git a/idea/idea-completion/testData/basic/common/ClassRedeclaration2.kt b/idea/idea-completion/testData/basic/common/ClassRedeclaration2.kt index 3432ee1fa20..a5f5d8569d0 100644 --- a/idea/idea-completion/testData/basic/common/ClassRedeclaration2.kt +++ b/idea/idea-completion/testData/basic/common/ClassRedeclaration2.kt @@ -1,3 +1,5 @@ +// FIR_COMPARISON + class A { fun f() : A } diff --git a/idea/idea-completion/testData/basic/common/ObjectRedeclaration2.kt b/idea/idea-completion/testData/basic/common/ObjectRedeclaration2.kt index 414eb30ff14..0c6cc1273f7 100644 --- a/idea/idea-completion/testData/basic/common/ObjectRedeclaration2.kt +++ b/idea/idea-completion/testData/basic/common/ObjectRedeclaration2.kt @@ -1,3 +1,5 @@ +// FIR_COMPARISON + object A { fun f() : S } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/declarationUtils.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/declarationUtils.kt index 7d0095633e3..adafdeb38dc 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/declarationUtils.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/declarationUtils.kt @@ -91,8 +91,12 @@ private fun KtDeclaration.findSourceNonLocalFirDeclarationByProvider( firFile.declarations } val original = originalDeclaration + + /* + It is possible that we will not be able to find needed declaration here when the code is invalid, + e.g, we have two conflicting declarations with the same name and we are searching in the wrong one + */ declarations?.firstOrNull { it.psi == this || it.psi == original } - ?: error("Cannot find corresponding fir for\n${this.getElementTextInContext()}") } this is KtConstructor<*> -> { val containingClass = containingClassOrObject diff --git a/idea/testData/resolve/references/InSecondClassObject.kt b/idea/testData/resolve/references/InSecondClassObject.kt index 15beae7b6be..a6d2a2dd541 100644 --- a/idea/testData/resolve/references/InSecondClassObject.kt +++ b/idea/testData/resolve/references/InSecondClassObject.kt @@ -1,4 +1,3 @@ -// IGNORE_FIR package test class A