diff --git a/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/strategies/ExprMatchingStrategy.java b/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/strategies/ExprMatchingStrategy.java index a1bebac82a42..d19205ff3317 100644 --- a/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/strategies/ExprMatchingStrategy.java +++ b/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/strategies/ExprMatchingStrategy.java @@ -55,6 +55,11 @@ public class ExprMatchingStrategy extends MatchingStrategyBase { result = true; } + @Override + public void visitPackageStatement(PsiPackageStatement statement) { + result = true; + } + // finding parameters @Override public void visitParameterList(final PsiParameterList list) { result = true; diff --git a/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java b/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java index 002d0cea3aee..f5f6ee36de49 100644 --- a/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java +++ b/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java @@ -2451,6 +2451,14 @@ public class StructuralSearchTest extends StructuralSearchTestCase { "}\n"; assertEquals("Find annotated casts", 1, findMatchesCount(source3, "(@'_A 'Cast) '_Expression")); assertEquals("Find annotated new expressions", 1, findMatchesCount(source3, "new @'_A 'Type()")); + + // package-info.java + final String source4 = "/**\n" + + " * documentation\n" + + " */\n" + + "@Deprecated\n" + + "package one.two;"; + assertEquals("Find annotation on package statement", 1, findMatchesCount(source4, "@'_Annotation", true)); } public void testBoxingAndUnboxing() {