Package com.saxonica.ee.bytecode
Class VariableReferenceCompiler
- java.lang.Object
-
- com.saxonica.ee.bytecode.ExpressionCompiler
-
- com.saxonica.ee.bytecode.ToIteratorCompiler
-
- com.saxonica.ee.bytecode.VariableReferenceCompiler
-
public class VariableReferenceCompiler extends ToIteratorCompiler
Generate bytecode for evaluation of a VariableReference
-
-
Constructor Summary
Constructors Constructor Description VariableReferenceCompiler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
compileToBoolean(CompilerService compiler, Expression expression)
Generate bytecode to evaluate the expression as a boolean Precondition: none.void
compileToItem(CompilerService compiler, Expression expression)
Generate bytecode to evaluate a VariableReference as an Item Precondition: none.void
compileToIterator(CompilerService compiler, Expression expression)
Generate bytecode to evaluate a VariableReference as an Iterator Precondition: none.void
compileToPush(CompilerService compiler, Expression expression)
Generate bytecode to evaluate a VariableReference in push mode Precondition: none.static void
compileToSequence(CompilerService compiler, VariableReference expression)
Generate bytecode to evaluate a VariableReference as an Sequence Precondition: none.static void
genEvaluateVariable(CompilerService compiler, Generator ga, VariableReference expression)
-
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 a VariableReference as an Iterator Precondition: none. Postcondition: the stack contains an Iterator representing the evaluated variable- Specified by:
compileToIterator
in classExpressionCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled- Throws:
CannotCompileException
- if the expression cannot be compiled to bytecode
-
compileToSequence
public static void compileToSequence(CompilerService compiler, VariableReference expression) throws CannotCompileException
Generate bytecode to evaluate a VariableReference as an Sequence Precondition: none. Postcondition: the stack contains a Sequence representing the evaluated variable- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled- Throws:
CannotCompileException
- if the expression cannot be compiled to bytecode
-
genEvaluateVariable
public static void genEvaluateVariable(CompilerService compiler, Generator ga, VariableReference expression)
-
compileToItem
public void compileToItem(CompilerService compiler, Expression expression) throws CannotCompileException
Generate bytecode to evaluate a VariableReference as an Item Precondition: none. Postcondition: the stack contains an Item representing the evaluated variable- Overrides:
compileToItem
in classToIteratorCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled- Throws:
CannotCompileException
- if the expression cannot be compiled to bytecode
-
compileToPush
public void compileToPush(CompilerService compiler, Expression expression) throws CannotCompileException
Generate bytecode to evaluate a VariableReference in push mode Precondition: none. Postcondition: the stack is unchanged- Overrides:
compileToPush
in classToIteratorCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled- Throws:
CannotCompileException
- if the expression cannot be compiled to bytecode
-
compileToBoolean
public void compileToBoolean(CompilerService compiler, Expression expression) throws CannotCompileException
Description copied from class:ExpressionCompiler
Generate bytecode to evaluate the expression as a boolean Precondition: none. Postcondition: at execution time, the stack contains an integer (0=false, 1=true) representing the result of the expression- Overrides:
compileToBoolean
in classToIteratorCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled- Throws:
CannotCompileException
- if the expression cannot be compiled to bytecode
-
-