Uses of Interface
sootup.callgraph.scope.VirtualCallResolver
Packages that use VirtualCallResolver
Package
Description
-
Uses of VirtualCallResolver in qilin.core.config
Methods in qilin.core.config that return VirtualCallResolverModifier and TypeMethodDescriptionPointerAnalysisConfig.getClinitVirtualCallResolver()Governs admission of<clinit>calls discovered on the fly as the points-to analysis grows (seePointerAnalysisConfig.isSeedEntryPointClinits()for how the two combine into the four classic modes).Methods in qilin.core.config with parameters of type VirtualCallResolverModifier and TypeMethodDescriptionPointerAnalysisConfig.Builder.clinitVirtualCallResolver(VirtualCallResolver clinitVirtualCallResolver) -
Uses of VirtualCallResolver in sootup.callgraph
Constructors in sootup.callgraph with parameters of type VirtualCallResolverModifierConstructorDescriptionprotectedAbstractCallGraphAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver) Creates a new call graph algorithm using the given view and customCallResolverandVirtualCallResolverto control which classes/methods are excluded from call graph expansion.protectedAbstractCallGraphAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits) Creates a new call graph algorithm using the given view, customCallResolverandVirtualCallResolver, and controls whether each entry point's declaring-class<clinit>is eagerly seeded as a root before traversal starts.protectedAbstractCallGraphAlgorithm(@NonNull View view, @NonNull VirtualCallResolver virtualCallResolver) Creates a new call graph algorithm using the given view and a customVirtualCallResolverto control which resolved dynamic-dispatch candidates are admitted and expanded.ClassHierarchyAnalysisAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver) The constructor of the CHA algorithm that allows restricting which calls are expanded during call graph construction.ClassHierarchyAnalysisAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits) The constructor of the CHA algorithm that allows restricting which calls are expanded during call graph construction, and whether entry points' declaring-class<clinit>s are eagerly seeded as roots.ClassHierarchyAnalysisAlgorithm(@NonNull View view, @NonNull VirtualCallResolver virtualCallResolver) The constructor of the CHA algorithm that allows restricting which resolved dynamic-dispatch candidates are admitted/expanded during call graph construction.RapidTypeAnalysisAlgorithm(@NonNull View view, @NonNull Set<ClassType> preInstantiatedClasses, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits) The constructor of the RTA algorithm that combines a predefined set of already-instantiated classes with restricting which calls are expanded and whether entry points' declaring-class<clinit>s are eagerly seeded as roots.RapidTypeAnalysisAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver) The constructor of the RTA algorithm that allows restricting which calls are expanded during call graph construction.RapidTypeAnalysisAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits) The constructor of the RTA algorithm that allows restricting which calls are expanded during call graph construction, and whether entry points' declaring-class<clinit>s are eagerly seeded as roots.RapidTypeAnalysisAlgorithm(@NonNull View view, @NonNull VirtualCallResolver virtualCallResolver) The constructor of the RTA algorithm that allows restricting which resolved dynamic-dispatch candidates are admitted/expanded during call graph construction. -
Uses of VirtualCallResolver in sootup.callgraph.config
Methods in sootup.callgraph.config that return VirtualCallResolverModifier and TypeMethodDescription@NonNull VirtualCallResolverCommonCallGraphSettings.getVirtualCallResolver()Controls which resolved dynamic-dispatch candidates - including discovered<clinit>calls - are admitted/expanded (post-dispatch).Methods in sootup.callgraph.config with parameters of type VirtualCallResolverModifier and TypeMethodDescription@NonNull CallGraphConfigBuilderCallGraphConfigBuilder.virtualCallResolver(@NonNull VirtualCallResolver virtualCallResolver) Controls which resolved dynamic-dispatch candidates - including discovered<clinit>calls - are admitted/expanded (post-dispatch). -
Uses of VirtualCallResolver in sootup.callgraph.scope
Classes in sootup.callgraph.scope that implement VirtualCallResolverModifier and TypeClassDescriptionclassAVirtualCallResolverthat drops<clinit>candidates declared on a library class (seeSootClass.isLibraryClass()) and delegates every other candidate - including<clinit>s of application classes - to a wrappedVirtualCallResolver(default:all()).classAVirtualCallResolverthat drops every<clinit>candidate and delegates every other candidate to a wrappedVirtualCallResolver(default:all()).Methods in sootup.callgraph.scope that return VirtualCallResolverModifier and TypeMethodDescriptionstatic @NonNull VirtualCallResolverVirtualCallResolver.all()Returns aVirtualCallResolverthat admits and expands every candidate.Constructors in sootup.callgraph.scope with parameters of type VirtualCallResolverModifierConstructorDescriptionAppOnlyClinitCallResolver(@NonNull View view, @NonNull VirtualCallResolver delegate) SuppressClinitCallResolver(@NonNull View view, @NonNull VirtualCallResolver delegate)