Module DataFlowPrivate
Import path
import semmle.code.cpp.ir.dataflow.internal.DataFlowPrivate
Predicates
additionalLambdaFlowStep | Extra data-flow steps needed for lambda flow analysis. |
allowParameterReturnInSelf | Holds if flow is allowed to pass from parameter |
clearsContent | Holds if values stored inside content |
compatibleTypes | Holds if |
expectsContent | Holds if the value that is being tracked is expected to be stored inside content |
forceHighPrecision | Holds if access paths with |
getAUse | Gets a use of the instruction |
getAnOutNode | Gets a node that can read the value returned from |
getContentApprox | Gets an approximated value for content |
getInstructionType | Gets the type of the instruction |
getNodeType | Gets the type of |
getOperandType | Gets the type of the operand |
instructionForFullyConvertedCall | Gets the instruction that represents the first use of the value of |
isArgumentNode | Holds if |
isParameterNode | Holds if |
jumpStep | Holds if data can flow from |
lambdaCall | Holds if |
lambdaCreation | Holds if |
localMustFlowStep | |
nodeGetEnclosingCallable | Gets the callable in which this node occurs. |
nodeHasInstruction | |
nodeHasOperand | |
nodeIsHidden | Holds if |
operandForFullyConvertedCall | Gets the operand that represents the use of the value of |
ppReprType | Gets a string representation of a type returned by |
readStep | Holds if data can flow from |
simpleOutNode | Holds if |
storeStep | Holds if data can flow from |
storeStepImpl | Holds if data can flow from |
typeStrongerThan |
Classes
ArgumentNode | A data flow node that occurs as the argument of a call and is passed as-is to the callable. Instance arguments ( |
CastNode | A node that performs a type cast. |
ContentApprox | An approximated |
DataFlowCall | A function call relevant for data flow. |
DirectPosition | |
GlobalLikeVariable | A variable that behaves like a global variable. |
IndirectionPosition | |
InstructionNode0 | An instruction, viewed as a node in a data flow graph. |
Node0Impl | |
OperandNode0 | An operand, viewed as a node in a data flow graph. |
OutNode | A data flow node that represents the output of a call. |
Position | |
ReturnIndirectionNode | |
ReturnKind | A return kind. A return kind describes how a value can be returned from a callable. For C++, this is simply a function return. |
ReturnNode | A data flow node that occurs as the result of a |
Datatypes
Modules
Aliases
ArgumentPosition | An argument position represented by an integer. |
DataFlowCallable | A function that may contain code or a variable that may contain itself. When flow crosses from one enclosing callable to another, the interprocedural data-flow library discards call contexts and inserts a node in the big-step relation used for human-readable path explanations. |
DataFlowExpr | A C/C++ expression. |
DataFlowType | A C/C++ type. |
LambdaCallKind | The trivial type with a single element. |
ParameterPosition | A parameter position represented by an integer. |