Interface AnalysisFeatures


public interface AnalysisFeatures
Boolean analysis properties for use in the AnalysisContext. These can be used to enable or disable various analysis features in the bytecode analysis framework.
Author:
David Hovemeyer
  • Field Details

    • ACCURATE_EXCEPTIONS

      @AnalysisFeature static final int ACCURATE_EXCEPTIONS
      Determine (1) what exceptions can be thrown on exception edges, (2) which catch blocks are reachable, and (3) which exception edges carry only "implicit" runtime exceptions.
      See Also:
    • CONSERVE_SPACE

      @AnalysisFeature static final int CONSERVE_SPACE
      A boolean flag which if set means that analyses should try to conserve space at the expense of precision.
      See Also:
    • MODEL_INSTANCEOF

      @AnalysisFeature static final int MODEL_INSTANCEOF
      If true, model the effect of instanceof checks in type analysis.
      See Also:
    • SKIP_HUGE_METHODS

      @AnalysisFeature static final int SKIP_HUGE_METHODS
      Skip generating CFG's and methodGen's for huge methods
      See Also:
    • INTERATIVE_OPCODE_STACK_ANALYSIS

      @Deprecated @AnalysisFeature static final int INTERATIVE_OPCODE_STACK_ANALYSIS
      Deprecated.
      Perform interative opcode stack analysis: always enabled.
      See Also:
    • TRACK_GUARANTEED_VALUE_DEREFS_IN_NULL_POINTER_ANALYSIS

      @AnalysisFeature static final int TRACK_GUARANTEED_VALUE_DEREFS_IN_NULL_POINTER_ANALYSIS
      In the null pointer analysis, track null values that are guaranteed to be dereferenced on some (non-implicit-exception) path.
      See Also:
    • TRACK_VALUE_NUMBERS_IN_NULL_POINTER_ANALYSIS

      @AnalysisFeature static final int TRACK_VALUE_NUMBERS_IN_NULL_POINTER_ANALYSIS
      In the null pointer analysis, track value numbers that are known to be null. This allows us to not lose track of null values that are not currently in the stack frame but might be in a heap location where the value is recoverable by redundant load elimination or forward substitution.
      See Also:
    • MERGE_SIMILAR_WARNINGS

      @AnalysisFeature static final int MERGE_SIMILAR_WARNINGS
      Merge similar warnings. If we are tracking warnings across versions, it is useful to merge all similar issues together. Otherwise, when we compare the warnings in two different versions, we will not be able to match them up correctly.
      See Also:
    • NUM_BOOLEAN_ANALYSIS_PROPERTIES

      @Deprecated @AnalysisFeature static final int NUM_BOOLEAN_ANALYSIS_PROPERTIES
      Deprecated.
      - use Builder instead
      Number of boolean analysis properties reserved for the bytecode analysis framework. Clients of the framework may use property values >= this value.
      See Also: