## com.saxonica.codegen
Class KeyFnCompiler

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

    public class KeyFnCompiler

extends SequenceExpressionCompiler

Compile code to implement the key() function. This function is defined only in XSLT, but it is also generated internally to implement XQuery optimizations.

Constructor Summary
`KeyFnCompiler()`

Method Summary
`java.lang.String` `compileToIterator(CompilerService compiler, Expression expr)` Generate Java code to evaluate the expression as a SequenceIterator

Methods inherited from class com.saxonica.codegen.SequenceExpressionCompiler
`compilePush, compileToCharSequence, compileToEffectiveBooleanValue, compileToItem`

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

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

Constructor Detail

### KeyFnCompiler

    public KeyFnCompiler()

Method Detail

### compileToIterator

    public java.lang.String compileToIterator(CompilerService compiler,
                                              Expression expr)

  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
    `expr` - 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

Copyright (c) Saxonica Limited. All rights reserved.