CodeQL library for C#
codeql/csharp-all 0.10.0 (changelog, source)
Search

Module MakeImplCommon::CallContextSensitivity::PrunedViableImpl

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

Import path

import codeql.dataflow.internal.DataFlowImplCommon

Predicates

noPrunedViableImplInCallContext

Holds if call does not have a reduced set of dispatch targets in call context ctx.

prunedViableImplInCallContext

Gets a viable run-time dispatch target for the call call in the context ctx. This is restricted to those calls for which a context makes a difference.

prunedViableImplInCallContextReverse

Gets a viable call site for the return from callable in call context ctx. This is restricted to those callables and contexts for which the possible call sites are restricted.

recordDataFlowCallSite

Holds if the call context call either improves virtual dispatch in callable or if it allows us to prune unreachable nodes in callable.

recordDataFlowCallSiteDispatch

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

resolveCall

Resolves a call from call in cc to result, where result is restricted by relevantResolveTarget.

resolveReturn

Resolves a return from callable in cc to call.

Parameters