From 0364f5c4e7d22025788d044d02cf7ae967491a15 Mon Sep 17 00:00:00 2001 From: Eugene Vigdorchik Date: Mon, 24 Jan 2005 20:58:24 +0300 Subject: [PATCH] (no message) --- openapi/src/com/intellij/psi/PsiElement.java | 3 +- .../intellij/psi/search/PsiSearchHelper.java | 3 +- .../psi/search/PsiSearchScopeUtil.java | 154 ----------------- .../UnusedParametersInspection.java | 2 +- .../find/findUsages/FindUsagesDialog.java | 2 +- .../com/intellij/psi/impl/PsiElementBase.java | 5 +- .../psi/impl/search/PsiSearchHelperImpl.java | 159 ++++++++++++++++-- .../psi/impl/source/ASTWrapperPsiElement.java | 3 +- .../impl/source/tree/CompositePsiElement.java | 5 +- .../psi/impl/source/tree/LeafPsiElement.java | 5 +- .../deductive/builder/SystemBuilder.java | 4 +- .../refactoring/util/RefactoringUtil.java | 2 +- source/com/intellij/xml/util/XmlUtil.java | 21 +-- 13 files changed, 172 insertions(+), 196 deletions(-) diff --git a/openapi/src/com/intellij/psi/PsiElement.java b/openapi/src/com/intellij/psi/PsiElement.java index 1fee8a4bfaa4..1ec3ba943b50 100644 --- a/openapi/src/com/intellij/psi/PsiElement.java +++ b/openapi/src/com/intellij/psi/PsiElement.java @@ -12,6 +12,7 @@ import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.UserDataHolder; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.search.SearchScope; import com.intellij.util.IncorrectOperationException; public interface PsiElement extends UserDataHolder, Iconable { @@ -114,5 +115,5 @@ public interface PsiElement extends UserDataHolder, Iconable { boolean isPhysical(); GlobalSearchScope getResolveScope(); - GlobalSearchScope getUseScope(); + SearchScope getUseScope(); } diff --git a/openapi/src/com/intellij/psi/search/PsiSearchHelper.java b/openapi/src/com/intellij/psi/search/PsiSearchHelper.java index 702c416aef79..a5158dd1a361 100644 --- a/openapi/src/com/intellij/psi/search/PsiSearchHelper.java +++ b/openapi/src/com/intellij/psi/search/PsiSearchHelper.java @@ -9,6 +9,7 @@ import com.intellij.aspects.psi.PsiPointcut; import com.intellij.aspects.psi.PsiPointcutDef; import com.intellij.psi.*; import com.intellij.psi.jsp.JspDirective; +import com.intellij.openapi.fileTypes.FileType; public interface PsiSearchHelper { PsiReference[] findReferences(PsiElement element, SearchScope searchScope, boolean ignoreAccessScope); @@ -50,7 +51,7 @@ public interface PsiSearchHelper { PsiFile[] findFilesWithPlainTextWords(String word); void processUsagesInNonJavaFiles(String qName, PsiNonJavaFileReferenceProcessor processor, GlobalSearchScope searchScope); - SearchScope getAccessScope(PsiElement element); + SearchScope getUseScope(PsiElement element); PsiFile[] findFormsBoundToClass(String className); diff --git a/openapi/src/com/intellij/psi/search/PsiSearchScopeUtil.java b/openapi/src/com/intellij/psi/search/PsiSearchScopeUtil.java index 284695588c53..0e33247ef2ac 100644 --- a/openapi/src/com/intellij/psi/search/PsiSearchScopeUtil.java +++ b/openapi/src/com/intellij/psi/search/PsiSearchScopeUtil.java @@ -15,160 +15,6 @@ import com.intellij.psi.util.PsiTreeUtil; import java.util.HashMap; public class PsiSearchScopeUtil { - public interface AccessScopeHandler { - SearchScope getAccessScope(PsiElement element); - } - - private static HashMap scopeHandlers = new HashMap(); - - public static void registerAccessScopeHandler(FileType fileType, AccessScopeHandler accessScopeHandler) { - scopeHandlers.put(fileType, accessScopeHandler); - } - - public static SearchScope getAccessScope(PsiElement element) { - if (element instanceof PsiPackage) { - return element.getUseScope(); - } - else if (element instanceof PsiClass) { - if (element instanceof PsiAnonymousClass) { - return new LocalSearchScope(element); - } - PsiFile file = element.getContainingFile(); - if (file instanceof JspFile) { - return new LocalSearchScope(file); - } - PsiClass aClass = (PsiClass)element; - if (aClass.hasModifierProperty(PsiModifier.PUBLIC)) { - return element.getUseScope(); - } - else if (aClass.hasModifierProperty(PsiModifier.PROTECTED)) { - return element.getUseScope(); - } - else if (aClass.hasModifierProperty(PsiModifier.PRIVATE)) { - PsiClass topClass = getTopLevelClass(aClass); - return topClass != null ? new LocalSearchScope(topClass) : new LocalSearchScope(aClass.getContainingFile()); - } - else { - PsiPackage aPackage = null; - if (file instanceof PsiJavaFile) { - aPackage = element.getManager().findPackage(((PsiJavaFile)file).getPackageName()); - } - - if (aPackage == null) { - PsiDirectory dir = file.getContainingDirectory(); - if (dir != null) { - aPackage = dir.getPackage(); - } - } - - if (aPackage != null) { - GlobalSearchScope scope = GlobalSearchScope.packageScope(aPackage, false); - scope = scope.intersectWith(element.getUseScope()); - return scope; - } - - return new LocalSearchScope(file); - } - } - else if (element instanceof PsiMethod) { - PsiFile file = element.getContainingFile(); - if (file instanceof JspFile) { - return new LocalSearchScope(file); - } - - PsiMethod method = (PsiMethod)element; - - PsiClass aClass = method.getContainingClass(); - if (aClass instanceof PsiAnonymousClass) { - //method from anonymous class can be called from outside the class - PsiElement methodCallExpr = PsiTreeUtil.getParentOfType(aClass, PsiMethodCallExpression.class); - return new LocalSearchScope(methodCallExpr != null ? methodCallExpr : aClass); - } - - if (method.hasModifierProperty(PsiModifier.PUBLIC)) { - return element.getUseScope(); - } - else if (method.hasModifierProperty(PsiModifier.PROTECTED)) { - return element.getUseScope(); - } - else if (method.hasModifierProperty(PsiModifier.PRIVATE)) { - PsiClass topClass = getTopLevelClass(method); - return topClass != null ? new LocalSearchScope(topClass) : new LocalSearchScope(method.getContainingFile()); - } - else { - PsiPackage aPackage = file.getContainingDirectory().getPackage(); - if (aPackage != null) { - GlobalSearchScope scope = GlobalSearchScope.packageScope(aPackage, false); - scope = scope.intersectWith(element.getUseScope()); - return scope; - } - else { - return new LocalSearchScope(file); - } - } - } - else if (element instanceof PsiField) { - PsiFile file = element.getContainingFile(); - if (file instanceof JspFile) { - return new LocalSearchScope(file); - } - PsiField field = (PsiField)element; - if (field.hasModifierProperty(PsiModifier.PUBLIC)) { - return element.getUseScope(); - } - else if (field.hasModifierProperty(PsiModifier.PROTECTED)) { - return element.getUseScope(); - } - else if (field.hasModifierProperty(PsiModifier.PRIVATE)) { - PsiClass topClass = getTopLevelClass(field); - return topClass != null ? new LocalSearchScope(topClass) : new LocalSearchScope(field.getContainingFile()); - } - else { - final PsiDirectory directory = file.getContainingDirectory(); - PsiPackage aPackage = directory == null ? null : directory.getPackage(); - if (aPackage != null) { - GlobalSearchScope scope = GlobalSearchScope.packageScope(aPackage, false); - scope = scope.intersectWith(element.getUseScope()); - return scope; - } - else { - return new LocalSearchScope(file); - } - } - } - else if (element instanceof ImplicitVariable) { - return new LocalSearchScope(((ImplicitVariable)element).getDeclarationScope()); - } - else if (element instanceof PsiLocalVariable) { - PsiElement parent = element.getParent(); - if (parent instanceof PsiDeclarationStatement) { - return new LocalSearchScope(parent.getParent()); - } - else { - return element.getUseScope(); - } - } - else if (element instanceof PsiParameter) { - return new LocalSearchScope(((PsiParameter)element).getDeclarationScope()); - } - else if (element instanceof PsiAntElement) { - return ((PsiAntElement)element).getSearchScope(); - } - else { - AccessScopeHandler accessScopeHandler = scopeHandlers.get(element.getContainingFile().getFileType()); - if (accessScopeHandler!=null) return accessScopeHandler.getAccessScope(element); - - return new LocalSearchScope(element.getContainingFile()); - } - } - - private static PsiClass getTopLevelClass(PsiElement element) { - while (!(element.getParent() instanceof PsiFile)) { - element = element.getParent(); - } - return element instanceof PsiClass ? (PsiClass)element : null; - } - //TODO: move to SearchScope itself public static SearchScope scopesUnion(SearchScope scope1, SearchScope scope2) { if (scope1 instanceof LocalSearchScope) { diff --git a/source/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java b/source/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java index a0903891969b..a9c2fbfa152c 100644 --- a/source/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java +++ b/source/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java @@ -80,7 +80,7 @@ public class UnusedParametersInspection extends FilteringInspectionTool { found[0] = true; return false; } - }, psiParameter, helper.getAccessScope(psiParameter), false); + }, psiParameter, helper.getUseScope(psiParameter), false); } } } diff --git a/source/com/intellij/find/findUsages/FindUsagesDialog.java b/source/com/intellij/find/findUsages/FindUsagesDialog.java index a53fccf5ebf3..44c10588bc1a 100644 --- a/source/com/intellij/find/findUsages/FindUsagesDialog.java +++ b/source/com/intellij/find/findUsages/FindUsagesDialog.java @@ -107,7 +107,7 @@ public abstract class FindUsagesDialog extends DialogWrapper{ } protected boolean isInFileOnly() { - return !myIsShowInNewTabVisible || PsiSearchScopeUtil.getAccessScope(myPsiElement) instanceof LocalSearchScope; + return !myIsShowInNewTabVisible || myPsiElement.getManager().getSearchHelper().getUseScope(myPsiElement) instanceof LocalSearchScope; } protected JComponent createNorthPanel() { diff --git a/source/com/intellij/psi/impl/PsiElementBase.java b/source/com/intellij/psi/impl/PsiElementBase.java index 92ae3551576d..208edd3b1749 100644 --- a/source/com/intellij/psi/impl/PsiElementBase.java +++ b/source/com/intellij/psi/impl/PsiElementBase.java @@ -13,6 +13,7 @@ import com.intellij.psi.PsiSubstitutor; import com.intellij.psi.impl.source.resolve.ResolveUtil; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.search.SearchScope; import com.intellij.util.IncorrectOperationException; public abstract class PsiElementBase extends ElementBase implements PsiElement { @@ -101,8 +102,8 @@ public abstract class PsiElementBase extends ElementBase implements PsiElement { return ((PsiManagerImpl)getManager()).getFileManager().getResolveScope(this); } - public GlobalSearchScope getUseScope() { - return ((PsiManagerImpl)getManager()).getFileManager().getUseScope(this); + public SearchScope getUseScope() { + return getManager().getSearchHelper().getUseScope(this); } public ItemPresentation getPresentation() { diff --git a/source/com/intellij/psi/impl/search/PsiSearchHelperImpl.java b/source/com/intellij/psi/impl/search/PsiSearchHelperImpl.java index 3470baf519e8..362b45148265 100644 --- a/source/com/intellij/psi/impl/search/PsiSearchHelperImpl.java +++ b/source/com/intellij/psi/impl/search/PsiSearchHelperImpl.java @@ -36,10 +36,7 @@ import com.intellij.psi.jsp.*; import com.intellij.psi.search.*; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.TokenSet; -import com.intellij.psi.util.MethodSignature; -import com.intellij.psi.util.MethodSignatureUtil; -import com.intellij.psi.util.PropertyUtil; -import com.intellij.psi.util.TypeConversionUtil; +import com.intellij.psi.util.*; import com.intellij.psi.xml.XmlAttributeValue; import com.intellij.psi.xml.XmlFile; import com.intellij.psi.xml.XmlTokenType; @@ -65,6 +62,148 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { WordInfo.JSP_ATTRIBUTE_VALUE | WordInfo.IN_COMMENTS; + public SearchScope getUseScope(PsiElement element) { + final GlobalSearchScope maximalUseScope = myManager.getFileManager().getUseScope(element); + if (element instanceof PsiPackage) { + return maximalUseScope; + } + else if (element instanceof PsiClass) { + if (element instanceof PsiAnonymousClass) { + return new LocalSearchScope(element); + } + PsiFile file = element.getContainingFile(); + if (file instanceof JspFile) { + return new LocalSearchScope(file); + } + PsiClass aClass = (PsiClass)element; + if (aClass.hasModifierProperty(PsiModifier.PUBLIC)) { + return maximalUseScope; + } + else if (aClass.hasModifierProperty(PsiModifier.PROTECTED)) { + return maximalUseScope; + } + else if (aClass.hasModifierProperty(PsiModifier.PRIVATE)) { + PsiClass topClass = getTopLevelClass(aClass); + return topClass != null ? new LocalSearchScope(topClass) : new LocalSearchScope(aClass.getContainingFile()); + } + else { + PsiPackage aPackage = null; + if (file instanceof PsiJavaFile) { + aPackage = element.getManager().findPackage(((PsiJavaFile)file).getPackageName()); + } + + if (aPackage == null) { + PsiDirectory dir = file.getContainingDirectory(); + if (dir != null) { + aPackage = dir.getPackage(); + } + } + + if (aPackage != null) { + SearchScope scope = GlobalSearchScope.packageScope(aPackage, false); + scope = scope.intersectWith(maximalUseScope); + return scope; + } + + return new LocalSearchScope(file); + } + } + else if (element instanceof PsiMethod) { + PsiFile file = element.getContainingFile(); + if (file instanceof JspFile) { + return new LocalSearchScope(file); + } + + PsiMethod method = (PsiMethod)element; + + PsiClass aClass = method.getContainingClass(); + if (aClass instanceof PsiAnonymousClass) { + //method from anonymous class can be called from outside the class + PsiElement methodCallExpr = PsiTreeUtil.getParentOfType(aClass, PsiMethodCallExpression.class); + return new LocalSearchScope(methodCallExpr != null ? methodCallExpr : aClass); + } + + if (method.hasModifierProperty(PsiModifier.PUBLIC)) { + return maximalUseScope; + } + else if (method.hasModifierProperty(PsiModifier.PROTECTED)) { + return maximalUseScope; + } + else if (method.hasModifierProperty(PsiModifier.PRIVATE)) { + PsiClass topClass = getTopLevelClass(method); + return topClass != null ? new LocalSearchScope(topClass) : new LocalSearchScope(method.getContainingFile()); + } + else { + PsiPackage aPackage = file.getContainingDirectory().getPackage(); + if (aPackage != null) { + SearchScope scope = GlobalSearchScope.packageScope(aPackage, false); + scope = scope.intersectWith(maximalUseScope); + return scope; + } + else { + return new LocalSearchScope(file); + } + } + } + else if (element instanceof PsiField) { + PsiFile file = element.getContainingFile(); + if (file instanceof JspFile) { + return new LocalSearchScope(file); + } + PsiField field = (PsiField)element; + if (field.hasModifierProperty(PsiModifier.PUBLIC)) { + return maximalUseScope; + } + else if (field.hasModifierProperty(PsiModifier.PROTECTED)) { + return maximalUseScope; + } + else if (field.hasModifierProperty(PsiModifier.PRIVATE)) { + PsiClass topClass = getTopLevelClass(field); + return topClass != null ? new LocalSearchScope(topClass) : new LocalSearchScope(field.getContainingFile()); + } + else { + final PsiDirectory directory = file.getContainingDirectory(); + PsiPackage aPackage = directory == null ? null : directory.getPackage(); + if (aPackage != null) { + SearchScope scope = GlobalSearchScope.packageScope(aPackage, false); + scope = scope.intersectWith(maximalUseScope); + return scope; + } + else { + return new LocalSearchScope(file); + } + } + } + else if (element instanceof ImplicitVariable) { + return new LocalSearchScope(((ImplicitVariable)element).getDeclarationScope()); + } + else if (element instanceof PsiLocalVariable) { + PsiElement parent = element.getParent(); + if (parent instanceof PsiDeclarationStatement) { + return new LocalSearchScope(parent.getParent()); + } + else { + return maximalUseScope; + } + } + else if (element instanceof PsiParameter) { + return new LocalSearchScope(((PsiParameter)element).getDeclarationScope()); + } + else if (element instanceof PsiAntElement) { + return ((PsiAntElement)element).getSearchScope(); + } + else { + return maximalUseScope; + } + } + + private static PsiClass getTopLevelClass(PsiElement element) { + while (!(element.getParent() instanceof PsiFile)) { + element = element.getParent(); + } + return element instanceof PsiClass ? (PsiClass)element : null; + } + public interface CustomSearchHelper { short getOccurenceMask(); TokenSet getElementTokenSet(); @@ -264,7 +403,7 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { SearchScope searchScope; if (!ignoreAccessScope) { - SearchScope accessScope = getAccessScope(refElement); + SearchScope accessScope = refElement.getUseScope(); searchScope = originalScope.intersectWith(accessScope); if (searchScope == null) return true; } @@ -671,9 +810,9 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { final String text = method.getName(); final PsiMethod[] methods = isStrictSignatureSearch ? new PsiMethod[]{method} : getOverloadsMayBeOverriden(method); - SearchScope accessScope = getAccessScope(methods[0]); + SearchScope accessScope = methods[0].getUseScope(); for (int i = 0; i < methods.length; i++) { - SearchScope someScope = PsiSearchScopeUtil.scopesUnion(accessScope, getAccessScope(methods[i])); + SearchScope someScope = PsiSearchScopeUtil.scopesUnion(accessScope, methods[i].getUseScope()); accessScope = someScope == null ? accessScope : someScope; } @@ -822,7 +961,7 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { return true; } - final SearchScope searchScope1 = searchScope.intersectWith(PsiSearchScopeUtil.getAccessScope(aClass)); + final SearchScope searchScope1 = searchScope.intersectWith(aClass.getUseScope()); RepositoryIndex repositoryIndex = repositoryManager.getIndex(); VirtualFileFilter rootFilter; @@ -1511,10 +1650,6 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { } } - public SearchScope getAccessScope(PsiElement element) { - return PsiSearchScopeUtil.getAccessScope(element); - } - public PsiFile[] findFormsBoundToClass(String className) { GlobalSearchScope projectScope = GlobalSearchScope.projectScope(myManager.getProject()); PsiFile[] files = myManager.getCacheManager().getFilesWithWord(className, WordInfo.GUI_FORM_CLASS_NAME, diff --git a/source/com/intellij/psi/impl/source/ASTWrapperPsiElement.java b/source/com/intellij/psi/impl/source/ASTWrapperPsiElement.java index e6fed915b6dd..55c37e02b13d 100644 --- a/source/com/intellij/psi/impl/source/ASTWrapperPsiElement.java +++ b/source/com/intellij/psi/impl/source/ASTWrapperPsiElement.java @@ -16,6 +16,7 @@ import com.intellij.psi.impl.ElementBase; import com.intellij.psi.impl.SharedPsiElementImplUtil; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.search.SearchScope; import com.intellij.util.IncorrectOperationException; /** @@ -219,7 +220,7 @@ public class ASTWrapperPsiElement extends ElementBase implements PsiElement, Nav throw new UnsupportedOperationException(); } - public GlobalSearchScope getUseScope() { + public SearchScope getUseScope() { throw new UnsupportedOperationException(); } diff --git a/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java b/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java index dc99caf7c6c2..843b525de49f 100644 --- a/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java +++ b/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java @@ -19,6 +19,7 @@ import com.intellij.psi.impl.source.codeStyle.CodeEditUtil; import com.intellij.psi.impl.source.resolve.ResolveUtil; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.search.SearchScope; import com.intellij.psi.tree.IElementType; import com.intellij.util.IncorrectOperationException; @@ -206,8 +207,8 @@ public abstract class CompositePsiElement extends CompositeElement implements Ps return ((PsiManagerImpl)getManager()).getFileManager().getResolveScope(this); } - public GlobalSearchScope getUseScope() { - return ((PsiManagerImpl)getManager()).getFileManager().getUseScope(this); + public SearchScope getUseScope() { + return getManager().getSearchHelper().getUseScope(this); } public ItemPresentation getPresentation() { diff --git a/source/com/intellij/psi/impl/source/tree/LeafPsiElement.java b/source/com/intellij/psi/impl/source/tree/LeafPsiElement.java index 2dcc960f10ac..366df140a383 100644 --- a/source/com/intellij/psi/impl/source/tree/LeafPsiElement.java +++ b/source/com/intellij/psi/impl/source/tree/LeafPsiElement.java @@ -12,6 +12,7 @@ import com.intellij.psi.impl.source.SourceTreeToPsiMap; import com.intellij.psi.impl.source.resolve.ResolveUtil; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.search.SearchScope; import com.intellij.psi.tree.IElementType; import com.intellij.util.CharTable; import com.intellij.util.IncorrectOperationException; @@ -178,8 +179,8 @@ public class LeafPsiElement extends LeafElementImpl implements PsiElement { return ((PsiManagerImpl)getManager()).getFileManager().getResolveScope(this); } - public GlobalSearchScope getUseScope() { - return ((PsiManagerImpl)getManager()).getFileManager().getUseScope(this); + public SearchScope getUseScope() { + return getManager().getSearchHelper().getUseScope(this); } public Project getProject() { diff --git a/source/com/intellij/refactoring/typeCook/deductive/builder/SystemBuilder.java b/source/com/intellij/refactoring/typeCook/deductive/builder/SystemBuilder.java index d4e26248e651..da0e5791d56a 100644 --- a/source/com/intellij/refactoring/typeCook/deductive/builder/SystemBuilder.java +++ b/source/com/intellij/refactoring/typeCook/deductive/builder/SystemBuilder.java @@ -108,7 +108,7 @@ public class SystemBuilder { keyParameter = parameter; } - final PsiMethod[] overriders = helper.findOverridingMethods(keyMethod, helper.getAccessScope(keyMethod), true); + final PsiMethod[] overriders = helper.findOverridingMethods(keyMethod, keyMethod.getUseScope(), true); PsiMethod prev = keyMethod; for (int i = 0; i < overriders.length; i++) { @@ -694,7 +694,7 @@ public class SystemBuilder { addUsage(system, element); if (!(element instanceof PsiExpression)) { - PsiReference[] refs = helper.findReferences(element, helper.getAccessScope(element), true); + PsiReference[] refs = helper.findReferences(element, helper.getUseScope(element), true); for (int k = 0; k < refs.length; k++) { final PsiElement ref = refs[k].getElement(); diff --git a/source/com/intellij/refactoring/util/RefactoringUtil.java b/source/com/intellij/refactoring/util/RefactoringUtil.java index 64eb19818837..bbb3e2c09418 100644 --- a/source/com/intellij/refactoring/util/RefactoringUtil.java +++ b/source/com/intellij/refactoring/util/RefactoringUtil.java @@ -133,7 +133,7 @@ public class RefactoringUtil { UsageInfoFactory factory) { PsiManager manager = element.getManager(); PsiSearchHelper helper = manager.getSearchHelper(); - SearchScope scope = helper.getAccessScope(element); + SearchScope scope = element.getUseScope(); scope = scope.intersectWith(GlobalSearchScope.projectScope(manager.getProject())); int index = stringToSearch.lastIndexOf('.'); String identifierToSearch = index >= 0 ? stringToSearch.substring(index + 1) : stringToSearch; diff --git a/source/com/intellij/xml/util/XmlUtil.java b/source/com/intellij/xml/util/XmlUtil.java index 1bfa161efdf0..92512f809a62 100644 --- a/source/com/intellij/xml/util/XmlUtil.java +++ b/source/com/intellij/xml/util/XmlUtil.java @@ -3,28 +3,25 @@ package com.intellij.xml.util; import com.intellij.codeInsight.completion.CompletionUtil; import com.intellij.j2ee.openapi.ex.ExternalResourceManagerEx; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.fileTypes.FileType; +import com.intellij.openapi.fileTypes.StdFileTypes; import com.intellij.openapi.util.Key; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.openapi.fileTypes.StdFileTypes; -import com.intellij.openapi.fileTypes.FileType; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementFactory; import com.intellij.psi.PsiFile; -import com.intellij.psi.meta.PsiMetaData; -import com.intellij.psi.tree.IElementType; import com.intellij.psi.filters.ClassFilter; +import com.intellij.psi.meta.PsiMetaData; import com.intellij.psi.scope.processor.FilterElementProcessor; import com.intellij.psi.search.PsiElementProcessor; -import com.intellij.psi.search.PsiSearchScopeUtil; -import com.intellij.psi.search.SearchScope; -import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.CachedValue; import com.intellij.psi.util.CachedValueProvider; import com.intellij.psi.util.PsiUtil; import com.intellij.psi.xml.*; -import com.intellij.util.IncorrectOperationException; import com.intellij.util.ArrayUtil; +import com.intellij.util.IncorrectOperationException; import com.intellij.xml.XmlElementDescriptor; import com.intellij.xml.impl.ant.AntPropertyDeclaration; @@ -52,14 +49,6 @@ public class XmlUtil { public static final String JSP_NAMESPACE = "http://java.sun.com/JSP/Page"; public static final String ALL_NAMESPACE = "http://www.intellij.net/ns/all"; - static { - PsiSearchScopeUtil.registerAccessScopeHandler(StdFileTypes.DTD, new PsiSearchScopeUtil.AccessScopeHandler() { - public SearchScope getAccessScope(PsiElement element) { - return GlobalSearchScope.projectScope(element.getProject()); - } - }); - } - public static String getSchemaLocation(XmlTag tag, String namespace) { final String uri = ExternalResourceManagerEx.getInstanceEx().getResourceLocation(namespace); if (uri != null && !uri.equals(namespace)) return uri;