Package net.sf.saxon.expr
Class LocalVariableReference.LocalVariableReferenceElaborator
java.lang.Object
net.sf.saxon.expr.elab.Elaborator
net.sf.saxon.expr.elab.PullElaborator
net.sf.saxon.expr.LocalVariableReference.LocalVariableReferenceElaborator
- Enclosing class:
LocalVariableReference
Elaborator for a local variable reference, for example
$var.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioneagerly()Get a function that evaluates the underlying expression eagerlyGet a function that evaluates the underlying expression in the form of aItem.Get a function that evaluates the underlying expression in the form of aSequenceIteratorGet a function that evaluates the underlying expression in push mode, by writing events to anOutputterlazily(boolean repeatable, boolean lazyEvaluationRequired) Get a function that evaluates the underlying expression lazilyvoidsetExpression(Expression expr) Set the expression being elaboratedMethods inherited from class net.sf.saxon.expr.elab.PullElaborator
elaborateForBoolean, elaborateForUnicodeStringMethods inherited from class net.sf.saxon.expr.elab.Elaborator
elaborateForString, elaborateForUpdate, getConfiguration, getExpression, handleNullString, handleNullUnicodeString, handlePossiblyNullString, handlePossiblyNullUnicodeString
-
Constructor Details
-
LocalVariableReferenceElaborator
public LocalVariableReferenceElaborator()
-
-
Method Details
-
setExpression
Description copied from class:ElaboratorSet the expression being elaborated- Overrides:
setExpressionin classElaborator- Parameters:
expr- the expression
-
eagerly
Description copied from class:ElaboratorGet a function that evaluates the underlying expression eagerly- Overrides:
eagerlyin classPullElaborator- Returns:
- an evaluator for the expression that returns a
GroundedValue. The classSequenceEvaluatoris declared to return aSequencenot aGroundedValue; we can't specialize it because it's a limitation of C# delegates, but the result can safely be cast toGroundedValue.
-
lazily
Description copied from class:ElaboratorGet a function that evaluates the underlying expression lazily- Overrides:
lazilyin classElaborator- Parameters:
repeatable- true if the resultingSequencemust be usable repeatedly; false if it only needs to be used oncelazyEvaluationRequired- true if the expression MUST be evaluated lazily, for example to prevent spurious errors or side-effects if it has been lifted out of a loop- Returns:
- an evaluator for the expression that returns a
Sequence(which may be a lazy sequence)
-
elaborateForPull
Description copied from class:ElaboratorGet a function that evaluates the underlying expression in the form of aSequenceIterator- Specified by:
elaborateForPullin classPullElaborator- Returns:
- an evaluator for the expression that returns a
SequenceIterator
-
elaborateForPush
Description copied from class:ElaboratorGet a function that evaluates the underlying expression in push mode, by writing events to anOutputter- Overrides:
elaborateForPushin classPullElaborator- Returns:
- an evaluator for the expression in push mode
-
elaborateForItem
Description copied from class:ElaboratorGet a function that evaluates the underlying expression in the form of aItem. This must only be called for expressions whose result has cardinality zero or one.- Overrides:
elaborateForItemin classPullElaborator- Returns:
- an evaluator for the expression that returns an
Item, or null to represent an empty sequence.
-