From ce59995d41123af32d5b2b2b496269e4a42df5f6 Mon Sep 17 00:00:00 2001 From: Eugene Vigdorchik Date: Fri, 14 Jan 2005 19:21:59 +0300 Subject: [PATCH] (no message) --- .../reference/ReferenceProvidersRegistry.java | 25 ++++++++++++++++--- .../providers/JavaClassReferenceProvider.java | 16 ------------ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/source/com/intellij/psi/impl/source/resolve/reference/ReferenceProvidersRegistry.java b/source/com/intellij/psi/impl/source/resolve/reference/ReferenceProvidersRegistry.java index bc1f1d8d7d80..1a35b02f3326 100644 --- a/source/com/intellij/psi/impl/source/resolve/reference/ReferenceProvidersRegistry.java +++ b/source/com/intellij/psi/impl/source/resolve/reference/ReferenceProvidersRegistry.java @@ -10,6 +10,7 @@ import com.intellij.psi.filters.*; import com.intellij.psi.filters.position.NamespaceFilter; import com.intellij.psi.filters.position.ParentElementFilter; import com.intellij.psi.filters.position.TokenTypeFilter; +import com.intellij.psi.filters.position.SuperParentFilter; import com.intellij.psi.impl.source.resolve.ResolveUtil; import com.intellij.psi.impl.source.resolve.reference.impl.manipulators.JspAttributeValueManipulator; import com.intellij.psi.impl.source.resolve.reference.impl.manipulators.PlainFileManipulator; @@ -17,13 +18,12 @@ import com.intellij.psi.impl.source.resolve.reference.impl.manipulators.XmlAttri import com.intellij.psi.impl.source.resolve.reference.impl.providers.JSPActionReferenceProvider; import com.intellij.psi.impl.source.resolve.reference.impl.providers.JavaClassListReferenceProvider; import com.intellij.psi.impl.source.resolve.reference.impl.providers.JavaClassReferenceProvider; +import com.intellij.psi.impl.source.resolve.reference.impl.providers.JspxIncludePathReferenceProvider; import com.intellij.psi.jsp.JspAction; import com.intellij.psi.jsp.JspAttributeValue; import com.intellij.psi.jsp.JspDirective; import com.intellij.psi.jsp.JspToken; -import com.intellij.psi.xml.XmlAttributeValue; -import com.intellij.psi.xml.XmlToken; -import com.intellij.psi.xml.XmlTokenType; +import com.intellij.psi.xml.*; import com.intellij.xml.util.XmlUtil; import java.util.ArrayList; @@ -96,6 +96,25 @@ public class ReferenceProvidersRegistry implements ProjectComponent { new JavaClassReferenceProvider() ); + registerReferenceProvider( + new ScopeFilter ( + new AndFilter ( + new SuperParentFilter( + new NamespaceFilter(XmlUtil.JSP_NAMESPACE) + ), + new ParentElementFilter( + new AndFilter( + new ClassFilter(XmlTag.class), + new TextFilter("jsp:directive.include") + + ), 2 + ) + ) + ), + XmlAttributeValue.class, + new JspxIncludePathReferenceProvider() + ); + //registerReferenceProvider(new ScopeFilter(new ParentElementFilter(new AndFilter(new TextFilter("target"), // new ParentElementFilter(new AndFilter( // new NamespaceFilter(XmlUtil.ANT_URI), diff --git a/source/com/intellij/psi/impl/source/resolve/reference/impl/providers/JavaClassReferenceProvider.java b/source/com/intellij/psi/impl/source/resolve/reference/impl/providers/JavaClassReferenceProvider.java index 1e9f5138581f..30b0af600f8e 100644 --- a/source/com/intellij/psi/impl/source/resolve/reference/impl/providers/JavaClassReferenceProvider.java +++ b/source/com/intellij/psi/impl/source/resolve/reference/impl/providers/JavaClassReferenceProvider.java @@ -83,22 +83,6 @@ public class JavaClassReferenceProvider extends GenericReferenceProvider{ return cachedPackages; } - public String findPrefix(PsiElement element, int position){ - final String text = element.getText().substring(0, position + 1); - return text.substring(text.lastIndexOf(SEPARATOR) + 1); - } - - // Not implemented yet - public PsiElement handleElementRename(PsiElement element, String newElementName) throws IncorrectOperationException{ - return null; - } - - - // Not implemented yet - public PsiElement bindToElement(GenericReference reference, PsiElement element) throws IncorrectOperationException{ - return null; - } - protected class ReferenceSet{ private JavaReference[] myReferences; private final PsiElement myElement;