Files
codeql/python/ql/test/library-tests/PointsTo/new/TestEvaluate.ql
2019-06-13 18:23:54 +01:00

20 lines
664 B
Plaintext

import python
import semmle.python.pointsto.PointsTo
import semmle.python.pointsto.PointsToContext
import Util
from ControlFlowNode test, ControlFlowNode use, ObjectInternal val, boolean eval, PointsToContext ctx, ControlFlowNode origin, string what
where
not use instanceof NameConstantNode and
not use.getNode() instanceof ImmutableLiteral and
eval = Conditionals::testEvaluates(test, use, ctx, val, origin) and
(
what = val.getSource().(Object).toString()
or
not exists(val.getSource()) and what = origin.getNode().toString()
)
select locate(test.getLocation(), "bc"), test.getNode().toString(), eval.toString(), use.getNode().toString(), what