Package org.codehaus.janino
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.Rvalue
The left hand side operand.final String
The operator, as aninterned
string.final Java.Rvalue
The right hand side operand.Fields inherited from class org.codehaus.janino.Java.Rvalue
CONSTANT_VALUE_UNKNOWN, constantValue
Fields inherited from class org.codehaus.janino.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 anIterator
over a left-to-right sequence ofJava.Rvalue
s.Methods inherited from class org.codehaus.janino.Java.Rvalue
accept, accept, getEnclosingScope, getEnclosingScopeOrNull, setEnclosingScope, toRvalue
Methods inherited from class org.codehaus.janino.Java.Atom
toLvalue, toLvalueOrCompileException, toRvalueOrCompileException, toType, toTypeOrCompileException
Methods inherited from class org.codehaus.janino.Java.Located
getLocation, throwCompileException
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.codehaus.janino.Java.Locatable
getLocation, throwCompileException
-
Field Details
-
lhs
The left hand side operand. -
operator
The operator, as aninterned
string.- See Also:
-
rhs
The right hand side operand.
-
-
Constructor Details
-
BinaryOperation
-
-
Method Details
-
toString
-
unrollLeftAssociation
Transforms this binary operation into anIterator
over a left-to-right sequence ofJava.Rvalue
s.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:
accept
in classJava.Rvalue
- Throws:
EX extends Throwable
-