From 41580a5b2c2650d67bd7fade4ff6205344b99215 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 9 Apr 2025 12:17:10 +0200 Subject: [PATCH] [java] add module dependency: remove redundant type parameters, simplify GitOrigin-RevId: bc13b19f59550c6c8741b9e4f59b3e7e5f414436 --- .../impl/quickfix/AddModuleDependencyFix.java | 15 +++++----- .../daemon/impl/quickfix/OrderEntryFix.java | 29 ++++++++++--------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddModuleDependencyFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddModuleDependencyFix.java index 46e204923ac7..37aa7192659c 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddModuleDependencyFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddModuleDependencyFix.java @@ -46,11 +46,10 @@ class AddModuleDependencyFix extends OrderEntryFix { private final DependencyScope myScope; private final boolean myExported; - AddModuleDependencyFix(@NotNull PsiReference reference, @NotNull Module currentModule, @NotNull DependencyScope scope, - @NotNull List classes) { + @NotNull List members) { super(reference); myCurrentModule = currentModule; LinkedHashSet modules = new LinkedHashSet<>(); @@ -59,11 +58,11 @@ class AddModuleDependencyFix extends OrderEntryFix { PsiElement psiElement = reference.getElement(); ModuleRootManager rootManager = ModuleRootManager.getInstance(currentModule); - for (T aClass : classes) { - if (isAccessible(aClass, psiElement)) { - Module classModule = ModuleUtilCore.findModuleForFile(aClass.getContainingFile()); - if (classModule != null && classModule != currentModule && !dependsWithScope(rootManager, classModule, scope)) { - modules.add(classModule); + for (PsiMember member : members) { + if (isAccessible(member, psiElement)) { + Module memberModule = ModuleUtilCore.findModuleForFile(member.getContainingFile()); + if (memberModule != null && memberModule != currentModule && !dependsWithScope(rootManager, memberModule, scope)) { + modules.add(memberModule); } } } @@ -90,7 +89,7 @@ class AddModuleDependencyFix extends OrderEntryFix { private static boolean isAccessible(PsiMember member, PsiElement refElement) { PsiClass containingClass = member.getContainingClass(); - return JavaResolveUtil.isAccessible(member, containingClass, member.getModifierList(), refElement, member instanceof PsiClass ? ((PsiClass)member) : containingClass, null); + return JavaResolveUtil.isAccessible(member, containingClass, member.getModifierList(), refElement, member instanceof PsiClass m ? m : containingClass, null); } @Override diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/OrderEntryFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/OrderEntryFix.java index d117876a4198..168cda6cbde9 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/OrderEntryFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/OrderEntryFix.java @@ -26,7 +26,7 @@ import com.intellij.psi.impl.light.LightJavaModule; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.PsiShortNamesCache; import com.intellij.psi.util.PsiUtil; -import com.intellij.util.Function; +import com.intellij.util.ObjectUtils; import com.intellij.util.SmartList; import com.intellij.util.ThreeState; import com.intellij.util.containers.ContainerUtil; @@ -37,6 +37,7 @@ import org.jetbrains.uast.*; import java.io.File; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -92,10 +93,10 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix { }, r -> r.getCanonicalText()); } - public static @NotNull List<@NotNull LocalQuickFix> registerFixes(@NotNull PsiReference reference, - @NotNull List registrar, - @NotNull Function shortReferenceNameToClassesLookup, - @NotNull Function calculateCanonicalText) { + public static @NotNull List<@NotNull LocalQuickFix> registerFixes(@NotNull PsiReference reference, + @NotNull List registrar, + @NotNull Function shortReferenceNameToClassesLookup, + @NotNull Function calculateCanonicalText) { PsiElement psiElement = reference.getElement(); String shortReferenceName = reference.getRangeInElement().substring(psiElement.getText()); @@ -126,8 +127,8 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix { return result; } - T[] classes = shortReferenceNameToClassesLookup.fun(shortReferenceName); - List allowedDependencies = filterAllowedDependencies(psiElement, classes); + PsiMember[] classes = shortReferenceNameToClassesLookup.apply(shortReferenceName); + List allowedDependencies = filterAllowedDependencies(psiElement, classes); if (allowedDependencies.isEmpty()) { return result; } @@ -147,8 +148,8 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix { Set excluded = new HashSet<>(); Set withTestScope = new HashSet<>(); ModuleFileIndex moduleFileIndex = ModuleRootManager.getInstance(currentModule).getFileIndex(); - for (T aClass : allowedDependencies) { - if (!facade.getResolveHelper().isAccessible(aClass, psiElement, aClass instanceof PsiClass ? (PsiClass)aClass : null)) continue; + for (PsiMember aClass : allowedDependencies) { + if (!facade.getResolveHelper().isAccessible(aClass, psiElement, ObjectUtils.tryCast(aClass, PsiClass.class))) continue; PsiFile psiFile = aClass.getContainingFile(); if (psiFile == null) continue; VirtualFile virtualFile = psiFile.getVirtualFile(); @@ -161,7 +162,7 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix { if (files.length == 0) continue; final VirtualFile jar = files[0]; - String qualifiedName = aClass instanceof PsiClass ? ((PsiClass)aClass).getQualifiedName() : null; + String qualifiedName = aClass instanceof PsiClass cls ? cls.getQualifiedName() : null; if (qualifiedName == null) continue; if (jar == null || @@ -294,7 +295,7 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix { @NotNull Function calculateCanonicalText, @NotNull List result) { JavaPsiFacade facade = JavaPsiFacade.getInstance(currentModule.getProject()); - String fullReferenceText = calculateCanonicalText.fun(reference); + String fullReferenceText = calculateCanonicalText.apply(reference); ThreeState refToAnnotation = isReferenceToAnnotation(psiElement); for (ExternalLibraryResolver resolver : ExternalLibraryResolver.EP_NAME.getExtensionList()) { ExternalClassResolveResult resolveResult = resolver.resolveClass(shortReferenceName, refToAnnotation, currentModule); @@ -320,11 +321,11 @@ public abstract class OrderEntryFix implements IntentionAction, LocalQuickFix { } } - private static @NotNull List filterAllowedDependencies(@NotNull PsiElement element, T @NotNull [] classes) { + private static @NotNull List filterAllowedDependencies(@NotNull PsiElement element, PsiMember @NotNull [] classes) { DependencyValidationManager dependencyValidationManager = DependencyValidationManager.getInstance(element.getProject()); PsiFile fromFile = element.getContainingFile(); - List result = new ArrayList<>(); - for (T psiClass : classes) { + List result = new ArrayList<>(); + for (PsiMember psiClass : classes) { PsiFile containingFile = psiClass.getContainingFile(); if (containingFile != null && dependencyValidationManager.getViolatorDependencyRule(fromFile, containingFile) == null) { result.add(psiClass);