Package sootup.callgraph.scope
Interface CallResolver
- All Known Implementing Classes:
DefaultCallResolver,ExcludedCallsCollectingCallResolver
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Controls which calls (edges) are expanded during call graph construction, at the pre-dispatch
checkpoint: invoked once per method that is expanded, before its body is loaded and before
dynamic dispatch is resolved for its statements. The returned
CallFilter decides for the
whole method (CallFilter.all(), CallFilter.none()) or per invokable statement
(CallFilter.of(java.util.function.Predicate<sootup.core.jimple.common.stmt.InvokableStmt>)). A method whose calls are all excluded still appears as a node in the
resulting call graph if it is reached as a target, it simply ends up with no outgoing edges.-
Method Summary
Modifier and TypeMethodDescriptionstatic @NonNull CallResolverall()Returns aCallResolverthat resolves every call.@NonNull CallFiltertryAdvanceMethod(@NonNull SootMethod caller) Decides which calls ofcallerare resolved and expanded.
-
Method Details
-
tryAdvanceMethod
Decides which calls ofcallerare resolved and expanded.- Parameters:
caller- the method whose calls are about to be resolved- Returns:
- the calls to resolve; with
CallFilter.none()the body ofcalleris not loaded
-
all
Returns aCallResolverthat resolves every call.
-