public interface

IJavaOperator

com.pnfsoftware.jeb.core.units.code.java.IJavaOperator

Class Overview

This interface is used to define a Java operator.

Summary

Public Methods
abstract boolean canCauseException()
abstract void format(DFormattingContext fctx)
abstract JavaOperatorType.Associativity getAssociativity()
Get the associativity (left, right) of the operator.@return
abstract IJavaType getCastType()
Return the cast type of a cast operator.
abstract IJavaOperatorFactory getFactory()
abstract JavaOperatorType getOperatorType()
Get the type of operator represented by this object.
abstract int getPrecedence()
Get the precedence of the operator.
abstract int getPrecedenceDelta(IJavaOperator other)
Check the precedence of this operator against another operator.
abstract boolean is(JavaOperatorType optype)
abstract boolean isAnyOf(JavaOperatorType... optypes)
abstract boolean isArithmetic()
Determine if the operator is an arithmetic or bitwise operator.
abstract boolean isBinary()
Determine if the operator uses two operands.
abstract boolean isCast()
Determine if the operator is a cast operator.
abstract boolean isCastToPrimitive()
abstract boolean isLogical()
Determine if the operator is a logical operator, i.e.
abstract boolean isNoneOf(JavaOperatorType... optypes)
abstract boolean isUnary()
Determine if the operator uses a single operand.
abstract boolean isValidForCombinedAssignment()
Determine if this operator is one of the 11 (+1) arithmetic operators that can be used to build a combined-operator assignment.

Public Methods

public abstract boolean canCauseException ()

public abstract void format (DFormattingContext fctx)

public abstract JavaOperatorType.Associativity getAssociativity ()

Get the associativity (left, right) of the operator.@return

Throws
RuntimeException if the associativity is not found

public abstract 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

public abstract IJavaOperatorFactory getFactory ()

public abstract JavaOperatorType getOperatorType ()

Get the type of operator represented by this object.

public abstract 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.@return

Throws
RuntimeException if the precedence is not found

public abstract int getPrecedenceDelta (IJavaOperator other)

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

public abstract boolean is (JavaOperatorType optype)

public abstract boolean isAnyOf (JavaOperatorType... optypes)

public abstract 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

public abstract boolean isBinary ()

Determine if the operator uses two operands.

Returns
  • true if the operator is a binary operator

public abstract boolean isCast ()

Determine if the operator is a cast operator.

public abstract boolean isCastToPrimitive ()

public abstract 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

public abstract boolean isNoneOf (JavaOperatorType... optypes)

public abstract boolean isUnary ()

Determine if the operator uses a single operand.

Returns
  • true if the operator is a unary operator

public abstract 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