Class 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.
There are four cases:
TAnyCallContext()
: No restrictions on method flow.TSpecificCall(DataFlowCall call)
: Flow entered through the givencall
. This call improves the set of viable dispatch targets for at least one method call in the current callable or helps prune unreachable nodes in the current callable.TSomeCall()
: Flow entered through a parameter. The originating call does not improve the set of dispatch targets for any method call in the current callable and was therefore not recorded.TReturn(Callable c, DataFlowCall call)
: Flow reachedcall
fromc
and this dispatch target ofcall
implies a reduced set of dispatch origins to which data may flow if it should reach areturn
statement.
Import path
import semmle.code.cpp.ir.dataflow.internal.DataFlowImplCommon
Direct supertypes
Known direct subtypes
Predicates
relevantFor |
Holds if this call context is relevant for |
toString |