summaryrefslogtreecommitdiff
path: root/java/java-impl/src/com/intellij/codeInspection/unnecessaryModuleDependency/UnnecessaryModuleDependencyInspection.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-impl/src/com/intellij/codeInspection/unnecessaryModuleDependency/UnnecessaryModuleDependencyInspection.java')
-rw-r--r--java/java-impl/src/com/intellij/codeInspection/unnecessaryModuleDependency/UnnecessaryModuleDependencyInspection.java119
1 files changed, 0 insertions, 119 deletions
diff --git a/java/java-impl/src/com/intellij/codeInspection/unnecessaryModuleDependency/UnnecessaryModuleDependencyInspection.java b/java/java-impl/src/com/intellij/codeInspection/unnecessaryModuleDependency/UnnecessaryModuleDependencyInspection.java
deleted file mode 100644
index 87e99c553b36..000000000000
--- a/java/java-impl/src/com/intellij/codeInspection/unnecessaryModuleDependency/UnnecessaryModuleDependencyInspection.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package com.intellij.codeInspection.unnecessaryModuleDependency;
-
-import com.intellij.analysis.AnalysisScope;
-import com.intellij.codeInsight.daemon.GroupNames;
-import com.intellij.codeInspection.*;
-import com.intellij.codeInspection.reference.RefEntity;
-import com.intellij.codeInspection.reference.RefGraphAnnotator;
-import com.intellij.codeInspection.reference.RefManager;
-import com.intellij.codeInspection.reference.RefModule;
-import com.intellij.openapi.module.Module;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.ModifiableRootModel;
-import com.intellij.openapi.roots.ModuleOrderEntry;
-import com.intellij.openapi.roots.ModuleRootManager;
-import com.intellij.openapi.roots.OrderEntry;
-import com.intellij.openapi.util.Comparing;
-import org.jetbrains.annotations.NonNls;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-/**
- * User: anna
- * Date: 09-Jan-2006
- */
-public class UnnecessaryModuleDependencyInspection extends GlobalInspectionTool {
-
- @Override
- public RefGraphAnnotator getAnnotator(@NotNull final RefManager refManager) {
- return new UnnecessaryModuleDependencyAnnotator(refManager);
- }
-
- @Override
- public CommonProblemDescriptor[] checkElement(@NotNull RefEntity refEntity, @NotNull AnalysisScope scope, @NotNull InspectionManager manager, @NotNull final GlobalInspectionContext globalContext) {
- if (refEntity instanceof RefModule){
- final RefModule refModule = (RefModule)refEntity;
- final Module module = refModule.getModule();
- final Module[] declaredDependencies = ModuleRootManager.getInstance(module).getDependencies();
- List<CommonProblemDescriptor> descriptors = new ArrayList<CommonProblemDescriptor>();
- final Set<Module> modules = refModule.getUserData(UnnecessaryModuleDependencyAnnotator.DEPENDENCIES);
- for (final Module dependency : declaredDependencies) {
- if (modules == null || !modules.contains(dependency)) {
- final CommonProblemDescriptor problemDescriptor;
- if (scope.containsModule(dependency)) { //external references are rejected -> annotator doesn't provide any information on them -> false positives
- problemDescriptor = manager.createProblemDescriptor(
- InspectionsBundle.message("unnecessary.module.dependency.problem.descriptor", module.getName(), dependency.getName()),
- new RemoveModuleDependencyFix(module, dependency));
- } else {
- String message = InspectionsBundle
- .message("suspected.module.dependency.problem.descriptor", module.getName(), dependency.getName(), scope.getDisplayName(),
- dependency.getName());
- problemDescriptor = manager.createProblemDescriptor(message);
- }
- descriptors.add(problemDescriptor);
- }
- }
- return descriptors.isEmpty() ? null : descriptors.toArray(new CommonProblemDescriptor[descriptors.size()]);
- }
- return null;
- }
-
- @Override
- @NotNull
- public String getGroupDisplayName() {
- return GroupNames.DECLARATION_REDUNDANCY;
- }
-
- @Override
- @NotNull
- public String getDisplayName() {
- return InspectionsBundle.message("unnecessary.module.dependency.display.name");
- }
-
- @Override
- @NotNull
- @NonNls
- public String getShortName() {
- return "UnnecessaryModuleDependencyInspection";
- }
-
- public static class RemoveModuleDependencyFix implements QuickFix {
- private final Module myModule;
- private final Module myDependency;
-
- public RemoveModuleDependencyFix(Module module, Module dependency) {
- myModule = module;
- myDependency = dependency;
- }
-
- @Override
- @NotNull
- public String getName() {
- return "Remove dependency";
- }
-
- @Override
- @NotNull
- public String getFamilyName() {
- return getName();
- }
-
- @Override
- public void applyFix(@NotNull Project project, @NotNull CommonProblemDescriptor descriptor) {
- final ModifiableRootModel model = ModuleRootManager.getInstance(myModule).getModifiableModel();
- for (OrderEntry entry : model.getOrderEntries()) {
- if (entry instanceof ModuleOrderEntry) {
- final Module mDependency = ((ModuleOrderEntry)entry).getModule();
- if (Comparing.equal(mDependency, myDependency)) {
- model.removeOrderEntry(entry);
- break;
- }
- }
- }
- model.commit();
- }
- }
-}