Skip to content

Commit 91c7362

Browse files
committed
CPP: Performance is better as a single regexp.
1 parent e3056ca commit 91c7362

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

cpp/ql/src/semmle/code/cpp/AutogeneratedFile.qll

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,27 @@ import semmle.code.cpp.Preprocessor
99
private predicate autogeneratedComment(Comment c) {
1010
// ?s = include newlines in anything (`.`)
1111
// ?i = ignore case
12+
c.getContents().regexpMatch("(?si).*(" +
1213

13-
// auto-generated, automatically generated etc.
14-
c.getContents().regexpMatch("(?si).*(auto[\\w-]*\\s*?generated).*") or
14+
// auto-generated, automatically generated etc.
15+
"(auto[\\w-]*\\s*?generated)|" +
1516

16-
// generated by (not used mid-sentence)
17-
c.getContents().regexpMatch("(?si).*[^a-zA-Z\\s\\*\\r\\n][\\s\\*\\r\\n]*(generated by).*") or
17+
// generated by (at beginning of sentence)
18+
"([^a-z\\s\\*\\r\\n][\\s\\*\\r\\n]*(generated by)[^a-z])|" +
1819

19-
// generated file
20-
c.getContents().regexpMatch("(?si).*(generated file).*") or
20+
// generated file
21+
"(generated file)|" +
2122

22-
// file [is] generated
23-
c.getContents().regexpMatch("(?si).*(file( is)? generated).*") or
23+
// file [is] generated
24+
"(file( is)? generated)|" +
2425

25-
// changes made in this file will be lost
26-
c.getContents().regexpMatch("(?si).*(changes made in this file will be lost).*") or
26+
// changes made in this file will be lost
27+
"(changes made in this file will be lost)|" +
2728

28-
// do not edit/modify
29-
c.getContents().regexpMatch("(?si).*(do(n't|nt| not) (edit|modify)).*")
29+
// do not edit/modify
30+
"(do(n't|nt| not) (edit|modify))" +
31+
32+
").*")
3033
}
3134

3235
/**

0 commit comments

Comments
 (0)