CodeQL library for Swift
codeql/swift-all 2.0.4-dev (changelog, source)
Search

Module MakeImplCommon::CallContextSensitivity

Provides predicates releated to call-context sensitivity.

Import path

import codeql.dataflow.internal.DataFlowImplCommon

Imports

PrunedViableImpl<DefaultPrunedViableImplInput>

This module is only parameterized so that we can refer to cached versions of the input predicates in CachedCallContextSensitivity.

Predicates

callContextAffectsDispatch
getSpecificCallContextCall
getSpecificCallContextReturn
recordDataFlowCallSiteUnreachable

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

reducedViableImplInCallContext

Holds if the call context ctx reduces the set of viable run-time dispatch targets of call call in c.

reducedViableImplInReturn

Holds if flow returning from callable c to call call might return further and if this path restricts the set of call sites that can be returned to.

Classes

Cc

A call context to restrict the targets of virtual dispatch and prune local flow.

CcCall
CcNoCall

Modules

PrunedViableImpl

This module is only parameterized so that we can refer to cached versions of the input predicates in CachedCallContextSensitivity.

Module signatures

Parameters