net.sf.saxon.expr
Class ArithmeticExpression.NumericArithmetic
java.lang.Object
net.sf.saxon.expr.ComputedExpression
net.sf.saxon.expr.BinaryExpression
net.sf.saxon.expr.ArithmeticExpression
net.sf.saxon.expr.ArithmeticExpression.NumericArithmetic
- All Implemented Interfaces:
- Container, Expression, InstructionInfoProvider, Serializable, SourceLocator
- Enclosing class:
- ArithmeticExpression
- public static class ArithmeticExpression.NumericArithmetic
- extends ArithmeticExpression
Inner class to handle numeric arithmetic expressions
- See Also:
- Serialized Form
Methods inherited from class net.sf.saxon.expr.BinaryExpression |
computeCardinality, computeSpecialProperties, display, displayOperator, equals, getOperands, getOperator, hashCode, isAssociative, isCommutative, isInverse, iterateSubExpressions, optimize, promote, simplify |
Methods inherited from class net.sf.saxon.expr.ComputedExpression |
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, effectiveBooleanValue, evaluateAsString, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError |
backwardsCompatible
boolean backwardsCompatible
ArithmeticExpression.NumericArithmetic
public ArithmeticExpression.NumericArithmetic(Expression p1,
int operator,
Expression p2)
setBackwardsCompatible
public void setBackwardsCompatible(boolean flag)
evaluateItem
public Item evaluateItem(XPathContext context)
throws XPathException
- Evaluate the expression.
- Specified by:
evaluateItem
in interface Expression
- Overrides:
evaluateItem
in class ArithmeticExpression
- Throws:
XPathException
doArithmetic
public static Item doArithmetic(Expression operand0,
int operator,
Expression operand1,
XPathContext context,
boolean backwardsCompatible)
throws XPathException
- Throws:
XPathException
typeCheck
public Expression typeCheck(StaticContext env,
ItemType contextItemType)
throws XPathException
- Type-check the expression statically. We try to work out which particular
arithmetic function to use if the types of operands are known an compile time.
- Specified by:
typeCheck
in interface Expression
- Overrides:
typeCheck
in class BinaryExpression
- Throws:
XPathException
getItemType
public ItemType getItemType(TypeHierarchy th)
- Determine the data type of the expression, if this is known statically
- Parameters:
th
-
- Returns:
- a value such as Type.STRING, Type.BOOLEAN, Type.NUMBER,
Type.NODE, or Type.ITEM (meaning not known at compile time)