Pass project explicitly to JetSourceFilterScope
This commit is contained in:
committed by
Alexander Udalov
parent
3f7050635c
commit
9c58cb9f31
+5
-5
@@ -160,13 +160,13 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JetClassOrObject> findClassOrObjectDeclarations(@NotNull FqName fqName, @NotNull GlobalSearchScope searchScope) {
|
||||
return JetFullClassNameIndex.getInstance().get(fqName.asString(), project, kotlinSources(searchScope));
|
||||
return JetFullClassNameIndex.getInstance().get(fqName.asString(), project, kotlinSources(searchScope, project));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JetFile> findFilesForPackage(@NotNull FqName fqName, @NotNull GlobalSearchScope searchScope) {
|
||||
return PackageIndexUtil.findFilesWithExactPackage(fqName, kotlinSources(searchScope), project);
|
||||
return PackageIndexUtil.findFilesWithExactPackage(fqName, kotlinSources(searchScope, project), project);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -174,18 +174,18 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport
|
||||
public Collection<JetClassOrObject> findClassOrObjectDeclarationsInPackage(
|
||||
@NotNull FqName packageFqName, @NotNull GlobalSearchScope searchScope
|
||||
) {
|
||||
return JetClassByPackageIndex.getInstance().get(packageFqName.asString(), project, kotlinSources(searchScope));
|
||||
return JetClassByPackageIndex.getInstance().get(packageFqName.asString(), project, kotlinSources(searchScope, project));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean packageExists(@NotNull FqName fqName, @NotNull GlobalSearchScope scope) {
|
||||
return !JetAllPackagesIndex.getInstance().get(fqName.asString(), project, kotlinSources(scope)).isEmpty();
|
||||
return !JetAllPackagesIndex.getInstance().get(fqName.asString(), project, kotlinSources(scope, project)).isEmpty();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<FqName> getSubPackages(@NotNull FqName fqn, @NotNull GlobalSearchScope scope) {
|
||||
return PackageIndexUtil.getSubPackageFqNames(fqn, kotlinSources(scope), project);
|
||||
return PackageIndexUtil.getSubPackageFqNames(fqn, kotlinSources(scope, project), project);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -136,7 +136,7 @@ class KotlinCacheService(val project: Project) {
|
||||
}
|
||||
|
||||
private fun kotlinSourcesInProjectScope(): GlobalSearchScope {
|
||||
return JetSourceFilterScope.kotlinSources(GlobalSearchScope.allScope(project))
|
||||
return JetSourceFilterScope.kotlinSources(GlobalSearchScope.allScope(project), project)
|
||||
}
|
||||
|
||||
public fun <T> get(extension: CacheExtension<T>): T {
|
||||
|
||||
@@ -31,7 +31,7 @@ public class PluginJetFilesProvider {
|
||||
@NotNull
|
||||
public static Collection<JetFile> allFilesInProject(@NotNull Project project) {
|
||||
return JetAllPackagesIndex.getInstance().get(FqName.ROOT.asString(), project,
|
||||
JetSourceFilterScope.kotlinSources(GlobalSearchScope.allScope(project)));
|
||||
JetSourceFilterScope.kotlinSources(GlobalSearchScope.allScope(project), project));
|
||||
}
|
||||
|
||||
private PluginJetFilesProvider() {
|
||||
|
||||
@@ -52,6 +52,6 @@ public class JetAllPackagesIndex extends StringStubIndexExtension<JetFile> {
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JetFile> get(String fqName, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(fqName, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(fqName, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,6 @@ public class JetAnnotationsIndex extends StringStubIndexExtension<JetAnnotationE
|
||||
|
||||
@Override
|
||||
public Collection<JetAnnotationEntry> get(String s, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,6 @@ public class JetClassByPackageIndex extends StringStubIndexExtension<JetClassOrO
|
||||
|
||||
@Override
|
||||
public Collection<JetClassOrObject> get(String fqName, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(fqName, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(fqName, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,6 @@ public class JetClassShortNameIndex extends StringStubIndexExtension<JetClassOrO
|
||||
|
||||
@Override
|
||||
public Collection<JetClassOrObject> get(String s, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,6 @@ public class JetFullClassNameIndex extends StringStubIndexExtension<JetClassOrOb
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JetClassOrObject> get(String fqName, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(fqName, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(fqName, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,6 @@ public class JetFunctionShortNameIndex extends StringStubIndexExtension<JetNamed
|
||||
|
||||
@Override
|
||||
public Collection<JetNamedFunction> get(String s, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,6 @@ public class JetPropertyShortNameIndex extends StringStubIndexExtension<JetPrope
|
||||
|
||||
@Override
|
||||
public Collection<JetProperty> get(String s, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@
|
||||
package org.jetbrains.jet.plugin.stubindex;
|
||||
|
||||
import com.intellij.openapi.fileTypes.StdFileTypes;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ProjectFileIndex;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -28,26 +29,28 @@ import org.jetbrains.jet.plugin.JetPluginUtil;
|
||||
|
||||
public class JetSourceFilterScope extends DelegatingGlobalSearchScope {
|
||||
@NotNull
|
||||
public static GlobalSearchScope kotlinSourcesAndLibraries(@NotNull GlobalSearchScope delegate) {
|
||||
return new JetSourceFilterScope(delegate, true);
|
||||
public static GlobalSearchScope kotlinSourcesAndLibraries(@NotNull GlobalSearchScope delegate, @NotNull Project project) {
|
||||
return new JetSourceFilterScope(delegate, true, project);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static GlobalSearchScope kotlinSources(@NotNull GlobalSearchScope delegate) {
|
||||
return new JetSourceFilterScope(delegate, false);
|
||||
public static GlobalSearchScope kotlinSources(@NotNull GlobalSearchScope delegate, @NotNull Project project) {
|
||||
return new JetSourceFilterScope(delegate, false, project);
|
||||
}
|
||||
|
||||
private final ProjectFileIndex index;
|
||||
private final Project project;
|
||||
private final boolean includeLibraries;
|
||||
|
||||
private JetSourceFilterScope(@NotNull GlobalSearchScope delegate, boolean includeLibraries) {
|
||||
private JetSourceFilterScope(@NotNull GlobalSearchScope delegate, boolean includeLibraries, @NotNull Project project) {
|
||||
super(delegate);
|
||||
this.includeLibraries = includeLibraries;
|
||||
index = ProjectRootManager.getInstance(getProject()).getFileIndex();
|
||||
this.index = ProjectRootManager.getInstance(project).getFileIndex();
|
||||
this.project = project;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean contains(VirtualFile file) {
|
||||
public boolean contains(@NotNull VirtualFile file) {
|
||||
if (!super.contains(file)) {
|
||||
return false;
|
||||
}
|
||||
@@ -56,7 +59,7 @@ public class JetSourceFilterScope extends DelegatingGlobalSearchScope {
|
||||
return index.isInLibraryClasses(file);
|
||||
}
|
||||
|
||||
if (JetPluginUtil.isKtFileInGradleProjectInWrongFolder(file, getProject())) {
|
||||
if (JetPluginUtil.isKtFileInGradleProjectInWrongFolder(file, project)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -46,6 +46,6 @@ public class JetSuperClassIndex extends StringStubIndexExtension<JetClassOrObjec
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JetClassOrObject> get(String s, Project project, GlobalSearchScope scope) {
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,6 @@ public class JetTopLevelFunctionsFqnNameIndex extends StringStubIndexExtension<J
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JetNamedFunction> get(String s, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -44,6 +44,6 @@ public class JetTopLevelNonExtensionFunctionShortNameIndex extends StringStubInd
|
||||
|
||||
@Override
|
||||
public Collection<JetNamedFunction> get(String s, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,6 @@ public class JetTopLevelObjectShortNameIndex extends StringStubIndexExtension<Je
|
||||
|
||||
@Override
|
||||
public Collection<JetObjectDeclaration> get(String s, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,6 @@ public class JetTopLevelPropertiesFqnNameIndex extends StringStubIndexExtension<
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JetProperty> get(String s, Project project, @NotNull GlobalSearchScope scope) {
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope));
|
||||
return super.get(s, project, JetSourceFilterScope.kotlinSourcesAndLibraries(scope, project));
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -32,6 +32,7 @@ public class PluginDeclarationProviderFactoryService : DeclarationProviderFactor
|
||||
syntheticFiles: Collection<JetFile>,
|
||||
filesScope: GlobalSearchScope
|
||||
): DeclarationProviderFactory {
|
||||
return PluginDeclarationProviderFactory(project, JetSourceFilterScope.kotlinSources(filesScope), storageManager, syntheticFiles)
|
||||
return PluginDeclarationProviderFactory(project, JetSourceFilterScope.kotlinSources(filesScope, project),
|
||||
storageManager, syntheticFiles)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user