This commit is contained in:
Alexey Kudravtsev
2018-11-29 19:58:19 +03:00
parent f5e5ee7806
commit 9d672aa006
3 changed files with 26 additions and 20 deletions
@@ -24,7 +24,7 @@ import com.intellij.openapi.compiler.ExportableUserDataHolderBase;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.containers.ContainerUtil;
import gnu.trove.THashSet;
@@ -35,18 +35,18 @@ import java.util.*;
public class CompositeScope extends ExportableUserDataHolderBase implements CompileScope{
private final List<CompileScope> myScopes = new ArrayList<>();
public CompositeScope(CompileScope scope1, CompileScope scope2) {
public CompositeScope(@NotNull CompileScope scope1, @NotNull CompileScope scope2) {
addScope(scope1);
addScope(scope2);
}
public CompositeScope(CompileScope[] scopes) {
public CompositeScope(@NotNull CompileScope[] scopes) {
for (CompileScope scope : scopes) {
addScope(scope);
}
}
private void addScope(CompileScope scope) {
private void addScope(@NotNull CompileScope scope) {
if (scope instanceof CompositeScope) {
final CompositeScope compositeScope = (CompositeScope)scope;
for (CompileScope childScope : compositeScope.myScopes) {
@@ -68,7 +68,7 @@ public class CompositeScope extends ExportableUserDataHolderBase implements Comp
ContainerUtil.addAll(allFiles, files);
}
}
return VfsUtil.toVirtualFileArray(allFiles);
return VfsUtilCore.toVirtualFileArray(allFiles);
}
@Override
@@ -112,6 +112,7 @@ public class CompositeScope extends ExportableUserDataHolderBase implements Comp
return super.getUserData(key);
}
@NotNull
public Collection<CompileScope> getScopes() {
return Collections.unmodifiableList(myScopes);
}
@@ -25,6 +25,7 @@ import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileVisitor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.*;
@@ -37,7 +38,7 @@ public class FileSetCompileScope extends ExportableUserDataHolderBase implements
private Set<String> myUrls; // urls caching
private final Module[] myAffectedModules;
public FileSetCompileScope(final Collection<VirtualFile> files, Module[] modules) {
public FileSetCompileScope(@NotNull Collection<VirtualFile> files, @NotNull Module[] modules) {
myAffectedModules = modules;
ApplicationManager.getApplication().runReadAction(
() -> {
@@ -55,6 +56,7 @@ public class FileSetCompileScope extends ExportableUserDataHolderBase implements
return myAffectedModules;
}
@NotNull
public Collection<VirtualFile> getRootFiles() {
return Collections.unmodifiableCollection(myRootFiles);
}
@@ -95,6 +97,7 @@ public class FileSetCompileScope extends ExportableUserDataHolderBase implements
return false;
}
@NotNull
private Set<String> getUrls() {
if (myUrls == null) {
myUrls = new HashSet<>();
@@ -106,7 +109,7 @@ public class FileSetCompileScope extends ExportableUserDataHolderBase implements
return myUrls;
}
private void addFile(VirtualFile file) {
private void addFile(@NotNull VirtualFile file) {
if (file.isDirectory()) {
myDirectoryUrls.add(file.getUrl() + "/");
}
@@ -114,7 +117,7 @@ public class FileSetCompileScope extends ExportableUserDataHolderBase implements
myUrls = null;
}
private static void addRecursively(final Collection<? super VirtualFile> container, VirtualFile fromDirectory, final FileType fileType) {
private static void addRecursively(@NotNull Collection<? super VirtualFile> container, @NotNull VirtualFile fromDirectory, @Nullable FileType fileType) {
VfsUtilCore.visitChildrenRecursively(fromDirectory, new VirtualFileVisitor(VirtualFileVisitor.SKIP_ROOT) {
@Override
public boolean visitFile(@NotNull VirtualFile child) {