From fe71593edb00cc3f9e3489c50cec104d31cec096 Mon Sep 17 00:00:00 2001 From: Roman Golyshev Date: Thu, 12 Jun 2025 17:54:20 +0200 Subject: [PATCH] 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 --- .../kotlin/highlighter/KotlinWithLombokHighlighting.kt | 6 +++--- .../intellij/plugin/extension/LombokElementFinder.java | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/kotlin/kotlin.lombok.tests/test/org/jetbrains/kotlin/highlighter/KotlinWithLombokHighlighting.kt b/plugins/kotlin/kotlin.lombok.tests/test/org/jetbrains/kotlin/highlighter/KotlinWithLombokHighlighting.kt index 76fa9452f50c..5a1c182e2afb 100644 --- a/plugins/kotlin/kotlin.lombok.tests/test/org/jetbrains/kotlin/highlighter/KotlinWithLombokHighlighting.kt +++ b/plugins/kotlin/kotlin.lombok.tests/test/org/jetbrains/kotlin/highlighter/KotlinWithLombokHighlighting.kt @@ -93,11 +93,11 @@ internal class KotlinWithLombokHighlighting : JavaCodeInsightFixtureTestCase(), } fun createBuilder(): UserDataClass { - return UserDataClass.builder().name("hello").age(10).build() + return UserDataClass.builder().name("hello").age(10).build() } - fun useBuilder(userBuilder: UserDataClass.UserDataClassBuilder): UserDataClass { - return userBuilder.name("hello").age(10).build() + fun useBuilder(userBuilder: UserDataClass.UserDataClassBuilder): UserDataClass { + return userBuilder.name("hello").age(10).build() } """.trimIndent() diff --git a/plugins/lombok/src/main/java/de/plushnikov/intellij/plugin/extension/LombokElementFinder.java b/plugins/lombok/src/main/java/de/plushnikov/intellij/plugin/extension/LombokElementFinder.java index 0083bbd60610..81ad1d84b2f7 100644 --- a/plugins/lombok/src/main/java/de/plushnikov/intellij/plugin/extension/LombokElementFinder.java +++ b/plugins/lombok/src/main/java/de/plushnikov/intellij/plugin/extension/LombokElementFinder.java @@ -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; } }