diff --git a/plugins/kotlin/completion/tests/testData/basic/common/ClassRedeclaration2.kt b/plugins/kotlin/completion/tests/testData/basic/common/ClassRedeclaration2.kt index 3432ee1fa20d..a5f5d8569d00 100644 --- a/plugins/kotlin/completion/tests/testData/basic/common/ClassRedeclaration2.kt +++ b/plugins/kotlin/completion/tests/testData/basic/common/ClassRedeclaration2.kt @@ -1,3 +1,5 @@ +// FIR_COMPARISON + class A { fun f() : A } diff --git a/plugins/kotlin/completion/tests/testData/basic/common/ObjectRedeclaration2.kt b/plugins/kotlin/completion/tests/testData/basic/common/ObjectRedeclaration2.kt index 414eb30ff14e..0c6cc1273f70 100644 --- a/plugins/kotlin/completion/tests/testData/basic/common/ObjectRedeclaration2.kt +++ b/plugins/kotlin/completion/tests/testData/basic/common/ObjectRedeclaration2.kt @@ -1,3 +1,5 @@ +// FIR_COMPARISON + object A { fun f() : S } diff --git a/plugins/kotlin/fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/declarationUtils.kt b/plugins/kotlin/fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/declarationUtils.kt index 7d0095633e31..adafdeb38dc9 100644 --- a/plugins/kotlin/fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/declarationUtils.kt +++ b/plugins/kotlin/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/plugins/kotlin/idea/tests/testData/resolve/references/InSecondClassObject.kt b/plugins/kotlin/idea/tests/testData/resolve/references/InSecondClassObject.kt index 15beae7b6beb..a6d2a2dd5414 100644 --- a/plugins/kotlin/idea/tests/testData/resolve/references/InSecondClassObject.kt +++ b/plugins/kotlin/idea/tests/testData/resolve/references/InSecondClassObject.kt @@ -1,4 +1,3 @@ -// IGNORE_FIR package test class A