Class IndexRefinementInfo

java.lang.Object
org.checkerframework.checker.index.IndexRefinementInfo

public class IndexRefinementInfo extends Object
This struct contains all of the information that the refinement functions need. It's called by each node function (i.e. greater than node, less than node, etc.) and then the results are passed to the refinement function in whatever order is appropriate for that node. Its constructor contains all of its logic.
  • Field Details

    • left

      public final Node left
      The left operand.
    • leftAnno

      public final @Nullable AnnotationMirror leftAnno
      Annotation for left expressions. Might be null if dataflow doesn't have a value for the expression.
    • rightAnno

      public final @Nullable AnnotationMirror rightAnno
      Annotation for right expressions. Might be null if dataflow doesn't have a value for the expression.
    • thenStore

      public final CFStore thenStore
      The then store.
    • elseStore

      public final CFStore elseStore
      The else store.
    • newResult

      public final ConditionalTransferResult<CFValue,CFStore> newResult
      The new result, after refinement.
  • Constructor Details