From 84e361cf67aac1cf25de91809558175087f1a10f Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Wed, 19 Oct 2016 19:09:03 +0200 Subject: [PATCH] SSR: fix matching super calls --- .../impl/matcher/JavaMatchingVisitor.java | 2 +- .../structuralsearch/StructuralSearchTest.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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 d1fa39927abf..c648e2256c83 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 @@ -1342,7 +1342,7 @@ public class JavaMatchingVisitor extends JavaElementVisitor { @Override public void visitSuperExpression(final PsiSuperExpression super1) { - myMatchingVisitor.setResult(true); + myMatchingVisitor.setResult(myMatchingVisitor.getElement() instanceof PsiSuperExpression); } @Override diff --git a/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java b/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java index 316aadc640d3..205354813a19 100644 --- a/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java +++ b/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java @@ -3488,4 +3488,16 @@ public class StructuralSearchTest extends StructuralSearchTestCase { assertEquals("find diamond new expressions", 3, findMatchesCount(source, "new A<>()")); assertEquals("find parameterized new expressions", 2, findMatchesCount(source, "new A()")); } + + + + public void testFindSuperCall() { + String source = "class A {" + + " public String toString() {" + + " System.out.println();" + + " return super.toString();" + + " }" + + "}"; + assertEquals("find super call", 1, findMatchesCount(source, "super.$m$()")); + } }