Module DataFlowPrivate
Import path
import semmle.code.java.dataflow.internal.DataFlowPrivate
Imports
Predicates
additionalLambdaFlowStep | Extra data-flow steps needed for lambda flow analysis. |
allowParameterReturnInSelf | Holds if flow is allowed to pass from parameter |
captureValueStep | |
clearsContent | Holds if values stored inside content |
cloneStep | Holds if |
compatibleTypes | Holds if |
containerContent | Holds if the the content |
expectsContent | Holds if the value that is being tracked is expected to be stored inside content |
forceHighPrecision | Holds if access paths with |
getAnOutNode | Gets a node that can read the value returned from |
getContentApprox | Gets an approximated value for content |
getErasedRepr | Gets a representative (boxed) type for |
getNodeType | |
getSecondLevelScope | Gets the second-level scope containing the node |
isUnreachableInCall | Holds if the nodes in |
jumpStep | Holds if data can flow from |
knownSinkModel | |
knownSourceModel | |
lambdaCall | Holds if |
lambdaCreation | Holds if |
nodeIsHidden | Holds if |
readStep | Holds if data can flow from |
storeStep | Holds if data can flow from |
typeStrongerThan | |
validParameterAliasStep |
Classes
CastNode | A node that performs a type cast. |
ContentApprox | An approximated |
DataFlowCall | A call relevant for data flow. Includes both source calls and synthesized calls. |
DataFlowCallable | A callable or scope enclosing some number of data flow nodes. This can either be a source callable, a synthesized callable for which we have a summary model, or a synthetic scope for a field value node. |
DataFlowSecondLevelScope | A second-level control-flow scope in a |
DataFlowType | |
NodeRegion | |
ReturnKind | A return kind. A return kind describes how a value can be returned from a callable. For Java, this is simply a method return. |
SrcCall | A source call, that is, a |
SummaryCall | A synthesized call inside a |
Aliases
CaptureFlow | Constructs the type |
CapturedParameter | A parameter that is captured in a closure. |
CapturedVariable | A variable that is captured in a closure. |
DataFlowExpr | A common super-class that represents all kinds of expressions. |
LambdaCallKind | A method is a particular kind of callable. |