Package com.saxonica.ee.bytecode
Class SlashExpressionCompiler
- java.lang.Object
-
- com.saxonica.ee.bytecode.ExpressionCompiler
-
- com.saxonica.ee.bytecode.ToIteratorCompiler
-
- com.saxonica.ee.bytecode.SlashExpressionCompiler
-
public class SlashExpressionCompiler extends ToIteratorCompiler
Generate bytecode for a call to a SlashExpression or an xsl:for-each instruction (These have the same run-time semantics)
-
-
Constructor Summary
Constructors Constructor Description SlashExpressionCompiler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcompileToIterator(CompilerService compiler, Expression expression)Generate bytecode to evaluate the SlashExpression as a ContextMappingIterator Precondition: none.voidcompileToPush(CompilerService compiler, Expression expression)Generate bytecode to evaluate the expression in push mode Precondition: none.static CompiledContextMappingFunctiongenerateMappingFunction(CompilerService compiler, Expression step)Generate a mapping function for a given step expression-
Methods inherited from class com.saxonica.ee.bytecode.ToIteratorCompiler
compileToBoolean, compileToItem
-
Methods inherited from class com.saxonica.ee.bytecode.ExpressionCompiler
allocateStatic, compileItemFromInt, compileToPrimitive, generateMethod, handleEmptyStringResult, printStackTop, verify, visitAnnotation, visitLineNumber
-
-
-
-
Method Detail
-
compileToIterator
public void compileToIterator(CompilerService compiler, Expression expression) throws CannotCompileException
Generate bytecode to evaluate the SlashExpression as a ContextMappingIterator Precondition: none. Postcondition: the stack contains an iterator representing the result of the expression- Specified by:
compileToIteratorin classExpressionCompiler- Parameters:
compiler- the compiler serviceexpression- the expression to be compiled- Throws:
CannotCompileException- if the expression cannot be compiled to bytecode
-
generateMappingFunction
public static CompiledContextMappingFunction generateMappingFunction(CompilerService compiler, Expression step) throws CannotCompileException
Generate a mapping function for a given step expression- Parameters:
compiler- the compiler servicestep- the step expression to form the body of the mapping action- Throws:
CannotCompileException- if the expression cannot be compiled to bytecode
-
compileToPush
public void compileToPush(CompilerService compiler, Expression expression) throws CannotCompileException
Description copied from class:ExpressionCompilerGenerate bytecode to evaluate the expression in push mode Precondition: none. Postcondition: at execution time, the stack is unchanged, and the value of the expression has been written to the current receiver- Overrides:
compileToPushin classToIteratorCompiler- Parameters:
compiler- the compiler serviceexpression- the expression to be compiled- Throws:
CannotCompileException- if the expression cannot be compiled to bytecode
-
-