more usages of getSourceContentRoots corrected to fetch only java roots where needed

This commit is contained in:
nik
2013-08-30 16:53:45 +04:00
parent 0d7f837378
commit e310a22fd3
18 changed files with 82 additions and 39 deletions
@@ -37,6 +37,7 @@ import com.intellij.psi.util.CreateClassUtil;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import java.util.*;
@@ -251,7 +252,8 @@ public class CreateClassOrPackageFix extends LocalQuickFixAndIntentionActionOnPs
}
}
else {
for (VirtualFile root : ProjectRootManager.getInstance(psiManager.getProject()).getContentSourceRoots()) {
for (VirtualFile root : ProjectRootManager.getInstance(psiManager.getProject()).getModuleSourceRoots(
JavaModuleSourceRootTypes.SOURCES)) {
PsiDirectory directory = psiManager.findDirectory(root);
if (LOG.isDebugEnabled()) {
LOG.debug("Root: " + root + ", directory: " + directory);
@@ -49,6 +49,7 @@ import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
@@ -207,7 +208,7 @@ public class CreateClassDialog extends DialogWrapper {
gbConstraints.insets.top = 4;
panel.add(myDestinationCB, gbConstraints);
final boolean isMultipleSourceRoots = ProjectRootManager.getInstance(myProject).getContentSourceRoots().length > 1;
final boolean isMultipleSourceRoots = ProjectRootManager.getInstance(myProject).getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES).size() > 1;
myDestinationCB.setVisible(isMultipleSourceRoots);
label.setVisible(isMultipleSourceRoots);
label.setLabelFor(myDestinationCB);
@@ -28,7 +28,6 @@ import com.intellij.psi.JavaDirectoryService;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiManager;
import com.intellij.psi.PsiPackage;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import java.lang.reflect.InvocationTargetException;
@@ -55,15 +54,12 @@ public class PackageViewProjectNode extends AbstractProjectNode {
return modulesAndGroups(allModules.toArray(new Module[allModules.size()]));
}
else {
final List<VirtualFile> sourceRoots = new ArrayList<VirtualFile>();
final ProjectRootManager projectRootManager = ProjectRootManager.getInstance(myProject);
ContainerUtil.addAll(sourceRoots, projectRootManager.getContentSourceRoots());
final PsiManager psiManager = PsiManager.getInstance(myProject);
final List<AbstractTreeNode> children = new ArrayList<AbstractTreeNode>();
final Set<PsiPackage> topLevelPackages = new HashSet<PsiPackage>();
for (final VirtualFile root : sourceRoots) {
for (final VirtualFile root : projectRootManager.getContentSourceRoots()) {
final PsiDirectory directory = psiManager.findDirectory(root);
if (directory == null) {
continue;
@@ -38,6 +38,7 @@ import com.intellij.util.ui.FormBuilder;
import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import javax.swing.*;
import java.awt.*;
@@ -114,7 +115,7 @@ class CopyClassDialog extends DialogWrapper{
}
final JLabel label = new JLabel(RefactoringBundle.message("target.destination.folder"));
final boolean isMultipleSourceRoots = ProjectRootManager.getInstance(myProject).getContentSourceRoots().length > 1;
final boolean isMultipleSourceRoots = ProjectRootManager.getInstance(myProject).getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES).size() > 1;
myDestinationCB.setVisible(!myDoClone && isMultipleSourceRoots);
label.setVisible(!myDoClone && isMultipleSourceRoots);
label.setLabelFor(myDestinationCB);
@@ -36,6 +36,7 @@ import com.intellij.refactoring.util.classMembers.MemberInfo;
import com.intellij.ui.EditorComboBox;
import com.intellij.ui.components.JBLabel;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import javax.swing.*;
import java.awt.*;
@@ -71,8 +72,8 @@ public abstract class JavaExtractSuperBaseDialog extends ExtractSuperBaseDialog<
@Override
protected JPanel createDestinationRootPanel() {
final VirtualFile[] sourceRoots = ProjectRootManager.getInstance(myProject).getContentSourceRoots();
if (sourceRoots.length <= 1) return super.createDestinationRootPanel();
final List<VirtualFile> sourceRoots = ProjectRootManager.getInstance(myProject).getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES);
if (sourceRoots.size() <= 1) return super.createDestinationRootPanel();
final JPanel panel = new JPanel(new BorderLayout());
panel.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
final JBLabel label = new JBLabel(RefactoringBundle.message("target.destination.folder"));
@@ -42,6 +42,7 @@ import com.intellij.util.ui.FormBuilder;
import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
@@ -60,7 +61,6 @@ class ExtractClassDialog extends RefactoringDialog implements MemberInfoChangeLi
private final JTextField classNameField;
private final ReferenceEditorComboWithBrowseButton packageTextField;
private final DestinationFolderComboBox myDestinationFolderComboBox;
private final JTextField sourceClassTextField = null;
private JCheckBox myGenerateAccessorsCb;
private final JavaVisibilityPanel myVisibilityPanel;
private final JCheckBox extractAsEnum;
@@ -252,7 +252,7 @@ class ExtractClassDialog extends RefactoringDialog implements MemberInfoChangeLi
.addLabeledComponent(new JLabel(), extractAsEnum)
.addLabeledComponent(RefactorJBundle.message("package.for.new.class.label"), packageTextField);
if (ProjectRootManager.getInstance(myProject).getContentSourceRoots().length > 1) {
if (ProjectRootManager.getInstance(myProject).getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES).size() > 1) {
builder.addLabeledComponent(RefactoringBundle.message("target.destination.folder"), myDestinationFolderComboBox);
}
@@ -34,12 +34,14 @@ import com.intellij.refactoring.MoveDestination;
import com.intellij.refactoring.PackageWrapper;
import com.intellij.ui.*;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import java.util.List;
/**
* User: anna
@@ -49,7 +51,7 @@ public abstract class DestinationFolderComboBox extends ComboboxWithBrowseButton
private static final String LEAVE_IN_SAME_SOURCE_ROOT = "Leave in same source root";
private static final DirectoryChooser.ItemWrapper NULL_WRAPPER = new DirectoryChooser.ItemWrapper(null, null);
private PsiDirectory myInitialTargetDirectory;
private VirtualFile[] mySourceRoots;
private List<VirtualFile> mySourceRoots;
public DestinationFolderComboBox() {
super(new ComboBoxWithWidePopup());
@@ -79,7 +81,7 @@ public abstract class DestinationFolderComboBox extends ComboboxWithBrowseButton
final PsiDirectory initialTargetDirectory,
final Pass<String> errorMessageUpdater, final EditorComboBox editorComboBox) {
myInitialTargetDirectory = initialTargetDirectory;
mySourceRoots = ProjectRootManager.getInstance(project).getContentSourceRoots();
mySourceRoots = ProjectRootManager.getInstance(project).getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES);
new ComboboxSpeedSearch(getComboBox()) {
@Override
protected String getElementText(Object element) {
@@ -168,7 +170,7 @@ public abstract class DestinationFolderComboBox extends ComboboxWithBrowseButton
VirtualFile selectedDestination = selectedPsiDirectory.getVirtualFile();
if (showChooserWhenDefault &&
myInitialTargetDirectory != null && Comparing.equal(selectedDestination, myInitialTargetDirectory.getVirtualFile()) &&
mySourceRoots.length > 1) {
mySourceRoots.size() > 1) {
selectedDestination = MoveClassesOrPackagesUtil.chooseSourceRoot(targetPackage, mySourceRoots, myInitialTargetDirectory);
}
if (selectedDestination == null) return null;
@@ -197,7 +199,7 @@ public abstract class DestinationFolderComboBox extends ComboboxWithBrowseButton
final VirtualFile initialTargetDirectorySourceRoot,
final VirtualFile oldSelection,
final ProjectFileIndex fileIndex,
final VirtualFile[] sourceRoots,
final List<VirtualFile> sourceRoots,
final Project project,
final boolean forceIncludeAll,
final Pass<String> updateErrorMessage) {
@@ -44,6 +44,7 @@ import com.intellij.refactoring.util.RefactoringUtil;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.containers.HashSet;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import javax.swing.*;
import java.awt.*;
@@ -300,7 +301,7 @@ public class JavaMoveClassesOrPackagesHandler extends MoveHandlerDelegate {
private static boolean canMoveOrRearrangePackages(PsiElement[] elements) {
if (elements.length == 0) return false;
final Project project = elements[0].getProject();
if (ProjectRootManager.getInstance(project).getContentSourceRoots().length == 1) {
if (ProjectRootManager.getInstance(project).getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES).size() == 1) {
return false;
}
for (PsiElement element : elements) {
@@ -33,7 +33,6 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
import com.intellij.psi.search.ProjectScope;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.psi.util.PsiUtilCore;
import com.intellij.refactoring.*;
import com.intellij.refactoring.move.MoveCallback;
@@ -55,11 +54,13 @@ import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import java.util.Set;
public class MoveClassesOrPackagesDialog extends RefactoringDialog {
@@ -141,7 +142,7 @@ public class MoveClassesOrPackagesDialog extends RefactoringDialog {
private void updateControlsEnabled() {
myClassPackageChooser.setEnabled(myToPackageRadioButton.isSelected());
myInnerClassChooser.setEnabled(myMakeInnerClassOfRadioButton.isSelected());
UIUtil.setEnabled(myTargetPanel, isMoveToPackage() && getSourceRoots().length > 1 && !myTargetDirectoryFixed, true);
UIUtil.setEnabled(myTargetPanel, isMoveToPackage() && getSourceRoots().size() > 1 && !myTargetDirectoryFixed, true);
validateButtons();
}
@@ -162,8 +163,7 @@ public class MoveClassesOrPackagesDialog extends RefactoringDialog {
}
protected JComponent createCenterPanel() {
final VirtualFile[] sourceRoots = getSourceRoots();
boolean isDestinationVisible = sourceRoots.length > 1;
boolean isDestinationVisible = getSourceRoots().size() > 1;
myDestinationFolderCB.setVisible(isDestinationVisible);
myTargetDestinationLabel.setVisible(isDestinationVisible);
return null;
@@ -289,7 +289,7 @@ public class MoveClassesOrPackagesDialog extends RefactoringDialog {
setErrorText(s);
}
}, myHavePackages ? myWithBrowseButtonReference.getChildComponent() : myClassPackageChooser.getChildComponent());
UIUtil.setEnabled(myTargetPanel, getSourceRoots().length > 0 && isMoveToPackage() && !isTargetDirectoryFixed, true);
UIUtil.setEnabled(myTargetPanel, !getSourceRoots().isEmpty() && isMoveToPackage() && !isTargetDirectoryFixed, true);
validateButtons();
myHelpID = helpID;
}
@@ -505,7 +505,7 @@ public class MoveClassesOrPackagesDialog extends RefactoringDialog {
return ((DestinationFolderComboBox)myDestinationFolderCB).selectDirectory(targetPackage, mySuggestToMoveToAnotherRoot);
}
private VirtualFile[] getSourceRoots() {
return ProjectRootManager.getInstance(myProject).getContentSourceRoots();
private List<VirtualFile> getSourceRoots() {
return ProjectRootManager.getInstance(myProject).getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES);
}
}
@@ -44,6 +44,7 @@ import com.intellij.usageView.UsageInfo;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.containers.MultiMap;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import java.util.ArrayList;
import java.util.Arrays;
@@ -367,7 +368,7 @@ public class MoveClassesOrPackagesImpl {
}
private static List<PsiDirectory> buildRearrangeTargetsList(final Project project, final PsiDirectory[] directories) {
final VirtualFile[] sourceRoots = ProjectRootManager.getInstance(project).getContentSourceRoots();
final List<VirtualFile> sourceRoots = ProjectRootManager.getInstance(project).getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES);
List<PsiDirectory> sourceRootDirectories = new ArrayList<PsiDirectory>();
sourceRoots:
for (final VirtualFile sourceRoot : sourceRoots) {
@@ -40,6 +40,7 @@ import com.intellij.util.IncorrectOperationException;
import com.intellij.util.containers.HashMap;
import com.intellij.psi.util.FileTypeUtils;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import java.io.File;
import java.util.*;
@@ -283,12 +284,13 @@ public class MoveClassesOrPackagesUtil {
directory = directories[0];
}
else {
final VirtualFile[] contentSourceRoots = ProjectRootManager.getInstance(project).getContentSourceRoots();
if (contentSourceRoots.length == 1 && (baseDirVirtualFile == null || fileIndex.isInTestSourceContent(contentSourceRoots[0]) == isBaseDirInTestSources)) {
final List<VirtualFile> contentSourceRoots = ProjectRootManager.getInstance(project).getModuleSourceRoots(
JavaModuleSourceRootTypes.SOURCES);
if (contentSourceRoots.size() == 1 && (baseDirVirtualFile == null || fileIndex.isInTestSourceContent(contentSourceRoots.get(0)) == isBaseDirInTestSources)) {
directory = ApplicationManager.getApplication().runWriteAction(new Computable<PsiDirectory>() {
@Override
public PsiDirectory compute() {
return RefactoringUtil.createPackageDirectoryInSourceRoot(packageWrapper, contentSourceRoots[0]);
return RefactoringUtil.createPackageDirectoryInSourceRoot(packageWrapper, contentSourceRoots.get(0));
}
});
}
@@ -307,7 +309,7 @@ public class MoveClassesOrPackagesUtil {
}
public static VirtualFile chooseSourceRoot(final PackageWrapper targetPackage,
final VirtualFile[] contentSourceRoots,
final List<VirtualFile> contentSourceRoots,
final PsiDirectory initialDirectory) {
Project project = targetPackage.getManager().getProject();
//ensure that there would be no duplicates: e.g. when one content root is subfolder of another root (configured via excluded roots)
@@ -330,7 +332,7 @@ public class MoveClassesOrPackagesUtil {
}
public static void buildDirectoryList(PackageWrapper aPackage,
VirtualFile[] contentSourceRoots,
List<VirtualFile> contentSourceRoots,
LinkedHashSet<PsiDirectory> targetDirectories,
Map<PsiDirectory, String> relativePathsToCreate) {
@@ -372,7 +374,7 @@ public class MoveClassesOrPackagesUtil {
}
}
}
LOG.assertTrue(targetDirectories.size() <= contentSourceRoots.length);
LOG.assertTrue(relativePathsToCreate.size() <= contentSourceRoots.length);
LOG.assertTrue(targetDirectories.size() <= contentSourceRoots.size());
LOG.assertTrue(relativePathsToCreate.size() <= contentSourceRoots.size());
}
}
@@ -49,10 +49,12 @@ import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import javax.swing.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -196,10 +198,10 @@ public class MoveInnerDialog extends RefactoringDialog {
final String targetName = myPackageNameField.getText();
if (!Comparing.equal(name, targetName)) {
final ProjectRootManager projectRootManager = ProjectRootManager.getInstance(myProject);
final VirtualFile[] contentSourceRoots = projectRootManager.getContentSourceRoots();
final List<VirtualFile> contentSourceRoots = projectRootManager.getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES);
final PackageWrapper newPackage = new PackageWrapper(PsiManager.getInstance(myProject), targetName);
final VirtualFile targetSourceRoot;
if (contentSourceRoots.length > 1) {
if (contentSourceRoots.size() > 1) {
PsiDirectory initialDir = null;
if (oldPackage != null) {
final PsiDirectory[] directories = oldPackage.getDirectories();
@@ -215,7 +217,7 @@ public class MoveInnerDialog extends RefactoringDialog {
targetSourceRoot = sourceRoot;
}
else {
targetSourceRoot = contentSourceRoots [0];
targetSourceRoot = contentSourceRoots.get(0);
}
PsiDirectory dir = RefactoringUtil.findPackageDirectoryInSourceRoot(newPackage, targetSourceRoot);
if (dir == null) {
@@ -465,7 +465,7 @@ public class CreateTestDialog extends DialogWrapper {
}
else {
PsiDirectory defaultDir = chooseDefaultDirectory(packageName);
result.setResult(MoveClassesOrPackagesUtil.chooseSourceRoot(targetPackage, roots.toArray(new VirtualFile[roots.size()]), defaultDir));
result.setResult(MoveClassesOrPackagesUtil.chooseSourceRoot(targetPackage, roots, defaultDir));
}
}
}.execute().getResultObject();
@@ -41,6 +41,7 @@ import com.intellij.util.messages.MessageBusConnection;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import java.util.*;
@@ -333,7 +334,7 @@ public abstract class JavaFileManagerBase implements JavaFileManager, Disposable
if (myNontrivialPackagePrefixes == null) {
Set<String> names = new HashSet<String>();
final ProjectRootManager rootManager = myProjectRootManager;
final VirtualFile[] sourceRoots = rootManager.getContentSourceRoots();
final List<VirtualFile> sourceRoots = rootManager.getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES);
final ProjectFileIndex fileIndex = rootManager.getFileIndex();
for (final VirtualFile sourceRoot : sourceRoots) {
final String packageName = fileIndex.getPackageNameByDirectory(sourceRoot);
@@ -21,13 +21,13 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.SystemProperties;
import org.jdom.Document;
import org.jdom.Element;
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
import org.jetbrains.jps.model.java.compiler.JpsJavaCompilerOptions;
import org.jetbrains.jps.model.serialization.JDomSerializationUtil;
import org.jetbrains.jps.model.serialization.JpsGlobalLoader;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
/**
@@ -48,7 +48,7 @@ public class CompilerTestUtil {
public static void scanSourceRootsToRecompile(Project project) {
// need this to emulate project opening
final List<VirtualFile> roots = Arrays.asList(ProjectRootManager.getInstance(project).getContentSourceRoots());
final List<VirtualFile> roots = ProjectRootManager.getInstance(project).getModuleSourceRoots(JavaModuleSourceRootTypes.SOURCES);
TranslatingCompilerFilesMonitor.getInstance().scanSourceContent(new TranslatingCompilerFilesMonitor.ProjectRef(project), roots, roots.size(), true);
}
@@ -22,10 +22,12 @@ import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
/**
*
@@ -74,11 +76,18 @@ public class MockProjectRootManager extends ProjectRootManager {
throw new UnsupportedOperationException();
}
@NotNull
@Override
public VirtualFile[] getContentSourceRoots() {
throw new UnsupportedOperationException();
}
@NotNull
@Override
public List<VirtualFile> getModuleSourceRoots(@NotNull Set<? extends JpsModuleSourceRootType<?>> rootTypes) {
throw new UnsupportedOperationException("'getContentSourceRoots' not implemented in " + getClass().getName());
}
@Override
public Sdk getProjectSdk() {
throw new UnsupportedOperationException();
@@ -23,9 +23,11 @@ import com.intellij.openapi.util.ModificationTracker;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
import java.util.Collection;
import java.util.List;
import java.util.Set;
/**
* Allows to query and modify the list of root directories belonging to a project.
@@ -95,8 +97,18 @@ public abstract class ProjectRootManager implements ModificationTracker {
*
* @return the list of content source roots.
*/
@NotNull
public abstract VirtualFile[] getContentSourceRoots();
/**
* Returns the list of source roots from all modules which types belong to the specified set
*
* @param rootTypes types of source roots
* @return list of source roots
*/
@NotNull
public abstract List<VirtualFile> getModuleSourceRoots(@NotNull Set<? extends JpsModuleSourceRootType<?>> rootTypes);
/**
* Returns the instance of the JDK selected for the project.
*
@@ -46,6 +46,7 @@ import com.intellij.util.messages.MessageBusConnection;
import org.jdom.Element;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
import java.util.*;
@@ -167,6 +168,7 @@ public class ProjectRootManagerImpl extends ProjectRootManagerEx implements Proj
return VfsUtilCore.toVirtualFileArray(result);
}
@NotNull
@Override
public VirtualFile[] getContentSourceRoots() {
final List<VirtualFile> result = new ArrayList<VirtualFile>();
@@ -177,6 +179,16 @@ public class ProjectRootManagerImpl extends ProjectRootManagerEx implements Proj
return VfsUtilCore.toVirtualFileArray(result);
}
@NotNull
@Override
public List<VirtualFile> getModuleSourceRoots(@NotNull Set<? extends JpsModuleSourceRootType<?>> rootTypes) {
List<VirtualFile> roots = new ArrayList<VirtualFile>();
for (Module module : getModuleManager().getModules()) {
roots.addAll(ModuleRootManager.getInstance(module).getSourceRoots(rootTypes));
}
return roots;
}
@NotNull
@Override
public OrderEnumerator orderEntries() {