|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.saxonica.codegen.ExpressionCompiler com.saxonica.codegen.SequenceExpressionCompiler com.saxonica.codegen.TailCallLoopCompiler
public class TailCallLoopCompiler
Generate Java code to implement a tail call loop expression. This expression is wrapped around a function body to achieve optimization of recursive tail calls.
Constructor Summary | |
---|---|
TailCallLoopCompiler()
|
Method Summary | |
---|---|
void |
compileAsLoop(CompilerService compiler,
Expression expr,
LoopAction action)
Compile an expression in the form of a loop. |
void |
compilePush(CompilerService compiler,
Expression expr)
Generate Java code to execute the expression in push mode, that is, code to write events to the current output Receiver |
String |
compileToItem(CompilerService compiler,
Expression expr)
Generate Java code to evaluate the expression as an Item |
String |
compileToIterator(CompilerService compiler,
Expression expr)
Generate Java code to evaluate the expression as a SequenceIterator |
Methods inherited from class com.saxonica.codegen.SequenceExpressionCompiler |
---|
compileToCharSequence, compileToEffectiveBooleanValue |
Methods inherited from class com.saxonica.codegen.ExpressionCompiler |
---|
compileToValueRepresentation |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TailCallLoopCompiler()
Method Detail |
---|
public String compileToIterator(CompilerService compiler, Expression expr)
ExpressionCompiler
compileToIterator
in class ExpressionCompiler
compiler
- the compiler serviceexpr
- the XPath expression to be compiled
SequenceIterator
,
and which at run-time will hold an iterator over the the value of the XPath expressionpublic String compileToItem(CompilerService compiler, Expression expr)
ExpressionCompiler
compileToItem
in class SequenceExpressionCompiler
compiler
- the compiler serviceexpr
- the expression to be compiled
Item
,
and which will hold the value of the expression at run-time (or hold null,
representing an empty sequence).public void compileAsLoop(CompilerService compiler, Expression expr, LoopAction action)
compileAsLoop
in class ExpressionCompiler
compiler
- the CompilerServiceexpr
- the expression to be compiledaction
- the action to be taken to process each item in the sequence returned by the expressionpublic void compilePush(CompilerService compiler, Expression expr)
ExpressionCompiler
compilePush
in class SequenceExpressionCompiler
compiler
- the compiler serviceexpr
- the expression to be compiled
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |