Package net.sf.saxon.expr.instruct
Interface TailCall
-
- All Known Implementing Classes:
ApplyTemplates.ApplyTemplatesPackage
,CallTemplate.CallTemplatePackage
public interface TailCall
Interface representing a Tail Call. This is a package of information passed back by a called instruction to its caller, representing a call (and its arguments) that needs to be made by the caller. This saves stack space by unwinding the stack before making the call.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TailCall
processLeavingTail()
Process this TailCall (that is, executed the template call that is packaged in this object).
-
-
-
Method Detail
-
processLeavingTail
TailCall processLeavingTail() throws XPathException
Process this TailCall (that is, executed the template call that is packaged in this object). This may return a further TailCall, which should also be processed: this is the mechanism by which a nested set of recursive calls is converted into an iteration.- Returns:
- a further TailCall, if the recursion continues, or null, indicating that the recursion has terminated.
- Throws:
XPathException
- if any error occurs processing the tail call
-
-