mirror of
https://github.com/github/codeql.git
synced 2026-01-12 22:14:47 +01:00
24 lines
856 B
Plaintext
24 lines
856 B
Plaintext
import cpp
|
|
|
|
string getASuccessorOrNone(ControlFlowNode n) {
|
|
if exists(n.getASuccessor())
|
|
then exists (ControlFlowNode s, string trueSucc, string falseSucc |
|
|
s = n.getASuccessor()
|
|
and if s = n.getATrueSuccessor() then trueSucc = "<true> "
|
|
else trueSucc = ""
|
|
and if s = n.getAFalseSuccessor() then falseSucc = "<false> "
|
|
else falseSucc = ""
|
|
and result = trueSucc + falseSucc + s.toString())
|
|
else result = "<none>"
|
|
}
|
|
|
|
from ControlFlowNode n
|
|
select n.getLocation().getFile().getShortName(),
|
|
n.getControlFlowScope(),
|
|
n.getLocation().getStartLine(),
|
|
count(n.getAPredecessor*()), // This helps order things sensibly
|
|
n.getLocation(),
|
|
n,
|
|
getASuccessorOrNone(n)
|
|
|