Interface IJavaOperator
This interface is used to define a Java operator.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidformat(DFormattingContext fctx) Get the associativity (left, right) of the operator.Return the cast type of a cast operator.Get the type of operator represented by this object.intGet the precedence of the operator.intgetPrecedenceDelta(IJavaOperator other) Check the precedence of this operator against another operator.default JavaOperatorTypegetType()booleanis(JavaOperatorType optype) booleanisAnyOf(JavaOperatorType... optypes) booleanDetermine if the operator is an arithmetic or bitwise operator.booleanisBinary()Determine if the operator uses two operands.booleanisCast()Determine if the operator is a cast operator.booleanbooleanDetermine if the operator is a logical operator, i.e.booleanisNoneOf(JavaOperatorType... optypes) booleanisUnary()Determine if the operator uses a single operand.booleanDetermine if this operator is one of the 11 (+1) arithmetic operators that can be used to build a combined-operator assignment.
-
Method Details
-
getFactory
IJavaOperatorFactory getFactory() -
is
-
isAnyOf
-
isNoneOf
-
getOperatorType
JavaOperatorType getOperatorType()Get the type of operator represented by this object.- Returns:
-
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. UseisCast()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
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
-
getReverse
IJavaOperator getReverse() -
getMirror
IJavaOperator getMirror()
-