Package sootup.callgraph.scope
Class ExcludedCallsCollectingCallResolver
java.lang.Object
sootup.callgraph.scope.DefaultCallResolver
sootup.callgraph.scope.ExcludedCallsCollectingCallResolver
- All Implemented Interfaces:
CallResolver
A
CallResolver that applies the same filtering as DefaultCallResolver (excluding
calls originating from library classes), while additionally recording the signature of every
method whose calls were excluded, so callers can inspect what was pruned after the call graph has
been constructed, e.g. to diagnose why an expected method is missing from the call graph.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NonNull Set<MethodSignature>Returns the signatures of the methods whose calls were excluded from expansion so far.@NonNull CallFiltertryAdvanceMethod(@NonNull SootMethod method) Excludes the calls of library methods as a whole, so that their bodies are not loaded.
-
Constructor Details
-
ExcludedCallsCollectingCallResolver
-
-
Method Details
-
tryAdvanceMethod
Description copied from class:DefaultCallResolverExcludes the calls of library methods as a whole, so that their bodies are not loaded.- Specified by:
tryAdvanceMethodin interfaceCallResolver- Overrides:
tryAdvanceMethodin classDefaultCallResolver- Parameters:
method- the method whose calls are about to be resolved- Returns:
- the calls to resolve; with
CallFilter.none()the body ofcalleris not loaded
-
getVisitedExcludedMethods
Returns the signatures of the methods whose calls were excluded from expansion so far.- Returns:
- an unmodifiable view of the excluded method signatures
-