Module DataFlowPrivate
Import path
import semmle.code.cpp.ir.dataflow.internal.DataFlowPrivate
Imports
Cached | |
IndirectInstructions | |
IndirectOperands | |
IsUnreachableInCall | |
NodeStars | A module for calculating the number of stars (i.e., |
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 |
getMaxElementContentIndirectionIndex | Gets the maximum number of indirections to use for |
getMinIndirectionsForType | Returns the smallest indirection for the type |
getNodeType | Gets the type of |
getOperandType | Gets the type of the operand |
getSecondLevelScope | Gets the second-level scope containing the node |
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 |
knownSinkModel | |
knownSourceModel | |
lambdaCall | Holds if |
lambdaCreation | Holds if |
localMustFlowStep | |
neverSkipInPathGraph | |
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 |
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 | |
validParameterAliasStep | Holds if the data-flow step from |
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. This includes calls from source code and calls inside library callables with a flow summary. |
DataFlowCallable | A callable, which may be: - a function (that may contain code) - a summarized function (that may contain only |
DataFlowSecondLevelScope | A second-level control-flow scope in a |
DataFlowType | |
DirectPosition | |
GlobalLikeVariable | A variable that behaves like a global variable. |
IndirectionPosition | |
InstructionNode0 | An instruction, viewed as a node in a data flow graph. |
Node0Impl | A cut-down |
NormalReturnKind | A value returned from a callable using a |
OperandNode0 | An operand, viewed as a node in a data flow graph. |
OutNode | A data flow node that represents the output of a call (for example, a return value) at the call site. |
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 |
SourceCallable | A source callable, conceptually, a function in the source code for the purpose of computing data flow. In practice this excludes functions that are summarized using models-as-data (as we don’t want to create unmodeled flows or duplicate paths), and includes variables (for reasons explained in |
SummarizedCallable | A summarized callable, that is, a function synthesized from one or more models-as-data models as a place to contain the corresponding |
SummaryArgumentNode | An argument node that is part of a summary. These only occur when the summary contains a synthesized call. |
SummaryCall | A synthesized call inside a callable with a flow summary. |
Datatypes
Modules
IsUnreachableInCall | |
IteratorFlow | Module that defines flow through iterators. For example, |
NodeStars | A module for calculating the number of stars (i.e., |
Aliases
ArgumentPosition | An argument position represented by an integer. |
DataFlowExpr | A C/C++ expression. |
LambdaCallKind | The trivial type with a single element. |
ParameterPosition | A parameter position represented by an integer. |