Package org.mvel2.ast
Class BinaryOperation
java.lang.Object
org.mvel2.ast.ASTNode
org.mvel2.ast.BooleanNode
org.mvel2.ast.BinaryOperation
- All Implemented Interfaces:
Serializable
,Cloneable
- See Also:
-
Field Summary
FieldsFields inherited from class org.mvel2.ast.BooleanNode
left, right
Fields inherited from class org.mvel2.ast.ASTNode
accessor, ARRAY_TYPE_LITERAL, ASSIGN, BLOCK_DO, BLOCK_DO_UNTIL, BLOCK_FOR, BLOCK_FOREACH, BLOCK_IF, BLOCK_UNTIL, BLOCK_WHILE, BLOCK_WITH, COLLECTION, COMPILE_IMMEDIATE, cursorPosition, DEEP_PROPERTY, DEFERRED_TYPE_RES, DEOP, DISCARD, egressType, endOfName, expr, fields, firstUnion, FQCN, IDENTIFIER, INLINE_COLLECTION, INVERT, literal, LITERAL, nameCache, nextASTNode, NOJIT, NUMERIC, offset, OPERATOR, OPT_SUBTR, pCtx, PCTX_STORED, safeAccessor, STACKLANG, start, STRONG_TYPING, THISREF
-
Constructor Summary
ConstructorsConstructorDescriptionBinaryOperation
(int operation, ASTNode left, ASTNode right, ParserContext ctx) BinaryOperation
(int operation, ParserContext ctx) -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
areCompatible
(Class<?> leftClass, Class<?> rightClass) private boolean
doesRequireConversion
(Class leftType, Class rightType, int op) private int
getOperandType
(ASTNode node) int
getReducedValue
(Object ctx, Object thisValue, VariableResolverFactory factory) getReducedValueAccelerated
(Object ctx, Object thisValue, VariableResolverFactory factory) private boolean
isAritmeticOperation
(int operation) boolean
void
setRightMost
(ASTNode right) toString()
Methods inherited from class org.mvel2.ast.BooleanNode
getLeft, getRight, setLeft, setRight
Methods inherited from class org.mvel2.ast.ASTNode
canSerializeAccessor, discard, getAbsoluteName, getAbsoluteRootElement, getAccessor, getClassLoader, getCursorPosition, getEgressType, getExpr, getFields, getLiteralValue, getName, getNameAsArray, getOffset, getOperator, getStart, isAssignment, isCollection, isDebuggingSymbol, isDeepProperty, isDiscard, isFQCN, isIdentifier, isOperator, isOperator, isThisVal, setAccessor, setAsFQCNReference, setAsLiteral, setCursorPosition, setEgressType, setLiteralValue, setName, storeInLiteralRegister, storePctx, strongTyping
-
Field Details
-
operation
private final int operation -
lType
private int lType -
rType
private int rType
-
-
Constructor Details
-
BinaryOperation
-
BinaryOperation
-
-
Method Details
-
getOperandType
-
doesRequireConversion
-
isAritmeticOperation
private boolean isAritmeticOperation(int operation) -
areCompatible
-
getReducedValueAccelerated
public Object getReducedValueAccelerated(Object ctx, Object thisValue, VariableResolverFactory factory) - Overrides:
getReducedValueAccelerated
in classASTNode
-
getReducedValue
- Overrides:
getReducedValue
in classASTNode
-
getOperation
public int getOperation() -
setRightMost
- Specified by:
setRightMost
in classBooleanNode
-
getRightMost
- Specified by:
getRightMost
in classBooleanNode
-
isLiteral
public boolean isLiteral() -
toString
-