Interface IJavaPredicate_LEGACY

All Superinterfaces:
IJavaElement, IJavaExpression, IJavaOperation

@Ser public interface IJavaPredicate_LEGACY extends IJavaOperation
Java AST interface to represent a Java predicate. A predicate is a boolean expression that evaluates to true or false.

Note: Currently, logical expressions using non short-circuiting operators OR (|), AND (&), or XOR(^) are not allowed.

  • Method Details

    • isLitteralTrue

      boolean isLitteralTrue()
      Determine if the predicate represents the simple literal value 'true' ( null IDENT 'true').
      Returns:
      true if the predicate represents the literal true
    • isLitteralFalse

      boolean isLitteralFalse()
      Determine if the predicate represents the simple literal value 'false' ( null IDENT 'false').
      Returns:
      true if the predicate represents the literal false
    • reverse

      void reverse()
      Reverse the predicate. Example: "x == 3" becomes "x != 3".
    • simplify

      boolean simplify()
      Recursively simplify predicates like: "x == true", "x != true", "x == false", "x != false" to things like "x" or "!x"
      Returns:
      true if at least one simplification was performed
    • duplicate

      Description copied from interface: IJavaElement
      Duplicate this element.
      Specified by:
      duplicate in interface IJavaElement
      Specified by:
      duplicate in interface IJavaExpression
      Specified by:
      duplicate in interface IJavaOperation
      Returns:
      a (possibly) duplicated object of the same type