Module DataFlowUtil
Provides C++-specific definitions for use in the data flow library.
Import path
import semmle.code.cpp.ir.dataflow.internal.DataFlowUtil
Imports
Cached | |
ExprFlowCached | INTERNAL: Do not use. |
RawIndirectNodes |
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 |
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
AdditionalCallTarget | A unit class for adding additional call steps. |
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. |
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. |
ExprFlowCached | INTERNAL: Do not use. |
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 |