diff --git a/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/compiler/JavaCompilingVisitor.java b/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/compiler/JavaCompilingVisitor.java index fdd7ef75bb04..42673890b6b2 100644 --- a/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/compiler/JavaCompilingVisitor.java +++ b/java/structuralsearch-java/src/com/intellij/structuralsearch/impl/matcher/compiler/JavaCompilingVisitor.java @@ -119,7 +119,7 @@ public class JavaCompilingVisitor extends JavaRecursiveElementWalkingVisitor { for (PsiClass aClass : classes) { if (includeSelf) { final String name = aClass.getName(); - if (name != null) result.add(name);; + if (name != null) result.add(name); } ClassInheritorsSearch.search(aClass, projectAndLibraries, true).forEach(c -> { final String name = c.getName(); @@ -177,10 +177,6 @@ public class JavaCompilingVisitor extends JavaRecursiveElementWalkingVisitor { throw new MalformedPatternException(); } - if (handler.getPredicate() != null) { - ((RegExpPredicate)handler.getPredicate()).setMultiline(true); - } - RegExpPredicate predicate = handler.findRegExpPredicate(); if (GlobalCompilingVisitor.isSuitablePredicate(predicate, handler)) { myCompilingVisitor.processTokenizedName(predicate.getRegExp(), true, GlobalCompilingVisitor.OccurenceKind.COMMENT); diff --git a/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java b/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java index 7cfd561fb7ec..279205ae0a53 100644 --- a/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java +++ b/platform/structuralsearch/testSource/com/intellij/structuralsearch/StructuralSearchTest.java @@ -1385,6 +1385,9 @@ public class StructuralSearchTest extends StructuralSearchTestCase { assertEquals("Comment matching", 3, findMatchesCount(s1, "// 'Comment:[regex( .*(?:comment).* )]")); assertEquals("Comment matching, 2", 3, findMatchesCount(s1, "/* 'Comment:[regex( .*(?:comment).* )] */")); assertEquals("Java doc matching", 1, findMatchesCount(s1, "/** 'Comment:[regex( .*(?:comment).* )] */")); + assertEquals("Comment matching with negate", 2, findMatchesCount(s1, "// 'not_comment:[!regex( .*(?:comment).* )]")); + assertEquals("Multi line", 1, findMatchesCount(s1, "//'_comment:[regex( .*another.* )]")); + assertEquals("Multi line negated", 4, findMatchesCount(s1, "//'_comment:[!regex( .*another.* )]")); String s4 = "class X {{ java.util.Arrays.asList(\"'test\", \"another test\", \"garbage\"); }}"; assertEquals("Literal content", 2, findMatchesCount(s4, "\"'test:[regex( .*test.* )]\""));