KTIJ-33395 [kotlin] Fix LombokElementFinder.findClasses to be consistent with LombokElementFinder.findClass

Because of this inconsistency, `LLFirJavaSymbolProvider` and `LLCombinedJavaSymbolProvider`
showed different behaviours under Analysis API, and it could lead
to insconsistent resolve or diagnostics.

Adjust expected highlighting data in `KotlinWithLombokHighlighting` -
now it properly passes.

^KTIJ-33395 Fixed

(cherry picked from commit c71890017c780e1463237a484853e301ad4c1171)

GitOrigin-RevId: b1c93582cfda869ef7b40e2366a116c417828670
This commit is contained in:
Roman Golyshev
2025-06-12 17:54:20 +02:00
committed by intellij-monorepo-bot
parent e19383c20e
commit fe71593edb
2 changed files with 5 additions and 4 deletions

View File

@@ -93,11 +93,11 @@ internal class KotlinWithLombokHighlighting : JavaCodeInsightFixtureTestCase(),
}
fun createBuilder(): UserDataClass {
return UserDataClass.<error descr="[MISSING_DEPENDENCY_CLASS] Cannot access class 'UserDataClass.UserDataClassBuilder'. Check your module classpath for missing or conflicting dependencies.">builder</error>().<error descr="[UNRESOLVED_REFERENCE] Unresolved reference 'name'.">name</error>("hello").age(10).build()
return UserDataClass.builder().name("hello").age(10).build()
}
fun useBuilder(userBuilder: UserDataClass.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference 'UserDataClassBuilder'.">UserDataClassBuilder</error>): UserDataClass {
return userBuilder.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference 'name'.">name</error>("hello").age(10).build()
fun useBuilder(userBuilder: UserDataClass.UserDataClassBuilder): UserDataClass {
return userBuilder.name("hello").age(10).build()
}
""".trimIndent()

View File

@@ -49,6 +49,7 @@ public final class LombokElementFinder extends PsiElementFinder {
@Override
public PsiClass @NotNull [] findClasses(@NotNull String qualifiedName, @NotNull GlobalSearchScope scope) {
return PsiClass.EMPTY_ARRAY;
var foundClass = findClass(qualifiedName, scope);
return foundClass != null ? new PsiClass[]{foundClass} : PsiClass.EMPTY_ARRAY;
}
}