Class Java.BinaryOperation
java.lang.Object
org.codehaus.janino.Java.Located
org.codehaus.janino.Java.Atom
org.codehaus.janino.Java.Rvalue
org.codehaus.janino.Java.BooleanRvalue
org.codehaus.janino.Java.BinaryOperation
- All Implemented Interfaces:
Java.ArrayInitializerOrRvalue, Java.ElementValue, Java.Locatable
- Enclosing class:
Java
Representation of all non-operand-modifying binary operations.
Operations with boolean result:
- ||
- JLS7 15.24 "conditional or operation"
- &&
- JLS7 15.23 "conditional and operation"
- ==
- JLS7 15.21 "equality operation"
- !=
- JLS7 15.22 "non-equality operation"
- < > <= >=
- JLS7 15.20.1 "numerical comparison operations"
Operations with non-boolean result:
- |
- JLS7 15.22.1 "integer bitwise OR operation" and JLS7 15.22.2 "boolean logical OR operation"
- ^
- JLS7 15.22.1 "integer bitwise XOR operation" and JLS7 15.22.2 "boolean logical XOR operation"
- &
- JLS7 15.22.1 "integer bitwise AND operation" and JLS7 15.22.2 "boolean logical AND operation"
- * / %
- JLS7 15.17 "multiplicative operations"
- + -
- JLS7 15.18 "additive operations"
- << >> >>>
- JLS7 15.19 "shift operations"
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal Java.RvalueThe left hand side operand.final StringThe operator, as aninternedstring.final Java.RvalueThe right hand side operand.Fields inherited from class Java.Rvalue
CONSTANT_VALUE_UNKNOWN, constantValueFields inherited from class Java.Located
NOWHERE -
Constructor Summary
ConstructorsConstructorDescriptionBinaryOperation(Location location, Java.Rvalue lhs, String operator, Java.Rvalue rhs) -
Method Summary
Modifier and TypeMethodDescription<R, EX extends Throwable>
Raccept(Visitor.RvalueVisitor<R, EX> visitor) toString()Transforms this binary operation into anIteratorover a left-to-right sequence ofJava.Rvalues.Methods inherited from class Java.Rvalue
accept, accept, accept, getEnclosingScope, getEnclosingScopeOrNull, setEnclosingScope, toRvalueMethods inherited from class Java.Atom
toLvalue, toLvalueOrCompileException, toRvalueOrCompileException, toType, toTypeOrCompileExceptionMethods inherited from class Java.Located
getLocation, throwCompileExceptionMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Java.Locatable
getLocation, throwCompileException
-
Field Details
-
lhs
The left hand side operand. -
operator
-
rhs
The right hand side operand.
-
-
Constructor Details
-
BinaryOperation
-
-
Method Details
-
toString
-
unrollLeftAssociation
Transforms this binary operation into anIteratorover a left-to-right sequence ofJava.Rvalues.That iterator produces two elements (the left-hand-side and the right-hand-side of this operation), or, iff the left-hand-side of this operation is itself a binary operation with the same operator, then the iterator produces the sequence of the unrolled operands.
-
accept
Description copied from class:Java.Rvalue- Specified by:
acceptin classJava.Rvalue- Throws:
EX
-