Interface IJavaOperator


@Ser public interface IJavaOperator
This interface is used to define a Java operator.
  • Method Details

    • getFactory

      IJavaOperatorFactory getFactory()
    • is

      boolean is(JavaOperatorType optype)
    • isAnyOf

      boolean isAnyOf(JavaOperatorType... optypes)
    • isNoneOf

      boolean isNoneOf(JavaOperatorType... optypes)
    • getOperatorType

      JavaOperatorType getOperatorType()
      Get the type of operator represented by this object.
      Returns:
    • getType

      default JavaOperatorType getType()
    • isUnary

      boolean isUnary()
      Determine if the operator uses a single operand.
      Returns:
      true if the operator is a unary operator
    • isBinary

      boolean isBinary()
      Determine if the operator uses two operands.
      Returns:
      true if the operator is a binary operator
    • isArithmetic

      boolean isArithmetic()
      Determine if the operator is an arithmetic or bitwise operator.
      Returns:
      true for ADD, SUB, MUL, DIV, REM, AND, OR, XOR, SHL, SHR, USHR, NEG, NOT
    • isLogical

      boolean isLogical()
      Determine if the operator is a logical operator, i.e. one that evaluates to true or false.
      Returns:
      true for LOG_IDENT, LOG_NOT, LOG_OR, LOG_AND, EQ, NE, LT, GE, GT, LE, INSTANCEOF
    • isCast

      boolean isCast()
      Determine if the operator is a cast operator.
      Returns:
    • isCastToPrimitive

      boolean isCastToPrimitive()
    • getCastType

      IJavaType getCastType()
      Return the cast type of a cast operator. This method will throw if the operator is not a cast operator. Use isCast() first.
      Returns:
      the cast-to object type
    • isValidForCombinedAssignment

      boolean isValidForCombinedAssignment()
      Determine if this operator is one of the 11 (+1) arithmetic operators that can be used to build a combined-operator assignment.
      Returns:
      true if one of: mul, div, add, sub, rem, shl, shr, ushr, and, xor, or
    • getPrecedenceDelta

      int getPrecedenceDelta(IJavaOperator other) throws Exception
      Check the precedence of this operator against another operator.
      Returns:
      delta: <0 if this operator has higher precedence than other, 0 if their precedence is the same, or >0 if this operator has lower precedence than other.
      Throws:
      Exception
    • getPrecedence

      int getPrecedence()
      Get the precedence of the operator. Currently not implemented for all operators, and the method will throw if it cannot find a precedence value.
      Returns:
      Throws:
      RuntimeException - if the precedence is not found
    • getAssociativity

      JavaOperatorType.Associativity getAssociativity()
      Get the associativity (left, right) of the operator.
      Returns:
      Throws:
      RuntimeException - if the associativity is not found
    • canCauseException

      boolean canCauseException()
    • format

      void format(DFormattingContext fctx)
    • getReverse

      IJavaOperator getReverse()
    • getMirror

      IJavaOperator getMirror()