Interface IJavaOperator
This interface is used to define a Java operator.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
void
format
(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.int
Get the precedence of the operator.int
getPrecedenceDelta
(IJavaOperator other) Check the precedence of this operator against another operator.default JavaOperatorType
getType()
boolean
is
(JavaOperatorType optype) boolean
isAnyOf
(JavaOperatorType... optypes) boolean
Determine if the operator is an arithmetic or bitwise operator.boolean
isBinary()
Determine if the operator uses two operands.boolean
isCast()
Determine if the operator is a cast operator.boolean
boolean
Determine if the operator is a logical operator, i.e.boolean
isNoneOf
(JavaOperatorType... optypes) boolean
isUnary()
Determine if the operator uses a single operand.boolean
Determine 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()
-