## com.saxonica.codegen
Class UserFunctionCallCompiler

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

    public class UserFunctionCallCompiler

extends SequenceExpressionCompiler

Compiles Java code to implement a Let expression

Constructor Summary
`UserFunctionCallCompiler()`

Method Summary
`void` `compilePush(CompilerService compiler, Expression expr)` Generate Java code to execute the expression in push mode, that is, code to write events to the current output Receiver
`String` `compileToItem(CompilerService compiler, Expression expr)` Generate Java code to evaluate the expression as an Item
`String` `compileToIterator(CompilerService compiler, Expression expr)` Compile code to produce a SequenceIterator over the results of the expression
`String` `compileToValueRepresentation(CompilerService compiler, Expression expr)` Generate Java code to evaluate the expression as a ValueRepresentation

Methods inherited from class com.saxonica.codegen.SequenceExpressionCompiler
`compileToEffectiveBooleanValue`

Methods inherited from class com.saxonica.codegen.ExpressionCompiler
`compileAsLoop, compileToCharSequence, getConfiguration, makeExpressionCompiler, setConfiguration`

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

Constructor Detail

### UserFunctionCallCompiler

    public UserFunctionCallCompiler()

Method Detail

### compileToIterator

    public String compileToIterator(CompilerService compiler,
                                    Expression expr)

  Compile code to produce a SequenceIterator over the results of the expression

  Specified by:
    `compileToIterator` in class `ExpressionCompiler`
  Parameters:
    `compiler` - The CompilerService
    `expr` - the LetExpression to be compiled
  Returns:
    the compiled Java expression

### compileToItem

    public String compileToItem(CompilerService compiler,
                                Expression expr)

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

  Overrides:
    `compileToItem` in class `SequenceExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expr` - 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).

### compilePush

    public void compilePush(CompilerService compiler,
                            Expression expr)

  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

  Overrides:
    `compilePush` in class `SequenceExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expr` - the expression to be compiled

### compileToValueRepresentation

    public String compileToValueRepresentation(CompilerService compiler,
                                               Expression expr)

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

  Overrides:
    `compileToValueRepresentation` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expr` - 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 `ValueRepresentation`, and which at run-time will hold the value of the expression

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.