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.tryAdvance(@NonNull SootMethod method, @NonNull InvokableStmt statement) Decides whether the call(s) triggered bystatementincallershould be resolved and expanded at all.
-
Constructor Details
-
ExcludedCallsCollectingCallResolver
-
-
Method Details
-
tryAdvance
Description copied from interface:CallResolverDecides whether the call(s) triggered bystatementincallershould be resolved and expanded at all.- Specified by:
tryAdvancein interfaceCallResolver- Overrides:
tryAdvancein classDefaultCallResolver- Parameters:
method- the source (caller) methodstatement- the invokable statement causing the call- Returns:
- the verdict for this statement; only
ExplorationVerdict.EXPLORE_METHODvs. non-ExplorationVerdict.EXPLORE_METHODis significant here
-
getVisitedExcludedMethods
Returns the signatures of the methods whose calls were excluded from expansion so far.- Returns:
- an unmodifiable view of the excluded method signatures
-