Module MakeImplCommon
Import path
import codeql.dataflow.internal.DataFlowImplCommon
Imports
Predicates
accessPathApproxCostLimits | The cost limits for the |
accessPathCostLimits | The cost limits for the |
argumentPositionMatch | Holds if |
getLocalCallContext | Gets the local call context given the call context and the callable that the contexts apply to. |
getNodeDataFlowType | Gets the type of |
getNodeEnclosingCallable | Gets the enclosing callable of |
getReturnPosition | |
noPrunedViableImplInCallContext | Holds if |
recordDataFlowCallSite | Holds if the call context |
resolveReturn | Resolves a return from |
Classes
AccessPathFront | The front of an access path. This is either a head or a nil. |
AccessPathFrontHead | |
AccessPathFrontNil | |
AccessPathFrontOption | An optional access path front. |
ApproxAccessPathFront | The front of an approximated access path. This is either a head or a nil. |
ApproxAccessPathFrontHead | |
ApproxAccessPathFrontNil | |
ApproxAccessPathFrontOption | An optional approximated access path front. |
ArgNode | A data-flow node that represents a call argument. |
BooleanOption | An optional Boolean value. |
CallContext | A call context to restrict the targets of virtual dispatch, prune local flow, and match the call sites of flow into a method with flow out of a method. |
CallContextAny | |
CallContextCall | |
CallContextNoCall | |
CallContextReturn | |
CallContextSomeCall | |
CallContextSpecificCall | |
CastingNode | A |
DataFlowCallOption | An optional |
LocalCallContext | A call context that is relevant for pruning local flow. |
LocalCallContextAny | |
LocalCallContextSpecificCall | |
OutNodeExt | A node to which data can flow from a call. Either an ordinary out node or a post-update node associated with a call argument. |
ParamNode | The value of a parameter at function entry, viewed as a node in a data flow graph. |
ParamNodeOption | An optional |
ParamUpdateReturnKind | |
ReturnCtx | A return context used to calculate flow summaries in reverse flow. |
ReturnKindExt | An extended return kind. A return kind describes how data can be returned from a callable. This can either be through a returned value or an updated parameter. |
ReturnNodeExt | A node from which flow can return to the caller. This is either a regular |
ReturnPosition | A callable tagged with a relevant return kind. |
ValueReturnKind |
Modules
DataFlowImplCommonPublic | |
ResolveCall | |
TypeFlow | Given a call graph for a set of flow paths, this module calculates the type flow between parameter and argument nodes in the cases where it is possible for a type to first be weakened and then strengthened again. When the stronger types at the end-points of such a type flow path are incompatible, the relevant call edges can be excluded as impossible. |
Predicate signatures
Module signatures
Parameters
Lang | InputSig |