net.sf.saxon.expr
Class UserFunctionCall.FunctionCallPackage
public
class
UserFunctionCall.FunctionCallPackage
extends ObjectValue
Inner class used to wrap up the set of actual arguments to a tail-recursive call of
the containing function. This argument package is passed back to the calling code
in place of a function result; the caller then loops to re-invoke the function
with these arguments, avoiding the creation of an additional stack frame.
Determine the item type of the expression
Parameters: th
Get the primitive value (the value in the value space). This returns an
AtomicValue of a class that would be used to represent the primitive value.
In effect this means that for built-in types, it returns the value itself,
but for user-defined type, it returns the primitive value minus the type
annotation. Note that getItemType() when applied to the result of this
function does not not necessarily return a primitive type: for example, this
function may return a value of type xdt:dayTimeDuration, which is not a
primitive type as defined by
Type
Reduce a value to its simplest form. If the value is a closure or some other form of deferred value
such as a FunctionCallPackage, then it is reduced to a SequenceExtent. If it is a SequenceExtent containing
a single item, then it is reduced to that item. One consequence that is exploited by class FilterExpression
is that if the value is a singleton numeric value, then the result will be an instance of NumericValue