Files
codeql/cpp/ql/test/library-tests/attributes/sal/sal.ql
2018-08-02 17:53:23 +01:00

24 lines
745 B
Plaintext

import cpp
predicate argsOrPlaceholder(Attribute a, int index, int start_line, string name, string value) {
if exists(a.getAnArgument()) then
exists(AttributeArgument arg | arg = a.getAnArgument() |
index = arg.getIndex() and
start_line = arg.getLocation().getStartLine() and
name = arg.getName() and
value = arg.getValueText()
)
else
(
index = -1 and
start_line = a.getLocation().getStartLine() and
name = "" and
value = ""
)
}
from Parameter p, Attribute a, int arg_index, int arg_line, string arg_name, string arg_value
where a = p.getAnAttribute()
and argsOrPlaceholder(a, arg_index, arg_line, arg_name, arg_value)
select arg_line, p, a, arg_index, arg_name, arg_value