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

Datatype TNode

IPA type for data flow nodes.

Nodes broadly fall into three categories.

  • Control flow nodes: Flow between these is based on use-use flow computed via an SSA analysis.
  • Module variable nodes: These represent global variables and act as canonical targets for reads and writes of these.
  • Synthetic nodes: These handle flow in various special cases.

Import path

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

Known direct subtypes

Branch types

TCfgNode

A node corresponding to a control flow node.

TFlowSummaryNode
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.

TModuleVariableNode

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

TScopeEntryDefinitionNode

A node corresponding to a scope entry definition. That is, the value of a variable as it enters a scope.

TStarPatternElementNode

A synthetic node representing element content in a star pattern.

TSynthCaptureNode

A synthetic node representing a captured variable.

TSynthCapturedVariablesParameterNode

A synthetic node representing the heap of a function. Used for variable capture.

TSynthDictSplatArgumentNode

A synthetic node to capture keyword arguments that are passed to a **kwargs parameter.

TSynthDictSplatParameterNode

A synthetic node to allow flow to keyword parameters from a **kwargs argument.

TSynthStarArgsElementParameterNode

A synthetic node to capture positional arguments that are passed to a *args parameter.

TSyntheticOrmModelNode

INTERNAL: Do not use.

TSyntheticPostUpdateNode

A synthetic node representing the value of an object after a state change. See QLDoc for PostUpdateNode.

TSyntheticPreUpdateNode

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

Injectors

TCfgNode

A node corresponding to a control flow node.

TFlowSummaryNode
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.

TModuleVariableNode

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

TScopeEntryDefinitionNode

A node corresponding to a scope entry definition. That is, the value of a variable as it enters a scope.

TStarPatternElementNode

A synthetic node representing element content in a star pattern.

TSynthCaptureNode

A synthetic node representing a captured variable.

TSynthCapturedVariablesParameterNode

A synthetic node representing the heap of a function. Used for variable capture.

TSynthDictSplatArgumentNode

A synthetic node to capture keyword arguments that are passed to a **kwargs parameter.

TSynthDictSplatParameterNode

A synthetic node to allow flow to keyword parameters from a **kwargs argument.

TSynthStarArgsElementParameterNode

A synthetic node to capture positional arguments that are passed to a *args parameter.

TSyntheticOrmModelNode

INTERNAL: Do not use.

TSyntheticPostUpdateNode

A synthetic node representing the value of an object after a state change. See QLDoc for PostUpdateNode.

TSyntheticPreUpdateNode

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