CodeQL library for C/C++
codeql/cpp-all 10.2.0 (changelog, source)
Search

Module Public

Import path

import semmle.code.cpp.ir.dataflow.internal.DataFlowNodes

Imports

ExprNodes

Provides the classes ExprNode and IndirectExprNode for converting between Expr and Node.

Predicates

convertedExprNode

Gets the Node corresponding to the value of evaluating e. Here, e may be a Conversion. For data flowing out of an expression, like when an argument is passed by reference, use definitionByReferenceNodeFromArgument instead.

definitionByReferenceNodeFromArgument

Gets the Node corresponding to a definition by reference of the variable that is passed as unconverted argument of a call.

exprNode

Gets the Node corresponding to the value of evaluating e or any of its conversions. There is no result if e is a Conversion. For data flowing out of an expression, like when an argument is passed by reference, use definitionByReferenceNodeFromArgument instead.

hasInstructionAndIndex

Holds if indirectInstr is the dataflow node that represents the indirection of instr with indirection index indirectionIndex.

hasOperandAndIndex

Holds if indirectOperand is the dataflow node that represents the indirection of operand with indirection index indirectionIndex.

instructionNode

Gets the node corresponding to instr.

operandNode

Gets the node corresponding to operand.

parameterNode

Gets the Node corresponding to the value of p at function entry.

uninitializedNode

Gets the Node corresponding to the value of an uninitialized local variable v.

variableNode

Gets the VariableNode corresponding to the variable v.

Classes

DefinitionByReferenceNode

A node that represents the value of a variable after a function call that may have changed the variable because it’s passed by reference.

IndirectUninitializedNode

The value of an uninitialized local variable behind one or more levels of indirection, viewed as a node in a data flow graph.

InstructionNode

An instruction, viewed as a node in a data flow graph.

Node

A node in a data flow graph.

OperandNode

An operand, viewed as a node in a data flow graph.

PostUpdateNode

A node associated with an object after an operation that might have changed its state.

ThisParameterInstructionNode

An implicit this parameter.

UninitializedNode

The value of an uninitialized local variable, viewed as a node in a data flow graph.

VariableNode

A Node corresponding to a global (or static local) variable in the program, as opposed to the value of that variable at some particular point. This is used to model flow through global variables (and static local variables).