CodeQL library for Java/Kotlin
codeql/java-all 4.1.1-dev (changelog, source)
Search

Predicate DispatchImpl::viableCallable

Gets a viable implementation of the target of the given Call. The following heuristic is applied for finding the appropriate callable: In general, dispatch to both any existing model and any viable source dispatch. However, if the model is generated and the static call target is in the source then we trust the source more than the model and skip dispatch to the model. Vice versa, if the model is manual and the source dispatch has a comparatively low confidence then we only dispatch to the model. Additionally, manual models that match a source dispatch exactly take precedence over the source.

Import path

import semmle.code.java.dataflow.internal.DataFlowDispatch
DataFlowCallable viableCallable(DataFlowCall c)