mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
search for constructors in restricted scopes (IDEA-175245)
This commit is contained in:
+8
-2
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.psi.impl.search;
|
||||
|
||||
import com.intellij.ide.highlighter.JavaFileType;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
@@ -23,6 +24,7 @@ import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.light.LightMemberReference;
|
||||
import com.intellij.psi.impl.source.resolve.JavaResolveUtil;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.PsiSearchScopeUtil;
|
||||
import com.intellij.psi.search.SearchRequestCollector;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
@@ -100,9 +102,13 @@ class ConstructorReferencesSearchHelper {
|
||||
return true;
|
||||
};
|
||||
|
||||
ReferencesSearch.searchOptimized(containingClass, searchScope, ignoreAccessScope, collector, true, processor1);
|
||||
SearchScope restrictedScope = searchScope instanceof GlobalSearchScope
|
||||
? GlobalSearchScope.getScopeRestrictedByFileTypes((GlobalSearchScope)searchScope, JavaFileType.INSTANCE)
|
||||
: searchScope;
|
||||
|
||||
ReferencesSearch.searchOptimized(containingClass, restrictedScope, ignoreAccessScope, collector, true, processor1);
|
||||
if (isUnder18[0]) {
|
||||
if (!process18MethodPointers(processor, constructor, project, containingClass, searchScope)) return false;
|
||||
if (!process18MethodPointers(processor, constructor, project, containingClass, restrictedScope)) return false;
|
||||
}
|
||||
|
||||
// search usages like "this(..)"
|
||||
|
||||
+1
-2
@@ -27,7 +27,6 @@ import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.search.searches.DirectClassInheritorsSearch;
|
||||
import com.intellij.psi.search.searches.MethodReferencesSearch;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.util.PairProcessor;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -107,7 +106,7 @@ public class GroovyConstructorUsagesSearcher extends QueryExecutorBase<PsiRefere
|
||||
return true;
|
||||
};
|
||||
|
||||
processGroovyClassUsages(clazz, searchScope, collector, newExpressionProcessor, literalProcessor);
|
||||
processGroovyClassUsages(clazz, onlyGroovy, collector, newExpressionProcessor, literalProcessor);
|
||||
|
||||
//this()
|
||||
if (clazz instanceof GrTypeDefinition) {
|
||||
|
||||
Reference in New Issue
Block a user