Package com.saxonica.ee.bytecode
Class ToBooleanCompiler
- java.lang.Object
-
- com.saxonica.ee.bytecode.ExpressionCompiler
-
- com.saxonica.ee.bytecode.ToBooleanCompiler
-
- Direct Known Subclasses:
AndExpressionCompiler
,BooleanFnCompiler
,CastableExpressionCompiler
,CompareToIntegerConstantCompiler
,CompareToStringConstantCompiler
,ContainsCompiler
,EmptyCompiler
,EquivalenceComparisonCompiler
,ExistsCompiler
,GeneralComparisonCompiler
,InstanceOfCompiler
,IntegerRangeTestCompiler
,IsLastExpressionCompiler
,MatchesCompiler
,NotFnCompiler
,OrExpressionCompiler
,QuantifiedExpressionCompiler
,StartsWithCompiler
,ValueComparisonCompiler
public abstract class ToBooleanCompiler extends ExpressionCompiler
Abstract superclass for expression compilers that handle boolean expressions, that is, expressions that return a boolean result. Compilers for such expressions must implement the compileToBoolean method; other methods such as compileToItem and compileToIterator invoke the compileToBoolean method.
-
-
Constructor Summary
Constructors Constructor Description ToBooleanCompiler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
compileToItem(CompilerService compiler, Expression expression)
Generate bytecode to evaluate the expression as an Item Precondition: none.void
compileToIterator(CompilerService compiler, Expression expression)
Generate bytecode to evaluate the expression as aSequenceIterator
Precondition: none.void
compileToPush(CompilerService compiler, Expression expression)
Generate bytecode to evaluate the expression in push mode Precondition: none.-
Methods inherited from class com.saxonica.ee.bytecode.ExpressionCompiler
allocateStatic, compileItemFromInt, compileToBoolean, compileToPrimitive, generateMethod, handleEmptyStringResult, printStackTop, verify, visitAnnotation, visitLineNumber
-
-
-
-
Method Detail
-
compileToItem
public void compileToItem(CompilerService compiler, Expression expression) throws CannotCompileException
Description copied from class:ExpressionCompiler
Generate bytecode to evaluate the expression as an Item Precondition: none. Postcondition: at execution time, the stack contains either an item (the result of the expression), or null (representing an empty sequence).- Specified by:
compileToItem
in classExpressionCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled- Throws:
CannotCompileException
- if the expression cannot be compiled to bytecode
-
compileToIterator
public void compileToIterator(CompilerService compiler, Expression expression) throws CannotCompileException
Description copied from class:ExpressionCompiler
Generate bytecode to evaluate the expression as aSequenceIterator
Precondition: none. Postcondition: at execution time, the stack contains a SequenceIterator representing the result of the expression- 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
-
compileToPush
public void compileToPush(CompilerService compiler, Expression expression) throws CannotCompileException
Description copied from class:ExpressionCompiler
Generate 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- Specified by:
compileToPush
in classExpressionCompiler
- Parameters:
compiler
- the compiler serviceexpression
- the expression to be compiled- Throws:
CannotCompileException
- if the expression cannot be compiled to bytecode
-
-