Class Constraint


  • public class Constraint
    extends Object
    This class represents a constraint which is met by a SymbolicValue in a given ProgramState. Possible constraints are NULL, UNDEFINED, ZERO, EMPTY_STRING, NAN, FALSE, TRUE, FUNCTION, TRUTHY_NUMBER, TRUTHY_STRING, ARRAY, OTHER_OBJECT and any possible combination of them.
    • Field Detail

      • ANY_VALUE

        public static final Constraint ANY_VALUE
      • NO_POSSIBLE_VALUE

        public static final Constraint NO_POSSIBLE_VALUE
      • UNDEFINED

        public static final Constraint UNDEFINED
      • EMPTY_STRING_PRIMITIVE

        public static final Constraint EMPTY_STRING_PRIMITIVE
      • FUNCTION

        public static final Constraint FUNCTION
      • POSITIVE_NUMBER_PRIMITIVE

        public static final Constraint POSITIVE_NUMBER_PRIMITIVE
      • NEGATIVE_NUMBER_PRIMITIVE

        public static final Constraint NEGATIVE_NUMBER_PRIMITIVE
      • TRUTHY_STRING_PRIMITIVE

        public static final Constraint TRUTHY_STRING_PRIMITIVE
      • STRING_OBJECT

        public static final Constraint STRING_OBJECT
      • NUMBER_OBJECT

        public static final Constraint NUMBER_OBJECT
      • BOOLEAN_OBJECT

        public static final Constraint BOOLEAN_OBJECT
      • OTHER_OBJECT

        public static final Constraint OTHER_OBJECT
      • NULL_OR_UNDEFINED

        public static final Constraint NULL_OR_UNDEFINED
      • TRUTHY_NUMBER_PRIMITIVE

        public static final Constraint TRUTHY_NUMBER_PRIMITIVE
      • KNOWN_OBJECTS

        public static final Constraint KNOWN_OBJECTS
      • NOT_NULLY

        public static final Constraint NOT_NULLY
      • NUMBER_PRIMITIVE

        public static final Constraint NUMBER_PRIMITIVE
      • ANY_NUMBER

        public static final Constraint ANY_NUMBER
      • STRING_PRIMITIVE

        public static final Constraint STRING_PRIMITIVE
      • ANY_STRING

        public static final Constraint ANY_STRING
      • BOOLEAN_PRIMITIVE

        public static final Constraint BOOLEAN_PRIMITIVE
      • ANY_BOOLEAN

        public static final Constraint ANY_BOOLEAN
    • Method Detail

      • type

        public Type type()
      • numericRange

        public Optional<com.google.common.collect.Range<Integer>> numericRange()
        Returns numeric range corresponding to the constraint (if constraint is pure numeric).
      • isSingleValue

        public boolean isSingleValue()
      • typeSet

        public Set<Type> typeSet()
      • isStricterOrEqualTo

        public boolean isStricterOrEqualTo​(Constraint other)
      • isIncompatibleWith

        public boolean isIncompatibleWith​(Constraint other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object