net.sf.saxon.expr
public class ArithmeticExpression extends BinaryExpression
| Field Summary | |
|---|---|
| protected boolean | simplified |
| Constructor Summary | |
|---|---|
| ArithmeticExpression(Expression p0, int operator, Expression p1)
Create an arithmetic expression | |
| Method Summary | |
|---|---|
| static AtomicValue | compute(AtomicValue value0, int operator, AtomicValue value1, XPathContext context)
Static method to apply arithmetic to two values |
| Expression | copy()
Copy an expression. |
| Item | evaluateItem(XPathContext context)
Evaluate the expression. |
| Calculator | getCalculator()
Get the calculator allocated to evaluate this expression |
| ItemType | getItemType(TypeHierarchy th)
Determine the data type of the expression, insofar as this is known statically |
| static int | mapOpCode(int op)
Map operator codes from those in the Token class to those in the Calculator class |
| Expression | simplify(ExpressionVisitor visitor) |
| Expression | typeCheck(ExpressionVisitor visitor, ItemType contextItemType)
Type-check the expression statically. |
Parameters: p0 the first operand operator the operator, for example PLUS p1 the second operand
Parameters: value0 the first value operator the operator as denoted in the Calculator class, for example PLUS value1 the second value context the XPath dynamic evaluation context
Returns: the result of the arithmetic operation
Returns: the copy of the original expression
Returns: the calculator, a helper object that does the actual calculation
Parameters: th the type hierarchy cache
Returns: the atomic type of the result of this arithmetic expression
Parameters: op an operator denoted by a constant in the Token class, for example PLUS
Returns: an operator denoted by a constant defined in the Calculator class, for example PLUS