net.sf.saxon.instruct

Class LocalVariable

Implemented Interfaces:
Binding, Serializable, SourceLocator, EvaluableItem, InstructionInfoProvider, SequenceIterable, TailCallReturner

public class LocalVariable
extends GeneralVariable

Handler for local xsl:variable elements in stylesheet. Not used in XQuery. In fact, the class is used only transiently in XSLT: local variables are compiled first to a LocalVariable object, and subsequently to a LetExpression.

Field Summary

Fields inherited from class net.sf.saxon.instruct.GeneralVariable

evaluationMode, referenceCount, slotNumber, variableQName

Fields inherited from class net.sf.saxon.expr.Expression

EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD, locationId, staticProperties

Method Summary

ValueRepresentation
evaluateVariable(XPathContext c)
Evaluate the variable
TailCall
processLeavingTail(XPathContext context)
Process the local variable declaration

Methods inherited from class net.sf.saxon.instruct.GeneralVariable

copy, evaluateItem, explain, getCardinality, getEvaluationMode, getInstructionNameCode, getItemType, getLocalSlotNumber, getRequiredType, getSelectExpression, getSelectValue, getSlotNumber, getVariableQName, init, isAssignable, isGlobal, isImplicitlyRequiredParam, isRequiredParam, isTunnelParam, iterate, iterateSubExpressions, optimize, promoteInst, replaceSubExpression, setAssignable, setImplicitlyRequiredParam, setReferenceCount, setRequiredParam, setRequiredType, setSelectExpression, setSlotNumber, setTunnel, setVariableQName, simplify, typeCheck

Methods inherited from class net.sf.saxon.instruct.Instruction

assembleParams, assembleTunnelParams, computeCardinality, computeSpecialProperties, createsNewNodes, dynamicError, evaluateAsString, evaluateItem, getImplementationMethod, getInstructionInfo, getInstructionNameCode, getItemType, getSourceLocator, isXSLT, iterate, process, processLeavingTail, promote, promoteInst, simplify

Methods inherited from class net.sf.saxon.expr.Expression

addToPathMap, adoptChildExpression, checkPermittedContents, computeCardinality, computeDependencies, computeSpecialProperties, computeStaticProperties, copy, display, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, explain, explain, findParentOf, getCardinality, getColumnNumber, getConstructType, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getItemType, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterate, iterateEvents, iterateSubExpressions, markTailFunctionCalls, optimize, process, promote, replaceSubExpression, resetLocalStaticProperties, setContainer, setFiltered, setFlattened, setLocationId, simplify, staticTypeCheck, suppressValidation, toString, typeCheck, typeError

Method Details

evaluateVariable

public ValueRepresentation evaluateVariable(XPathContext c)
            throws XPathException
Evaluate the variable
Specified by:
evaluateVariable in interface Binding

processLeavingTail

public TailCall processLeavingTail(XPathContext context)
            throws XPathException
Process the local variable declaration
Specified by:
processLeavingTail in interface TailCallReturner
Overrides:
processLeavingTail in interface Instruction