CodeQL library for Python
codeql/python-all 0.7.1 (changelog, source)
Search

Datatype TNode

IPA type for data flow nodes.

Flow between SSA variables are computed in Essa.qll

Flow from SSA variables to control flow nodes are generally via uses.

Flow from control flow nodes to SSA variables are generally via assignments.

The current implementation of these cross flows can be seen in EssaTaintTracking.

Import path

import semmle.python.dataflow.new.internal.DataFlowPublic

Known direct subtypes

Branch types

TCfgNode

A node corresponding to a control flow node.

TEssaNode

A node corresponding to an SSA variable.

TIterableElementNode

A synthetic node representing that there may be an iterable element for consumer to consume.

TIterableSequenceNode

A synthetic node representing that an iterable sequence flows to consumer.

TKwOverflowNode

A node representing the overflow keyword arguments to a call. That is, call contains keyword arguments for keys that do not have keyword parameters in callable. These extra ones are passed as a dictionary to a doubly starred parameter; this synthetic node represents that dictionary.

TKwUnpackedNode

A node representing an unpacked element of a dictionary argument. That is, call contains argument **{"foo": bar} which is passed to parameter foo of callable.

TModuleVariableNode

A node representing a global (module-level) variable in a specific module.

TPosOverflowNode

A node representing the overflow positional arguments to a call. That is, call contains more positional arguments than there are positional parameters in callable. The extra ones are passed as a tuple to a starred parameter; this synthetic node represents that tuple.

TStarPatternElementNode

A synthetic node representing element content in a star pattern.

TSummaryNode
TSummaryParameterNode
TSyntheticOrmModelNode

INTERNAL: Do not use.

TSyntheticPostUpdateNode

A synthetic node representing the value of an object after a state change.

TSyntheticPreUpdateNode

A synthetic node representing the value of an object before a state change

Injectors

TCfgNode

A node corresponding to a control flow node.

TEssaNode

A node corresponding to an SSA variable.

TIterableElementNode

A synthetic node representing that there may be an iterable element for consumer to consume.

TIterableSequenceNode

A synthetic node representing that an iterable sequence flows to consumer.

TKwOverflowNode

A node representing the overflow keyword arguments to a call. That is, call contains keyword arguments for keys that do not have keyword parameters in callable. These extra ones are passed as a dictionary to a doubly starred parameter; this synthetic node represents that dictionary.

TKwUnpackedNode

A node representing an unpacked element of a dictionary argument. That is, call contains argument **{"foo": bar} which is passed to parameter foo of callable.

TModuleVariableNode

A node representing a global (module-level) variable in a specific module.

TPosOverflowNode

A node representing the overflow positional arguments to a call. That is, call contains more positional arguments than there are positional parameters in callable. The extra ones are passed as a tuple to a starred parameter; this synthetic node represents that tuple.

TStarPatternElementNode

A synthetic node representing element content in a star pattern.

TSummaryNode
TSummaryParameterNode
TSyntheticOrmModelNode

INTERNAL: Do not use.

TSyntheticPostUpdateNode

A synthetic node representing the value of an object after a state change.

TSyntheticPreUpdateNode

A synthetic node representing the value of an object before a state change