diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPropertyPsiReferenceContributor.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPropertyPsiReferenceContributor.java index 6ea57e425bf9..8042b573bf69 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPropertyPsiReferenceContributor.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPropertyPsiReferenceContributor.java @@ -27,7 +27,7 @@ import org.jetbrains.idea.maven.dom.model.MavenDomProperties; public class MavenPropertyPsiReferenceContributor extends PsiReferenceContributor { @Override public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar) { - ElementPattern pattern = XmlPatterns.xmlTag().withParent(DomPatterns.withDom(DomPatterns.domElement(MavenDomProperties.class))); + ElementPattern pattern = XmlPatterns.xmlTag().withParent(DomPatterns.tagWithDom("properties", DomPatterns.domElement(MavenDomProperties.class))); registrar.registerReferenceProvider(pattern, new MavenPropertyPsiReferenceProvider(), PsiReferenceRegistrar.DEFAULT_PRIORITY); registrar.registerReferenceProvider(PlatformPatterns.psiElement(), new MavenFilteredPropertyPsiReferenceProvider(), diff --git a/xml/dom-openapi/src/com/intellij/patterns/DomPatterns.java b/xml/dom-openapi/src/com/intellij/patterns/DomPatterns.java index 94bb8e14442b..4c6ac8cd53de 100644 --- a/xml/dom-openapi/src/com/intellij/patterns/DomPatterns.java +++ b/xml/dom-openapi/src/com/intellij/patterns/DomPatterns.java @@ -50,6 +50,9 @@ public class DomPatterns { return new GenericDomValuePattern(aClass); } + /** + * @deprecated use {@link #tagWithDom(String, ElementPattern)} and {@link #attributeWithDom(String, ElementPattern)} + */ public static XmlElementPattern.Capture withDom(final ElementPattern pattern) { return new XmlElementPattern.Capture().with(new PatternCondition("tagWithDom") { @Override @@ -75,6 +78,10 @@ public class DomPatterns { return XmlPatterns.xmlTag().withLocalName(tagName).and(withDom(domPattern)); } + public static XmlNamedElementPattern.XmlAttributePattern attributeWithDom(String tagName, ElementPattern domPattern) { + return XmlPatterns.xmlAttribute().withLocalName(tagName).and(withDom(domPattern)); + } + public static PsiElementPattern.Capture domTargetElement(final ElementPattern pattern) { return PlatformPatterns.pomElement(withDomTarget(pattern)); }