CodeQL library for C/C++
codeql/cpp-all 0.7.1 ( changelog , source )
Search

Module Cached

Import path

import semmle.code.cpp.ir.dataflow.internal.DataFlowImplCommon

Imports

DispatchWithCallContext
FlowThrough

Provides predicates for calculating flow-through summaries.

Predicates

allowParameterReturnInSelfCached
argumentNode
callEnclosingCallable
castNode
castingNode
clearsContentCached
expectsContentCached
forceCachingInSameStage

If needed, call this predicate from DataFlowImplSpecific.qll in order to force a stage-dependency on the DataFlowImplCommon.qll stage and thereby collapsing the two stages.

getATypedContent
getAnOutNodeExt
hiddenNode
isUnreachableInCallCached
jumpStepCached
nodeDataFlowType
nodeEnclosingCallable
outNodeExt
parameterNode
readSet
recordDataFlowCallSiteDispatch

Holds if the call context call improves virtual dispatch in callable.

recordDataFlowCallSiteUnreachable

Holds if the call context call allows us to prune unreachable nodes in callable.

returnNodeExt
simpleLocalFlowStepExt
store

Holds if data can flow from node1 to node2 via a direct assignment to f.

storeSet
viableCallableLambda

Gets a viable target for the lambda call call.

viableParamArg

Holds if arg is a possible argument to p in call, taking virtual dispatch into account.

viableReturnPosOut

Holds if a value at return position pos can be returned to out via call, taking virtual dispatch into account.

Datatypes