Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.saxonica.bytecode
Class GeneralComparisonCompiler

    java.lang.Object
      com.saxonica.bytecode.ExpressionCompiler
          com.saxonica.bytecode.ToBooleanCompiler
              com.saxonica.bytecode.GeneralComparisonCompiler

    public class GeneralComparisonCompiler

extends ToBooleanCompiler

Generate code for a GeneralComparison

Constructor Summary
`GeneralComparisonCompiler()`

Method Summary
`void` | `compileToBoolean(CompilerService compiler, Expression expression)` Generate bytecode to evaluate the expression as a boolean Precondition: none.
`void` | `compileToBooleanManyToMany(CompilerService compiler, GeneralComparison comparison)`
`static void` | `generateComparisonCode(CompilerService compiler, ComparisonExpression comparison, LabelInfo returnTrue, LabelInfo returnFalse, LabelInfo end, int item0Var, int item1Var, AtomicType type0, AtomicType type1, boolean checkTypes)` Generate code to compare two items, leaving a boolean result on the top of the bytecode stack

Methods inherited from class com.saxonica.bytecode.ToBooleanCompiler
`compileToItem, compileToIterator, compileToPush`

Methods inherited from class com.saxonica.bytecode.ExpressionCompiler
`allocateStatic, compileItemFromInt, compileItemFromString, compileToLoop, compileToPrimitive, generateMethod, getConfiguration, handleEmptyStringResult, setConfiguration, throwXPathException, throwXPathException, unboxItem, verify, visitAnnotation, visitLineNumber`

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

Constructor Detail

### GeneralComparisonCompiler

    public GeneralComparisonCompiler()

Method Detail

### compileToBoolean

    public void compileToBoolean(CompilerService compiler,
                                 Expression expression)
                          throws CannotCompileException

  Description copied from class: `ExpressionCompiler`
  Generate bytecode to evaluate the expression as a boolean Precondition: none. Postcondition: at execution time, the stack contains an integer (0=false, 1=true) representing the result of the expression

  Specified by:
    `compileToBoolean` in class `ExpressionCompiler`
  Parameters:
    `compiler` - the compiler service
    `expression` - the expression to be compiled
  Throws:
    `CannotCompileException`

### compileToBooleanManyToMany

    public void compileToBooleanManyToMany(CompilerService compiler,
                                           GeneralComparison comparison)
                                    throws CannotCompileException

  Throws:
    `CannotCompileException`

### generateComparisonCode

    public static void generateComparisonCode(CompilerService compiler,
                                              ComparisonExpression comparison,
                                              LabelInfo returnTrue,
                                              LabelInfo returnFalse,
                                              LabelInfo end,
                                              int item0Var,
                                              int item1Var,
                                              AtomicType type0,
                                              AtomicType type1,
                                              boolean checkTypes)

  Generate code to compare two items, leaving a boolean result on the top of the bytecode stack

  Parameters:
    `compiler` - the compiler service
    `comparison` - the comparison expression being compiled
    `returnTrue` - label to jump to to return true
    `returnFalse` - label to jump to to return false
    `end` - label to jump to to exit, with the result on stack
    `item0Var` - position of local variable (or if negative, argument) holding the first item
    `item1Var` - position of local variable (or if negative, argument) holding the second item
    `type0` - static type of the first item
    `type1` - static type of the second item
    `checkTypes` - if true, code needs to be generated to check the items are comparable

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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