Class CommonCallGraphSettings

java.lang.Object
sootup.callgraph.config.CommonCallGraphSettings

public final class CommonCallGraphSettings extends Object
Immutable snapshot of the properties CallGraphConfigBuilder collects before a caller transitions to a family-specific stage (see CallGraphConfigBuilder.cha(), CallGraphConfigBuilder.rta(), CallGraphConfigBuilder.into(java.util.function.Function<sootup.callgraph.config.CommonCallGraphSettings, B>)). Public (unlike the builder's internal state) because family-specific builders living in other modules (e.g. sootup.spark.SparkCallGraphConfig, qilin.callgraph.QilinCallGraphConfig) need to read it.
  • Method Details

    • getView

      public @NonNull View getView()
    • getEntryPoints

      public @NonNull List<MethodSignature> getEntryPoints()
    • getCallResolver

      public @NonNull CallResolver getCallResolver()
      Controls which statements' calls are resolved and expanded at all (pre-dispatch).
    • getVirtualCallResolver

      public @NonNull VirtualCallResolver getVirtualCallResolver()
      Controls which resolved dynamic-dispatch candidates - including discovered <clinit> calls - are admitted/expanded (post-dispatch).
    • getSeedEntryPointClinits

      public @NonNull Boolean getSeedEntryPointClinits(boolean defaultValue)
      Whether each entry point's declaring-class <clinit> is eagerly seeded as a root before traversal starts, or null if the caller never explicitly set it - each family stage should fall back to its own natural default in that case (see CallGraphConfigBuilder#seedEntryPointClinits for why there's no single common default).