| java.lang.Object net.sf.saxon.expr.ComputedExpression net.sf.saxon.expr.UnaryExpression
All known Subclasses: net.sf.saxon.expr.Atomizer, net.sf.saxon.expr.UntypedAtomicConverter, net.sf.saxon.expr.LazyExpression, net.sf.saxon.sort.Reverser, net.sf.saxon.expr.FirstItemExpression, net.sf.saxon.expr.NumericPromoter, net.sf.saxon.expr.CardinalityChecker, net.sf.saxon.expr.AtomicSequenceConverter, net.sf.saxon.expr.CastExpression, net.sf.saxon.sort.DocumentSorter, net.sf.saxon.expr.InstanceOfExpression, net.sf.saxon.expr.CastableExpression, net.sf.saxon.expr.ItemChecker, net.sf.saxon.expr.SingletonAtomizer,
UnaryExpression | abstract public class UnaryExpression extends ComputedExpression (Code) | | Unary Expression: an expression taking a single operand expression
|
computeCardinality | public int computeCardinality()(Code) | | Determine the static cardinality. Default implementation returns the cardinality of the operand
|
computeSpecialProperties | public int computeSpecialProperties()(Code) | | Get the static properties of this expression (other than its type). The result is
bit-signficant. These properties are used for optimizations. In general, if
property bit is set, it is true, but if it is unset, the value is unknown.
|
displayOperator | abstract protected String displayOperator(NamePool pool)(Code) | | Give a string representation of the operator for use in diagnostics
the operator, as a string |
equals | public boolean equals(Object other)(Code) | | Is this expression the same as another expression?
|
getItemType | public ItemType getItemType(TypeHierarchy th)(Code) | | Determine the data type of the expression, if possible. The default
implementation for unary expressions returns the item type of the operand
the item type of the items in the result sequence, insofar as thisis known statically. Parameters: th - |
hashCode | public int hashCode()(Code) | | get HashCode for comparing two expressions. Note that this hashcode gives the same
result for (A op B) and for (B op A), whether or not the operator is commutative.
|
iterateSubExpressions | public Iterator iterateSubExpressions()(Code) | | Get the immediate subexpressions of this expression
|
optimize | public Expression optimize(Optimizer opt, StaticContext env, ItemType contextItemType) throws XPathException(Code) | | Perform optimisation of an expression and its subexpressions.
This method is called after all references to functions and variables have been resolved
to the declaration of the function or variable, and after all type checking has been done.
Parameters: opt - the optimizer in use. This provides access to supporting functions; it also allowsdifferent optimization strategies to be used in different circumstances. Parameters: env - the static context of the expression Parameters: contextItemType - the static type of "." at the point where this expression is invoked.The parameter is set to null if it is known statically that the context item will be undefined.If the type of the context item is not known statically, the argument is set tonet.sf.saxon.type.Type.ITEM_TYPE the original expression, rewritten if appropriate to optimize execution throws: net.sf.saxon.trans.StaticError - if an error is discovered during this phase(typically a type error) |
|
|