public class BinaryOperation extends BooleanNode
| Modifier and Type | Field and Description |
|---|---|
private int |
lType |
private int |
operation |
private int |
rType |
left, rightaccessor, 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 and Description |
|---|
BinaryOperation(int operation,
ASTNode left,
ASTNode right,
ParserContext ctx) |
BinaryOperation(int operation,
ParserContext ctx) |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
areCompatible(java.lang.Class<?> leftClass,
java.lang.Class<?> rightClass) |
private boolean |
doesRequireConversion(java.lang.Class leftType,
java.lang.Class rightType,
int op) |
int |
getOperation() |
int |
getPrecedence() |
java.lang.Object |
getReducedValue(java.lang.Object ctx,
java.lang.Object thisValue,
VariableResolverFactory factory) |
java.lang.Object |
getReducedValueAccelerated(java.lang.Object ctx,
java.lang.Object thisValue,
VariableResolverFactory factory) |
BinaryOperation |
getRightBinary() |
ASTNode |
getRightMost() |
private boolean |
isAritmeticOperation(int operation) |
boolean |
isGreaterPrecedence(BinaryOperation o) |
boolean |
isLiteral() |
void |
setRightMost(ASTNode right) |
java.lang.String |
toString() |
getLeft, getRight, setLeft, setRightcanSerializeAccessor, 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, strongTypingpublic BinaryOperation(int operation,
ParserContext ctx)
public BinaryOperation(int operation,
ASTNode left,
ASTNode right,
ParserContext ctx)
private boolean doesRequireConversion(java.lang.Class leftType,
java.lang.Class rightType,
int op)
private boolean isAritmeticOperation(int operation)
private boolean areCompatible(java.lang.Class<?> leftClass,
java.lang.Class<?> rightClass)
public java.lang.Object getReducedValueAccelerated(java.lang.Object ctx,
java.lang.Object thisValue,
VariableResolverFactory factory)
getReducedValueAccelerated in class ASTNodepublic java.lang.Object getReducedValue(java.lang.Object ctx,
java.lang.Object thisValue,
VariableResolverFactory factory)
getReducedValue in class ASTNodepublic int getOperation()
public BinaryOperation getRightBinary()
public void setRightMost(ASTNode right)
setRightMost in class BooleanNodepublic ASTNode getRightMost()
getRightMost in class BooleanNodepublic int getPrecedence()
public boolean isGreaterPrecedence(BinaryOperation o)