public class BinaryOperation extends BooleanNode
Modifier and Type | Field and Description |
---|---|
private int |
lType |
private int |
operation |
private int |
rType |
left, right
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 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) |
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, setRight
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
public BinaryOperation(int operation, ParserContext ctx)
public BinaryOperation(int operation, ASTNode left, ASTNode right, ParserContext ctx)
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 ASTNode
public java.lang.Object getReducedValue(java.lang.Object ctx, java.lang.Object thisValue, VariableResolverFactory factory)
getReducedValue
in class ASTNode
public int getOperation()
public BinaryOperation getRightBinary()
public void setRightMost(ASTNode right)
setRightMost
in class BooleanNode
public ASTNode getRightMost()
getRightMost
in class BooleanNode
public int getPrecedence()
public boolean isGreaterPrecedence(BinaryOperation o)