## com.saxonica.codegen
Class ValueComparisonCompiler

    java.lang.Object
      com.saxonica.codegen.ExpressionCompiler
          com.saxonica.codegen.ToBooleanCompiler
              com.saxonica.codegen.ValueComparisonCompiler

    public class ValueComparisonCompiler

extends ToBooleanCompiler

Generate Java code to implement a value comparison operator

Constructor Summary
`ValueComparisonCompiler()`

Method Summary
`protected static java.lang.String` `adjustForNaN(CompilerService compiler, ItemType t, java.lang.String var, int operator, java.lang.String jexp)`
`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 expr)` Generate Java code to evaluate the expression as an Item

Methods inherited from class com.saxonica.codegen.ToBooleanCompiler
`compilePush, compileToCharSequence, compileToIterator`

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

### ValueComparisonCompiler

    public ValueComparisonCompiler()

Method Detail

### compileToItem

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

### adjustForNaN

    protected static java.lang.String adjustForNaN(CompilerService compiler,
                                                   ItemType t,
                                                   java.lang.String var,
                                                   int operator,
                                                   java.lang.String jexp)

### 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 `ToBooleanCompiler`
  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).

Copyright (c) Saxonica Limited. All rights reserved.