module content search scopes
authorDmitry Avdeev <Dmitry.Avdeev@jetbrains.com>
Fri, 20 Jan 2012 12:23:10 +0000 (16:23 +0400)
committerDmitry Avdeev <Dmitry.Avdeev@jetbrains.com>
Fri, 20 Jan 2012 12:25:03 +0000 (16:25 +0400)
platform/core-api/src/com/intellij/openapi/module/Module.java
platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java
platform/testFramework/src/com/intellij/mock/MockModule.java
plugins/devkit/src/inspections/quickfix/RegisterInspectionFix.java

index cd2d95e584e9f163a42a51c9a1a32308cb2495bb..4469e8d0a80a009e8af6c8a74c3512121959aaf1 100644 (file)
@@ -124,6 +124,9 @@ public interface Module extends ComponentManager, AreaInstance, Disposable {
    */
   GlobalSearchScope getModuleWithDependenciesScope();
 
+  GlobalSearchScope getModuleContentScope();
+  GlobalSearchScope getModuleContentWithDependenciesScope();
+
   GlobalSearchScope getModuleWithDependenciesAndLibrariesScope(boolean includeTests);
   GlobalSearchScope getModuleWithDependentsScope();
   GlobalSearchScope getModuleTestsWithDependentsScope();
index ce1a463bbd08424c5644731a08b70f830344a1b4..423711e8b47cab159700a8797489aec0c2042d94 100644 (file)
@@ -253,6 +253,16 @@ public class ModuleImpl extends ComponentManagerImpl implements Module {
     return getCachedScope(ModuleWithDependenciesScope.COMPILE | ModuleWithDependenciesScope.TESTS | ModuleWithDependenciesScope.MODULES);
   }
 
+  @Override
+  public GlobalSearchScope getModuleContentScope() {
+    return getCachedScope(ModuleWithDependenciesScope.CONTENT);
+  }
+
+  @Override
+  public GlobalSearchScope getModuleContentWithDependenciesScope() {
+    return getCachedScope(ModuleWithDependenciesScope.CONTENT | ModuleWithDependenciesScope.MODULES);
+  }
+
   public GlobalSearchScope getModuleWithDependenciesAndLibrariesScope(boolean includeTests) {
     return getCachedScope(ModuleWithDependenciesScope.COMPILE |
                           ModuleWithDependenciesScope.MODULES |
index fa3269e740ed9da9ce70762a48fa38e210dff29f..9a0065c2115c56513a85ea6b1a5c90502d549995 100644 (file)
@@ -21,7 +21,7 @@ public class MockModule extends MockComponentManager implements Module {
     this(null, parentDisposable);
   }
 
-  public MockModule(final Project project, @NotNull Disposable parentDisposable) {
+  public MockModule(@Nullable final Project project, @NotNull Disposable parentDisposable) {
     super(project == null ? null : project.getPicoContainer(), parentDisposable);
     myProject = project;
   }
@@ -70,6 +70,16 @@ public class MockModule extends MockComponentManager implements Module {
   }
 
   @Override
+  public GlobalSearchScope getModuleContentWithDependenciesScope() {
+    throw new UnsupportedOperationException("Method getModuleContentWithDependenciesScope is not yet implemented in " + getClass().getName());
+  }
+
+  @Override
+  public GlobalSearchScope getModuleContentScope() {
+    throw new UnsupportedOperationException("Method getModuleContentScope is not yet implemented in " + getClass().getName());
+  }
+
+  @Override
   public GlobalSearchScope getModuleWithDependentsScope() {
     throw new UnsupportedOperationException("Method getModuleWithDependentsScope is not yet implemented in " + getClass().getName());
   }
index 1edffbc87f8ecf1bf5166a1f5b0ceb86ef9d67f5..15e3e9a891fed941a68f6454d5798a7a5bd759b0 100644 (file)
@@ -25,8 +25,6 @@ import com.intellij.openapi.editor.Editor;
 import com.intellij.openapi.extensions.ExtensionPointName;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.module.ModuleUtil;
-import com.intellij.openapi.module.impl.ModuleImpl;
-import com.intellij.openapi.module.impl.scopes.ModuleWithDependenciesScope;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.roots.ProjectRootManager;
 import com.intellij.openapi.ui.popup.JBPopupFactory;
@@ -87,7 +85,7 @@ class RegisterInspectionFix implements IntentionAction {
     Module module = ModuleUtil.findModuleForPsiElement(file);
     assert module != null;
     List<DomFileElement<IdeaPlugin>> elements =
-      DomService.getInstance().getFileElements(IdeaPlugin.class, project, ((ModuleImpl)module).getCachedScope(ModuleWithDependenciesScope.CONTENT | ModuleWithDependenciesScope.MODULES));
+      DomService.getInstance().getFileElements(IdeaPlugin.class, project, module.getModuleContentWithDependenciesScope());
 
     elements = ContainerUtil.filter(elements, new Condition<DomFileElement<IdeaPlugin>>() {
       @Override