AlertSuppression: allow //lgtm comments to scope over the next line

This commit is contained in:
Arthur Baars
2022-12-14 15:25:01 +01:00
parent 016c7a8ca7
commit c176606be5
14 changed files with 345 additions and 28 deletions

View File

@@ -8,20 +8,22 @@
private import codeql.suppression.AlertSuppression as AS
private import codeql.ruby.ast.internal.TreeSitter
class SingleLineComment extends Ruby::Comment {
SingleLineComment() {
// suppression comments must be single-line
this.getLocation().getStartLine() = this.getLocation().getEndLine()
}
class AstNode extends Ruby::Token {
predicate hasLocationInfo(
string filepath, int startline, int startcolumn, int endline, int endcolumn
) {
this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn)
}
}
class SingleLineComment extends Ruby::Comment, AstNode {
SingleLineComment() {
// suppression comments must be single-line
this.getLocation().getStartLine() = this.getLocation().getEndLine()
}
/** Gets the suppression annotation in this comment. */
string getText() { result = this.getValue().suffix(1) }
}
import AS::Make<SingleLineComment>
import AS::Make<AstNode, SingleLineComment>