mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
deprecate DomPatterns.withDom, always require tag&attribute name to avoid creating dom unless needed
This commit is contained in:
+1
-1
@@ -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(),
|
||||
|
||||
@@ -50,6 +50,9 @@ public class DomPatterns {
|
||||
return new GenericDomValuePattern<T>(aClass);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #tagWithDom(String, ElementPattern)} and {@link #attributeWithDom(String, ElementPattern)}
|
||||
*/
|
||||
public static XmlElementPattern.Capture withDom(final ElementPattern<? extends DomElement> pattern) {
|
||||
return new XmlElementPattern.Capture().with(new PatternCondition<XmlElement>("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<? extends DomElement> domPattern) {
|
||||
return XmlPatterns.xmlAttribute().withLocalName(tagName).and(withDom(domPattern));
|
||||
}
|
||||
|
||||
public static PsiElementPattern.Capture<PomTargetPsiElement> domTargetElement(final ElementPattern<? extends DomElement> pattern) {
|
||||
return PlatformPatterns.pomElement(withDomTarget(pattern));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user