From fdef8bbd705df4355a91085c6afb3db1780f8cb7 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Fri, 14 Nov 2014 17:44:42 +0100 Subject: [PATCH] SSR: cleanup annotation matching --- .../impl/matcher/JavaMatchingVisitor.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/JavaMatchingVisitor.java b/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/JavaMatchingVisitor.java index a540080d95d9..f853512ee77d 100644 --- a/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/JavaMatchingVisitor.java +++ b/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/JavaMatchingVisitor.java @@ -306,10 +306,7 @@ public class JavaMatchingVisitor extends JavaElementVisitor { @Override public void visitNameValuePair(PsiNameValuePair pair) { - final PsiIdentifier nameIdentifier = pair.getNameIdentifier(); - final PsiNameValuePair elementNameValuePair = (PsiNameValuePair)myMatchingVisitor.getElement(); - final PsiIdentifier otherIdentifier = elementNameValuePair.getNameIdentifier(); final PsiAnnotationMemberValue annotationInitializer = pair.getValue(); if (annotationInitializer != null) { @@ -323,16 +320,20 @@ public class JavaMatchingVisitor extends JavaElementVisitor { )); } if (myMatchingVisitor.getResult()) { - final MatchingHandler handler = myMatchingVisitor.getMatchContext().getPattern().getHandler(nameIdentifier); - - if (handler instanceof SubstitutionHandler) { - myMatchingVisitor.setResult(((SubstitutionHandler)handler).handle(otherIdentifier, myMatchingVisitor.getMatchContext())); - } - else if (nameIdentifier != null) { - myMatchingVisitor.setResult(myMatchingVisitor.match(nameIdentifier, otherIdentifier)); + final PsiIdentifier nameIdentifier = pair.getNameIdentifier(); + final PsiIdentifier otherIdentifier = elementNameValuePair.getNameIdentifier(); + if (nameIdentifier == null) { + myMatchingVisitor.setResult(otherIdentifier == null || + otherIdentifier.getText().equals(PsiAnnotation.DEFAULT_REFERENCED_METHOD_NAME)); } else { - myMatchingVisitor.setResult(otherIdentifier == null || otherIdentifier.getText().equals("value")); + final MatchingHandler handler = myMatchingVisitor.getMatchContext().getPattern().getHandler(nameIdentifier); + if (handler instanceof SubstitutionHandler) { + myMatchingVisitor.setResult(((SubstitutionHandler)handler).handle(otherIdentifier, myMatchingVisitor.getMatchContext())); + } + else { + myMatchingVisitor.setResult(myMatchingVisitor.match(nameIdentifier, otherIdentifier)); + } } } }