Module DataFlowUtil
Provides C++-specific definitions for use in the data flow library.
Import path
import semmle.code.cpp.ir.dataflow.internal.DataFlowUtil
Imports
Predicates
conversionFlow |
Holds if |
convertedExprNode |
Gets the |
definitionByReferenceNodeFromArgument |
Gets the |
exprNode |
Gets the |
exprNodeShouldBeInstruction |
Holds if |
exprNodeShouldBeOperand |
Holds if |
getTypeImpl |
INTERNAL: Do not use. |
hasInstructionAndIndex | |
hasOperandAndIndex | |
indirectExprNodeShouldBeIndirectInstruction |
Holds if |
indirectReturnOutNodeInstruction0 | |
indirectReturnOutNodeOperand0 | |
instructionNode |
Gets the node corresponding to |
localExprFlow |
Holds if data can flow from |
localFlow |
Holds if data flows from |
localInstructionFlow |
Holds if data can flow from |
operandNode |
Gets the node corresponding to |
parameterNode |
Gets the |
stripPointer |
INTERNAL: Do not use. |
uninitializedNode |
DEPRECATED: See UninitializedNode. |
variableNode |
Gets the |
Classes
BarrierGuard |
DEPRECATED: Use |
Content |
A description of the way data may be stored inside an object. Examples include instance fields, the contents of a collection object, or the contents of an array. |
ContentSet |
An entity that represents a set of |
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. |
DirectParameterNode |
An explicit positional parameter, including |
ExprNode |
An expression, viewed as a node in a data flow graph. |
FieldAddress |
An operand that is defined by a |
FieldContent |
A reference through a non-union instance field. |
FinalGlobalValue |
INTERNAL: do not use. |
FinalParameterNode |
INTERNAL: do not use. |
IndirectArgumentOutNode |
INTERNAL: do not use. |
IndirectExprNode |
An indirect expression, viewed as a node in a data flow graph. |
IndirectParameterNode |
INTERNAL: do not use. |
IndirectReturnNode |
INTERNAL: do not use. |
IndirectReturnOutNode |
INTERNAL: do not use. |
InitialGlobalValue |
INTERNAL: do not use. |
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. |
ParameterIndirectionNode |
A synthetic parameter to model the pointed-to object of a pointer parameter. |
ParameterNode |
The value of a parameter at function entry, viewed as a node in a data flow graph. This includes both explicit parameters such as |
PostFieldUpdateNode |
INTERNAL: do not use. |
PostUpdateNode |
A node associated with an object after an operation that might have changed its state. |
RawIndirectInstruction |
INTERNAL: Do not use. |
RawIndirectOperand |
INTERNAL: Do not use. |
SideEffectOperandNode |
INTERNAL: do not use. |
SsaPhiNode |
INTERNAL: do not use. |
ThisParameterNode |
An implicit |
UninitializedNode |
The value of an uninitialized local variable, viewed as a node in a data flow graph. |
UnionContent |
A reference through an instance field of a union. |
VariableNode |
A |
Modules
BarrierGuard |
Provides a set of barrier nodes for a guard that validates an expression. |
InstructionBarrierGuard |
Provides a set of barrier nodes for a guard that validates an instruction. |
Predicate signatures
guardChecksSig |
Holds if the guard |
instructionGuardChecksSig |
Holds if the guard |