diff --git a/idea/src/org/jetbrains/jet/plugin/project/PluginJetFilesProvider.java b/idea/src/org/jetbrains/jet/plugin/project/PluginJetFilesProvider.java index 5a7b1bb4d20..02033af0be1 100644 --- a/idea/src/org/jetbrains/jet/plugin/project/PluginJetFilesProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/project/PluginJetFilesProvider.java @@ -16,63 +16,22 @@ package org.jetbrains.jet.plugin.project; -import com.google.common.collect.Sets; -import com.intellij.openapi.fileTypes.FileType; -import com.intellij.openapi.fileTypes.FileTypeManager; -import com.intellij.openapi.module.Module; -import com.intellij.openapi.module.ModuleUtil; import com.intellij.openapi.project.Project; -import com.intellij.openapi.roots.ContentIterator; -import com.intellij.openapi.roots.ModuleFileIndex; -import com.intellij.openapi.roots.ModuleRootManager; -import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.PsiFile; -import com.intellij.psi.PsiManager; +import com.intellij.psi.search.GlobalSearchScope; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.plugin.JetFileType; -import org.jetbrains.jet.plugin.JetPluginUtil; +import org.jetbrains.jet.lang.resolve.name.FqName; +import org.jetbrains.jet.plugin.stubindex.JetAllPackagesIndex; +import org.jetbrains.jet.plugin.stubindex.JetSourceFilterScope; import java.util.Collection; -import java.util.HashSet; -import java.util.Set; public class PluginJetFilesProvider { - public static Collection allFilesInProject(@NotNull final JetFile rootFile) { - final Project project = rootFile.getProject(); - final Set files = Sets.newLinkedHashSet(); - - Module rootModule = ModuleUtil.findModuleForPsiElement(rootFile); - if (rootModule != null) { - Set allModules = new HashSet(); - ModuleUtil.getDependencies(rootModule, allModules); - - for (Module module : allModules) { - final ModuleFileIndex index = ModuleRootManager.getInstance(module).getFileIndex(); - index.iterateContent(new ContentIterator() { - @Override - public boolean processFile(VirtualFile file) { - if (file.isDirectory()) return true; - if (!index.isInSourceContent(file) && !index.isInTestSourceContent(file)) return true; - if (JetPluginUtil.isKtFileInGradleProjectInWrongFolder(file, project)) return true; - - FileType fileType = FileTypeManager.getInstance().getFileTypeByFile(file); - if (fileType != JetFileType.INSTANCE) return true; - PsiFile psiFile = PsiManager.getInstance(project).findFile(file); - if (psiFile instanceof JetFile) { - if (rootFile.getOriginalFile() != psiFile) { - files.add((JetFile) psiFile); - } - } - return true; - } - }); - } - } - - files.add(rootFile); - return files; + @NotNull + public static Collection allFilesInProject(@NotNull Project project) { + return JetAllPackagesIndex.getInstance().get(FqName.ROOT.asString(), project, + JetSourceFilterScope.kotlinSources(GlobalSearchScope.allScope(project))); } private PluginJetFilesProvider() { diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddOverrideToEqualsHashCodeToStringFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddOverrideToEqualsHashCodeToStringFix.java index 4cc30992aea..3f45c0cb155 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddOverrideToEqualsHashCodeToStringFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddOverrideToEqualsHashCodeToStringFix.java @@ -84,7 +84,7 @@ public class AddOverrideToEqualsHashCodeToStringFix extends JetIntentionAction

files = PluginJetFilesProvider.allFilesInProject(file); + Collection files = PluginJetFilesProvider.allFilesInProject(file.getProject()); for (JetFile jetFile : files) { for (Diagnostic diagnostic : ResolvePackage.getBindingContext(jetFile).getDiagnostics()) { diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/MigrateSureInProjectFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/MigrateSureInProjectFix.java index 06160cfe063..a12385e3cbe 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/MigrateSureInProjectFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/MigrateSureInProjectFix.java @@ -86,7 +86,7 @@ public class MigrateSureInProjectFix extends JetIntentionAction { @Override public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException { - Collection files = PluginJetFilesProvider.allFilesInProject(file); + Collection files = PluginJetFilesProvider.allFilesInProject(project); for (JetFile jetFile : files) { replaceUnresolvedSure(jetFile); diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveValVarFromParametersFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveValVarFromParametersFix.java index b438249a732..9d1c33b3105 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveValVarFromParametersFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveValVarFromParametersFix.java @@ -52,8 +52,7 @@ public class RemoveValVarFromParametersFix implements IntentionAction { public void invoke(@NotNull Project project, Editor editor, PsiFile file) { // TODO after M6, this quick fix should remove val/var only for current parameter - JetFile initialFile = (JetFile) file; - Collection files = PluginJetFilesProvider.allFilesInProject(initialFile); + Collection files = PluginJetFilesProvider.allFilesInProject(project); for (JetFile jetFile : files) { jetFile.acceptChildren(new JetVisitorVoid() { @Override diff --git a/idea/tests/org/jetbrains/jet/plugin/debugger/PositionManagerTestCase.java b/idea/tests/org/jetbrains/jet/plugin/debugger/PositionManagerTestCase.java index 0d8a6b119eb..6acbdbb93d1 100644 --- a/idea/tests/org/jetbrains/jet/plugin/debugger/PositionManagerTestCase.java +++ b/idea/tests/org/jetbrains/jet/plugin/debugger/PositionManagerTestCase.java @@ -41,6 +41,7 @@ import org.jetbrains.jet.codegen.GenerationUtils; import org.jetbrains.jet.codegen.state.GenerationState; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.name.FqName; +import org.jetbrains.jet.plugin.project.PluginJetFilesProvider; import org.jetbrains.jet.plugin.stubindex.JetAllPackagesIndex; import org.jetbrains.jet.utils.UtilsPackage; @@ -86,9 +87,7 @@ public abstract class PositionManagerTestCase extends MultiFileTestCase { private void performTest() { Project project = getProject(); - List files = new ArrayList( - JetAllPackagesIndex.getInstance().get(FqName.ROOT.asString(), project, GlobalSearchScope.allScope(project)) - ); + List files = new ArrayList(PluginJetFilesProvider.allFilesInProject(project)); final List breakpoints = Lists.newArrayList(); for (JetFile file : files) {