Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.expr.instruct
Interface TailCall

All Known Implementing Classes:
  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
`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

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.