## com.saxonica.codegen
Class SequenceExpressionCompiler

    java.lang.Object
      com.saxonica.codegen.ExpressionCompiler
          com.saxonica.codegen.SequenceExpressionCompiler

Direct Known Subclasses:
  AtomicSequenceConverterCompiler, AtomizerCompiler, AxisExpressionCompiler, CardinalityCheckerCompiler, CollectionCompiler, DistinctValuesCompiler, DocumentSorterCompiler, FilterExpressionCompiler, ForExpressionCompiler, IdCompiler, IdrefCompiler, IndexedFilterExpressionCompiler, IndexOfCompiler, InScopePrefixesCompiler, InsertCompiler, ItemCheckerCompiler, KeyFnCompiler, LazyExpressionCompiler, LetExpressionCompiler, LocalVariableReferenceCompiler, NumericPromoterCompiler, PathExpressionCompiler, RangeExpressionCompiler, RemoveCompiler, ReverserCompiler, SimpleMappingCompiler, SliceExpressionCompiler, StringToCodepointsCompiler, SubsequenceCompiler, TailCallLoopCompiler, TailExpressionCompiler, TokenizeCompiler, TupleSorterCompiler, UntypedAtomicConverterCompiler, UserFunctionCallCompiler, VariableReferenceCompiler, VennExpressionCompiler

    public abstract class SequenceExpressionCompiler

extends ExpressionCompiler

Superclass for compiling expressions whose natural evaluation mode is "pull", for example, expressions that read and return existing nodes.

Constructor Summary
`SequenceExpressionCompiler()`

Method Summary
`void` `compilePush(CompilerService compiler, Expression exp)` Generate Java code to execute the expression in push mode, that is, code to write events to the current output Receiver
`String` `compileToCharSequence(CompilerService compiler, Expression exp)` Generate Java code to evaluate the expression as a CharSequence
`String` `compileToEffectiveBooleanValue(CompilerService compiler, Expression expr, ReturnAction result)` Generate Java code to evaluate the effective boolean value of the expression
`String` `compileToItem(CompilerService compiler, Expression exp)` Generate Java code to evaluate the expression as an Item

Methods inherited from class com.saxonica.codegen.ExpressionCompiler
`compileAsLoop, compileAsLoopWithContext, compileToIterator, compileToValueRepresentation`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SequenceExpressionCompiler

    public SequenceExpressionCompiler()

Method Detail

### compileToItem

    public String compileToItem(CompilerService compiler,
                                Expression exp)

  Description copied from class: `ExpressionCompiler`
  Generate Java code to evaluate the expression as an Item

  Specified by:
    `compileToItem` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `exp` - the expression to be compiled
  Returns:
    a simple Java expression (usually the name of a variable that has been declared) which will be of class `Item`, and which will hold the value of the expression at run-time (or hold null, representing an empty sequence).

### compileToEffectiveBooleanValue

    public String compileToEffectiveBooleanValue(CompilerService compiler,
                                                 Expression expr,
                                                 ReturnAction result)

  Description copied from class: `ExpressionCompiler`
  Generate Java code to evaluate the effective boolean value of the expression

  Specified by:
    `compileToEffectiveBooleanValue` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expr` - the expression to be compiled
    `result` - indicates how the result is to be returned
  Returns:
    the result depends on the supplied value of the options argument. If options is a JavaDeclaration, the code must declare a Java variable and return the name of this variable. If options is a JavaAssignment, the code must assign the value to an existing Java variable. If options is a Return, the code must generate a return statement that returns the value of the boolean (in which case the result of this method is null).

### compilePush

    public void compilePush(CompilerService compiler,
                            Expression exp)

  Description copied from class: `ExpressionCompiler`
  Generate Java code to execute the expression in push mode, that is, code to write events to the current output Receiver

  Specified by:
    `compilePush` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `exp` - the expression to be compiled

### compileToCharSequence

    public String compileToCharSequence(CompilerService compiler,
                                        Expression exp)

  Description copied from class: `ExpressionCompiler`
  Generate Java code to evaluate the expression as a CharSequence

  Specified by:
    `compileToCharSequence` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `exp` - the expression to be compiled
  Returns:
    a simple Java expression (usually the name of a variable that has been declared, or a string literal) which will be of class `CharSequence`, and which will hold the string value of the expression at run-time

Copyright (C) Michael H. Kay. All rights reserved.