Fix regex in ClassifyFiles.

`Comment.getText()` does not include the delimiter.
This commit is contained in:
Max Schaefer
2020-01-24 13:22:20 +00:00
parent 9507a22f48
commit 77b86150d6
3 changed files with 15 additions and 3 deletions

View File

@@ -15,9 +15,7 @@ string generatorCommentRegex() {
result = "This (file|class|interface|art[ei]fact) (was|is) (?:mechanically|automatically) generated" or
result = "The following code was (?:auto[ -]?)?generated (?:by|from)" or
result = "Autogenerated by Thrift" or
result = "(Code g|G)enerated from .* by ANTLR" or
// regular expression recommended for Go code generators (https://golang.org/pkg/cmd/go/internal/generate/)
result = "(^|\n)// Code generated .* DO NOT EDIT\\.($|\n)"
result = "(Code g|G)enerated from .* by ANTLR"
}
predicate classify(File f, string category) {
@@ -36,6 +34,10 @@ predicate classify(File f, string category) {
// generated code
exists(Comment c | c.getFile() = f |
c.getText().regexpMatch("(?i).*\\b(" + concat(generatorCommentRegex(), "|") + ")\\b.*")
or
// regular expression recommended for Go code generators
// (https://golang.org/pkg/cmd/go/internal/generate/)
c.getText().regexpMatch("^\\s*Code generated .* DO NOT EDIT\\.\\s*$")
) and
category = "generated"
}

View File

@@ -1 +1,2 @@
| hello2.go:0:0:0:0 | hello2.go | generated |
| hello.go:0:0:0:0 | hello.go | generated |

View File

@@ -0,0 +1,9 @@
// Code generated from stuff; DO NOT EDIT.
package main
import "fmt"
func main2() {
fmt.Println("Hello, world!")
}