Uses of Interface
sootup.callgraph.invokedynamic.DynamicInvokeResolver
Packages that use DynamicInvokeResolver
Package
Description
-
Uses of DynamicInvokeResolver in qilin.core.config
Methods in qilin.core.config that return DynamicInvokeResolverModifier and TypeMethodDescriptionPointerAnalysisConfig.getDynamicInvokeResolver()Shared call-graph invokedynamic resolver.Methods in qilin.core.config with parameters of type DynamicInvokeResolverModifier and TypeMethodDescriptionPointerAnalysisConfig.Builder.dynamicInvokeResolver(DynamicInvokeResolver dynamicInvokeResolver) Shared call-graph invokedynamic resolver; seePointerAnalysisConfig.getDynamicInvokeResolver(). -
Uses of DynamicInvokeResolver in qilin.core.invokedynamic
Constructors in qilin.core.invokedynamic with parameters of type DynamicInvokeResolverModifierConstructorDescriptionLambdaMetafactoryModel(PTAScene ptaScene, PAG pag, DynamicInvokeResolver resolver) -
Uses of DynamicInvokeResolver in sootup.callgraph
Constructors in sootup.callgraph with parameters of type DynamicInvokeResolverModifierConstructorDescriptionprotectedAbstractCallGraphAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits, @NonNull DynamicInvokeResolver dynamicInvokeResolver) LikeAbstractCallGraphAlgorithm(View, CallResolver, VirtualCallResolver, boolean), plus aDynamicInvokeResolverdeciding the targets of invokedynamic call sites.protectedAbstractCallGraphAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits, @NonNull ReflectionModel reflectionModel, @NonNull DynamicInvokeResolver dynamicInvokeResolver) Widest constructor: aReflectionModelrewriting each inspected body so resolved reflective calls become plain call edges, and aDynamicInvokeResolverdeciding the targets of invokedynamic call sites.ClassHierarchyAnalysisAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits, @NonNull DynamicInvokeResolver dynamicInvokeResolver) LikeClassHierarchyAnalysisAlgorithm(View, CallResolver, VirtualCallResolver, boolean), plus aDynamicInvokeResolverdeciding the targets of invokedynamic call sites.ClassHierarchyAnalysisAlgorithm(@NonNull View view, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits, @NonNull ReflectionModel reflectionModel, @NonNull DynamicInvokeResolver dynamicInvokeResolver) Widest CHA constructor: additionally takes aReflectionModelthat turns resolved reflective calls into plain call edges and aDynamicInvokeResolverdeciding the targets of invokedynamic call sites.RapidTypeAnalysisAlgorithm(@NonNull View view, @NonNull Set<ClassType> preInstantiatedClasses, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits, @NonNull DynamicInvokeResolver dynamicInvokeResolver) LikeRapidTypeAnalysisAlgorithm(View, Set, CallResolver, VirtualCallResolver, boolean), plus aDynamicInvokeResolverdeciding the targets of invokedynamic call sites.RapidTypeAnalysisAlgorithm(@NonNull View view, @NonNull Set<ClassType> preInstantiatedClasses, @NonNull CallResolver callResolver, @NonNull VirtualCallResolver virtualCallResolver, boolean seedEntryPointClinits, @NonNull ReflectionModel reflectionModel, @NonNull DynamicInvokeResolver dynamicInvokeResolver) Widest RTA constructor: additionally takes aReflectionModel(classes it instantiates reflectively, e.g. -
Uses of DynamicInvokeResolver in sootup.callgraph.config
Methods in sootup.callgraph.config that return DynamicInvokeResolverModifier and TypeMethodDescription@NonNull DynamicInvokeResolverCommonCallGraphSettings.getDynamicInvokeResolver()Invokedynamic resolver to apply;bootstrapMethodHandles()if never set.Methods in sootup.callgraph.config with parameters of type DynamicInvokeResolverModifier and TypeMethodDescription@NonNull CallGraphConfigBuilderCallGraphConfigBuilder.dynamicInvokeResolver(@NonNull DynamicInvokeResolver dynamicInvokeResolver) Decides the targets of invokedynamic call sites (lambdas, method references); unset =bootstrapMethodHandles(). -
Uses of DynamicInvokeResolver in sootup.callgraph.invokedynamic
Classes in sootup.callgraph.invokedynamic that implement DynamicInvokeResolverModifier and TypeClassDescriptionfinal classResolves an invokedynamic call site to every method referenced by aMethodHandleamong its bootstrap arguments.Methods in sootup.callgraph.invokedynamic that return DynamicInvokeResolverModifier and TypeMethodDescriptionstatic @NonNull DynamicInvokeResolverDynamicInvokeResolver.bootstrapMethodHandles()Every method referenced by aMethodHandlebootstrap argument is a target, e.g. the synthetic lambda body passed toLambdaMetafactory.static @NonNull DynamicInvokeResolverDynamicInvokeResolver.none()Resolves nothing: invokedynamic call sites get no call targets.