mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
use extended use scopes (by UseScopeEnlarger)
GitOrigin-RevId: 27b10a3019716a66beaee7101c1ff706caebf757
This commit is contained in:
committed by
intellij-monorepo-bot
parent
891b3e6675
commit
3065547b80
+1
-1
@@ -221,7 +221,7 @@ public final class UnusedSymbolUtil {
|
||||
log("* "+member.getName()+" no name; false");
|
||||
return false;
|
||||
}
|
||||
SearchScope useScope = member.getUseScope();
|
||||
SearchScope useScope = PsiSearchHelper.getInstance(project).getUseScope(member);
|
||||
PsiSearchHelper searchHelper = PsiSearchHelper.getInstance(project);
|
||||
if (useScope instanceof GlobalSearchScope) {
|
||||
// some classes may have references from within XML outside dependent modules, e.g. our actions
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
package com.intellij.codeInsight.daemon.problems
|
||||
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.search.PsiSearchHelper
|
||||
import com.intellij.psi.search.SearchScope
|
||||
|
||||
internal class ScopedMember(val member: Member, val scope: SearchScope) {
|
||||
@@ -19,7 +20,8 @@ internal class ScopedMember(val member: Member, val scope: SearchScope) {
|
||||
}
|
||||
|
||||
companion object {
|
||||
internal fun create(psiMember: PsiMember, scope: SearchScope = psiMember.useScope): ScopedMember? {
|
||||
internal fun create(psiMember: PsiMember,
|
||||
scope: SearchScope = PsiSearchHelper.getInstance(psiMember.project).getUseScope(psiMember)): ScopedMember? {
|
||||
val member = Member.create(psiMember) ?: return null
|
||||
return ScopedMember(member, scope)
|
||||
}
|
||||
|
||||
+3
-1
@@ -4,6 +4,7 @@ package com.intellij.psi.search.searches;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.PsiSearchHelper;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.util.EmptyQuery;
|
||||
@@ -28,7 +29,8 @@ public final class FunctionalExpressionSearch extends ExtensibleQueryFactory<Psi
|
||||
|
||||
@NotNull
|
||||
public SearchScope getEffectiveSearchScope () {
|
||||
return myScope.intersectWith(myElementToSearch.getUseScope());
|
||||
return myScope
|
||||
.intersectWith(PsiSearchHelper.getInstance(myElementToSearch.getProject()).getUseScope(myElementToSearch));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-10
@@ -17,10 +17,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.java.stubs.index.JavaAnonymousClassBaseRefOccurenceIndex;
|
||||
import com.intellij.psi.impl.java.stubs.index.JavaSuperClassNameOccurenceIndex;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopeUtil;
|
||||
import com.intellij.psi.search.PsiSearchScopeUtil;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.search.*;
|
||||
import com.intellij.psi.search.searches.AllClassesSearch;
|
||||
import com.intellij.psi.search.searches.DirectClassInheritorsSearch;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
@@ -186,12 +183,11 @@ public class JavaDirectInheritorsSearcher implements QueryExecutor<PsiClass, Dir
|
||||
@NotNull DirectClassInheritorsSearch.SearchParameters parameters) {
|
||||
SearchScope useScope;
|
||||
CompilerDirectHierarchyInfo info = performSearchUsingCompilerIndices(parameters, project);
|
||||
if (info == null) {
|
||||
useScope = ReadAction.compute(baseClass::getUseScope);
|
||||
}
|
||||
else {
|
||||
useScope = ReadAction.compute(() -> baseClass.getUseScope().intersectWith(info.getDirtyScope()));
|
||||
}
|
||||
useScope = ReadAction.compute(() -> {
|
||||
SearchScope resultScope = PsiSearchHelper.getInstance(project).getUseScope(baseClass);
|
||||
if (info == null) return resultScope;
|
||||
return resultScope.intersectWith(info.getDirtyScope());
|
||||
});
|
||||
|
||||
DumbService dumbService = DumbService.getInstance(project);
|
||||
GlobalSearchScope globalUseScope = ReadAction.compute(
|
||||
|
||||
@@ -70,17 +70,18 @@ public class MethodUsagesSearcher extends QueryExecutorBase<PsiReference, Method
|
||||
DumbService.getInstance(p.getProject()).runReadActionInSmartMode(()-> {
|
||||
PsiMethod[] methods = strictSignatureSearch ? new PsiMethod[]{method} : aClass.findMethodsByName(methodName[0], false);
|
||||
|
||||
PsiSearchHelper psiSearchHelper = PsiSearchHelper.getInstance(p.getProject());
|
||||
short searchContext = UsageSearchContext.IN_CODE | UsageSearchContext.IN_COMMENTS | UsageSearchContext.IN_FOREIGN_LANGUAGES;
|
||||
for (PsiMethod m : methods) {
|
||||
SearchScope methodUseScope = PsiSearchHelper.getInstance(p.getProject()).getUseScope(m);
|
||||
SearchScope methodUseScope = psiSearchHelper.getUseScope(m);
|
||||
collector.searchWord(methodName[0], searchScope.intersectWith(methodUseScope), searchContext, true, m,
|
||||
getTextOccurrenceProcessor(new PsiMethod[] {m}, aClass, strictSignatureSearch));
|
||||
}
|
||||
|
||||
SearchScope accessScope = methods[0].getUseScope();
|
||||
SearchScope accessScope = psiSearchHelper.getUseScope(methods[0]);
|
||||
for (int i = 1; i < methods.length; i++) {
|
||||
PsiMethod method1 = methods[i];
|
||||
accessScope = accessScope.union(method1.getUseScope());
|
||||
accessScope = accessScope.union(psiSearchHelper.getUseScope(method1));
|
||||
}
|
||||
SearchScope restrictedByAccessScope = searchScope.intersectWith(accessScope);
|
||||
SimpleAccessorReferenceSearcher.addPropertyAccessUsages(method, restrictedByAccessScope, collector);
|
||||
|
||||
Reference in New Issue
Block a user