public abstract class CoreOperationRelationalExpression extends CoreOperation
Expression.PointerIterator, Expression.ValueIteratorADD_PRECEDENCE, AND_PRECEDENCE, COMPARE_PRECEDENCE, MULTIPLY_PRECEDENCE, NEGATE_PRECEDENCE, OR_PRECEDENCE, RELATIONAL_EXPR_PRECEDENCE, UNION_PRECEDENCENOT_A_NUMBER, ONE, ZERO| Modifier | Constructor and Description |
|---|---|
protected |
CoreOperationRelationalExpression(Expression[] args)
Create a new CoreOperationRelationalExpression.
|
| Modifier and Type | Method and Description |
|---|---|
private boolean |
compute(java.lang.Object left,
java.lang.Object right)
Compare left to right.
|
java.lang.Object |
computeValue(EvalContext context)
Evaluates the expression.
|
private boolean |
containsMatch(java.util.Iterator it,
java.lang.Object value)
Learn whether any element returned from an Iterator matches a given value.
|
protected abstract boolean |
evaluateCompare(int compare)
Template method for subclasses to evaluate the result of a comparison.
|
private boolean |
findMatch(java.util.Iterator lit,
java.util.Iterator rit)
Learn whether there is an intersection between two Iterators.
|
protected int |
getPrecedence()
Computes the precedence of the operation.
|
protected boolean |
isSymmetric()
Returns true if the operation is not sensitive to the order of arguments,
e.g.
|
private java.lang.Object |
reduce(java.lang.Object o)
Reduce an operand for comparison.
|
compute, getSymbol, toStringcomputeContextDependent, getArgumentsisContextDependent, iterate, iteratePointersprotected CoreOperationRelationalExpression(Expression[] args)
args - argumentspublic final java.lang.Object computeValue(EvalContext context)
ExpressioncomputeValue in class CoreOperationcontext - evaluation contextprotected final int getPrecedence()
CoreOperationgetPrecedence in class CoreOperationprotected final boolean isSymmetric()
CoreOperationisSymmetric in class CoreOperationprotected abstract boolean evaluateCompare(int compare)
compare - result of comparison to evaluateprivate boolean compute(java.lang.Object left,
java.lang.Object right)
left - left operandright - right operandprivate java.lang.Object reduce(java.lang.Object o)
o - Object to reduceprivate boolean containsMatch(java.util.Iterator it,
java.lang.Object value)
it - Iteratorvalue - to look forprivate boolean findMatch(java.util.Iterator lit,
java.util.Iterator rit)
lit - left Iteratorrit - right Iterator