com.saxonica.codegen
Class PushExpressionCompiler

java.lang.Object
  extended by com.saxonica.codegen.ExpressionCompiler
      extended by com.saxonica.codegen.PushExpressionCompiler
Direct Known Subclasses:
BlockCompiler, CommentCompiler, ComputedAttributeCompiler, ComputedElementCompiler, CopyOfCompiler, FixedAttributeCompiler, FixedElementCompiler, ProcessingInstructionCompiler, ValueOfCompiler

public abstract class PushExpressionCompiler
extends ExpressionCompiler

Superclass for compiling expressions whose natural evaluation mode is "push", that is, expressions that construct new nodes.


Constructor Summary
PushExpressionCompiler()
           
 
Method Summary
 java.lang.String compileToCharSequence(CompilerService compiler, Expression exp)
          Generate Java code to evaluate the expression as a CharSequence
 java.lang.String compileToEffectiveBooleanValue(CompilerService compiler, Expression expr, ReturnAction result)
          Generate Java code to evaluate the effective boolean value of the expression
 java.lang.String compileToItem(CompilerService compiler, Expression exp)
          Generate Java code to evaluate the expression as an Item
 java.lang.String compileToIterator(CompilerService compiler, Expression exp)
          Generate Java code to evaluate the expression as a SequenceIterator
 java.lang.String getStaticBaseURI(Expression exp)
          Get the base URI of the instruction being compiled.
static java.lang.String prepareToPush(int n, CompilerService compiler, java.lang.String baseURI)
           
 
Methods inherited from class com.saxonica.codegen.ExpressionCompiler
compileAsLoop, compilePush, compileToValueRepresentation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PushExpressionCompiler

public PushExpressionCompiler()
Method Detail

compileToItem

public java.lang.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).

compileToIterator

public java.lang.String compileToIterator(CompilerService compiler,
                                          Expression exp)
Description copied from class: ExpressionCompiler
Generate Java code to evaluate the expression as a SequenceIterator

Specified by:
compileToIterator in class ExpressionCompiler
Parameters:
compiler - the compiler service
exp - the XPath expression to be compiled
Returns:
a simple Java expression (usually the name of a variable that has been declared) which will be of class SequenceIterator, and which at run-time will hold an iterator over the the value of the XPath expression

prepareToPush

public static java.lang.String prepareToPush(int n,
                                             CompilerService compiler,
                                             java.lang.String baseURI)

compileToEffectiveBooleanValue

public java.lang.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 XPath expression to be compiled
result - indicates how the boolean 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).

compileToCharSequence

public java.lang.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 XPath 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 XPath expression at run-time

getStaticBaseURI

public java.lang.String getStaticBaseURI(Expression exp)
Get the base URI of the instruction being compiled. The default implementation returns null, indicating that the base URI is not needed for this kind of instruction



Copyright (c) Saxonica Limited. All rights reserved.