Enum FlowValue

java.lang.Object
java.lang.Enum<FlowValue>
edu.umd.cs.findbugs.ba.jsr305.FlowValue
All Implemented Interfaces:
Serializable, Comparable<FlowValue>, java.lang.constant.Constable

public enum FlowValue extends Enum<FlowValue>
Flow value type for type qualifier dataflow analysis.
  • Enum Constant Details

  • Field Details

    • bits

      private final int bits
    • mergeMatrix

      private static final FlowValue[][] mergeMatrix
  • Constructor Details

    • FlowValue

      private FlowValue(int bits)
  • Method Details

    • values

      public static FlowValue[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static FlowValue valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • isYes

      public boolean isYes()
    • isUncertain

      public boolean isUncertain()
    • isNo

      public boolean isNo()
    • meet

      public static final FlowValue meet(FlowValue a, FlowValue b)
    • valuesConflict

      public static boolean valuesConflict(boolean strictChecking, FlowValue forward, FlowValue backward)
      Determine whether given flow values conflict.
      Parameters:
      forward - a forwards flow value
      backward - a backwards flow value
      Returns:
      true if values conflict, false otherwise
    • flowValueFromWhen

      public static FlowValue flowValueFromWhen(javax.annotation.meta.When when)
      Convert a When value to a FlowValue value.
      Parameters:
      when - a When value
      Returns:
      the corresponding FlowValue
    • backwardsValueConflictsWithSource

      public static boolean backwardsValueConflictsWithSource(FlowValue backwardsFlowValue, SourceSinkInfo source, TypeQualifierValue typeQualifierValue, boolean isIdentity)
      Determine whether given backwards FlowValue conflicts with given source.
      Parameters:
      backwardsFlowValue - a backwards FlowValue
      source - SourceSinkInfo object representing a source reached by the backwards flow value
      typeQualifierValue - TypeQualifierValue being checked
      isIdentity - TODO
      Returns:
      true if backwards value conflicts with source, false if not