mirror of
https://github.com/github/codeql.git
synced 2026-03-30 20:28:15 +02:00
Some files that will change in #1736 have been spared. ./build -j4 target/jars/qlformat find ql/cpp/ql -name "*.ql" -print0 | xargs -0 target/jars/qlformat --input find ql/cpp/ql -name "*.qll" -print0 | xargs -0 target/jars/qlformat --input (cd ql && git checkout 'cpp/ql/src/semmle/code/cpp/ir/implementation/**/*SSA*.qll') buildutils-internal/scripts/pr-checks/sync-identical-files.py --latest
23 lines
446 B
Plaintext
23 lines
446 B
Plaintext
/**
|
|
* @name Scopes2
|
|
* @kind table
|
|
*/
|
|
|
|
import cpp
|
|
|
|
// This test finds places where Element.getParentScope() isn't tree-like. There
|
|
// should be no results.
|
|
from Element e, int i
|
|
where
|
|
i = count(e.getParentScope()) and
|
|
(
|
|
i > 1 // multiple parents
|
|
or
|
|
e.getParentScope+() = e // cyclic parent relation
|
|
or
|
|
// not GlobalNamespace ancestor
|
|
i > 0 and
|
|
not e.getParentScope+() instanceof GlobalNamespace
|
|
)
|
|
select e, i
|