diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/IncompleteModelUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/IncompleteModelUtil.java index 53c9835720e7..979d13616d34 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/IncompleteModelUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/IncompleteModelUtil.java @@ -199,12 +199,7 @@ final class IncompleteModelUtil { PsiImportList list = file.getImportList(); List imports = new ArrayList<>(); if (list != null) { - boolean incompleteModel = isIncompleteModel(file); for (PsiImportStatementBase statement : list.getAllImportStatements()) { - if (incompleteModel && canBeUsedImportImplicitly(statement)) { - imports.add(statement); - continue; - } if (statement instanceof PsiImportStaticStatement staticImport && staticImport.resolveTargetClass() != null) continue; if (!statement.isOnDemand()) { PsiJavaCodeReferenceElement reference = statement.getImportReference(); @@ -285,9 +280,4 @@ final class IncompleteModelUtil { return CachedValuesManager.getProjectPsiDependentCache(targetClass, psiClass -> PsiAugmentProvider.canBeAugmentedForIncompleteMode(psiClass)); } - - static boolean canBeUsedImportImplicitly(@Nullable PsiImportStatementBase importStatementBase) { - if (importStatementBase == null) return false; - return PsiAugmentProvider.canBeUsedImportForIncompleteMode(importStatementBase); - } } diff --git a/java/java-psi-api/src/com/intellij/psi/augment/PsiAugmentProvider.java b/java/java-psi-api/src/com/intellij/psi/augment/PsiAugmentProvider.java index 1063de6451fc..564d423efaa0 100644 --- a/java/java-psi-api/src/com/intellij/psi/augment/PsiAugmentProvider.java +++ b/java/java-psi-api/src/com/intellij/psi/augment/PsiAugmentProvider.java @@ -279,18 +279,6 @@ public abstract class PsiAugmentProvider implements PossiblyDumbAware { return false; } - - /** - * Checks if the given PsiImportStatementBase might be used. - * This method is usually called in incomplete mode. - * - * @param psiImport the PsiImportStatementBase to be checked - * @return true if the import might be used, false otherwise - */ - protected boolean mightBeUsedImportForIncompleteMode(@NotNull PsiImportStatementBase psiImport) { - return false; - } - /** * Checks if the given PsiClass might be augmented. * This method is usually called in incomplete mode. @@ -308,14 +296,4 @@ public abstract class PsiAugmentProvider implements PossiblyDumbAware { }); return result.get(); } - - public static boolean canBeUsedImportForIncompleteMode(@NotNull PsiImportStatementBase psiImport) { - Ref result = Ref.create(); - forEach(psiImport.getProject(), provider -> { - boolean augmentedForIncompleteMode = provider.mightBeUsedImportForIncompleteMode(psiImport); - result.set(augmentedForIncompleteMode); - return !augmentedForIncompleteMode; - }); - return result.get(); - } } \ No newline at end of file diff --git a/plugins/lombok/src/main/java/de/plushnikov/intellij/plugin/provider/LombokAugmentProvider.java b/plugins/lombok/src/main/java/de/plushnikov/intellij/plugin/provider/LombokAugmentProvider.java index 628c8c842c8e..bfa77d5367d1 100644 --- a/plugins/lombok/src/main/java/de/plushnikov/intellij/plugin/provider/LombokAugmentProvider.java +++ b/plugins/lombok/src/main/java/de/plushnikov/intellij/plugin/provider/LombokAugmentProvider.java @@ -215,16 +215,11 @@ public final class LombokAugmentProvider extends PsiAugmentProvider implements P ContainerUtil.exists(extensibleClass.getOwnFields(), field -> hasAnyLombokAnnotation(field.getAnnotations())) || (file.getImportList() != null && ContainerUtil.exists(file.getImportList().getAllImportStatements(), statement -> { - return mightBeUsedImportForIncompleteMode(statement); + PsiJavaCodeReferenceElement reference = statement.getImportReference(); + return reference != null && reference.getText().startsWith("lombok"); })); } - @Override - protected boolean mightBeUsedImportForIncompleteMode(@NotNull PsiImportStatementBase psiImport) { - if (psiImport instanceof PsiImportStaticStatement) return false; - PsiJavaCodeReferenceElement reference = psiImport.getImportReference(); - return reference != null && reference.getText().startsWith("lombok"); - } /** * Checks if the given PsiModifierListOwner has any Lombok annotation. diff --git a/plugins/lombok/src/test/java/com/intellij/java/lomboktest/LombokIncompleteModeHighlightingTest.java b/plugins/lombok/src/test/java/com/intellij/java/lomboktest/LombokIncompleteModeHighlightingTest.java index c53667bc082b..49c29d1e6a96 100644 --- a/plugins/lombok/src/test/java/com/intellij/java/lomboktest/LombokIncompleteModeHighlightingTest.java +++ b/plugins/lombok/src/test/java/com/intellij/java/lomboktest/LombokIncompleteModeHighlightingTest.java @@ -1,7 +1,6 @@ package com.intellij.java.lomboktest; import com.intellij.codeInsight.daemon.LightDaemonAnalyzerTestCase; -import com.intellij.codeInspection.unusedImport.UnusedImportInspection; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.project.IncompleteDependenciesService; import com.intellij.testFramework.PlatformTestUtil; @@ -23,7 +22,6 @@ public class LombokIncompleteModeHighlightingTest extends LightDaemonAnalyzerTes } private void doTest(String fileName) { - enableInspectionTools(new UnusedImportInspection()); IncompleteDependenciesService service = getProject().getService(IncompleteDependenciesService.class); try (var ignored = asAutoCloseable(WriteAction.compute(() -> service.enterIncompleteState()))) { doTest("/plugins/lombok/testData/highlightingIncompleteMode/" + fileName, true, true);