Package net.sf.saxon.expr

## Class GeneralComparison20

- java.lang.Object
- - net.sf.saxon.expr.Expression
  - - net.sf.saxon.expr.BinaryExpression
    - - net.sf.saxon.expr.GeneralComparison
      - - net.sf.saxon.expr.GeneralComparison20

- All Implemented Interfaces:
    `Callable`, `ComparisonExpression`, `ExportAgent`, `Locatable`, `IdentityComparable`, `Traceable`

      public class GeneralComparison20
      extends GeneralComparison

  The class GeneralComparison20 specializes GeneralComparison for the case where the comparison is done with 2.0 semantics (i.e. with backwards compatibility off). It differs from the superclass in that it will never turn the expression into a GeneralComparison10, which could lead to non-terminating optimizations

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.sf.saxon.expr.GeneralComparison

      `GeneralComparison.ComparisonCardinality`

  - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.expr.GeneralComparison

      `comparer, comparisonCardinality, doneWarnings, needsRuntimeCheck, singletonOperator`

    - ### Fields inherited from class net.sf.saxon.expr.BinaryExpression

      `operator`

    - ### Fields inherited from class net.sf.saxon.expr.Expression

      `EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, MAX_COST, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, UPDATE_METHOD, WATCH_METHOD`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GeneralComparison20​(Expression p0, int op, Expression p1)` | Create a relational expression identifying the two operands and the operator

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Expression` | `copy​(RebindingMap rebindings)` | Copy an expression.
    `protected GeneralComparison` | `getInverseComparison()` |

    - ### Methods inherited from class net.sf.saxon.expr.GeneralComparison

      `call, compare, computeCardinality, convertsUntypedToOther, effectiveBooleanValue, equals, evaluateItem, evaluateManyToMany, explainExtraAttributes, getAtomicComparer, getComparisonCardinality, getCorrespondingSingletonOperator, getExpressionName, getIntrinsicDependencies, getItemType, getNamespaceResolver, getSingletonOperator, getStaticUType, getStreamerName, needsRuntimeCheck, optimize, setAtomicComparer, setComparisonCardinality, setNeedsRuntimeCheck, tag, typeCheck`

    - ### Methods inherited from class net.sf.saxon.expr.BinaryExpression

      `computeHashCode, computeSpecialProperties, displayOperator, export, getImplementationMethod, getLhs, getLhsExpression, getOperandRole, getOperator, getRhs, getRhsExpression, isAssociative, isCommutative, isInverse, operands, setFlattened, setLhsExpression, setRhsExpression, toShortString, toString`

    - ### Methods inherited from class net.sf.saxon.expr.Expression

      `addToPathMap, adoptChildExpression, allowExtractingCommonSubexpressions, checkedOperands, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, dynamicError, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getConfiguration, getCost, getDependencies, getEvaluationMethod, getExtraProperty, getIntegerBounds, getInterpretedExpression, getLocalRetainedStaticContext, getLocation, getNetCost, getObjectName, getPackageData, getParentExpression, getProperties, getProperty, getRetainedStaticContext, getScopingExpression, getSlotsUsed, getSpecialProperties, getStaticBaseURI, getStaticBaseURIString, getStaticType, getTracingTag, hasCompatibleStaticContext, hashCode, hasSpecialProperty, hasVariableBinding, identityHashCode, implementsStaticTypeCheck, isCallOn, isEqual, isIdentical, isInstruction, isLiftable, isMultiThreaded, isStaticPropertiesKnown, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, markTailFunctionCalls, operandList, operandSparseList, optimizeChildren, prepareForStreaming, process, resetLocalStaticProperties, restoreParentPointers, setEvaluationMethod, setExtraProperty, setFiltered, setLocation, setParentExpression, setRetainedStaticContext, setRetainedStaticContextLocally, setRetainedStaticContextThoroughly, setStaticProperty, simplify, simplifyChildren, staticTypeCheck, suppressValidation, toPattern, typeCheckChildren, typeError, unordered, verifyParentPointers`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.expr.ComparisonExpression

      `getLhs, getLhsExpression, getRhs, getRhsExpression`

    - ### Methods inherited from interface net.sf.saxon.trace.Traceable

      `gatherProperties`

- - ### Constructor Detail

    - #### GeneralComparison20

          public GeneralComparison20​(Expression p0,
                                     int op,
                                     Expression p1)

      Create a relational expression identifying the two operands and the operator
      Parameters:
        `p0` - the left-hand operand
        `op` - the operator, as a token returned by the Tokenizer (e.g. Token.LT)
        `p1` - the right-hand operand

  - ### Method Detail

    - #### copy

          public Expression copy​(RebindingMap rebindings)

      Copy an expression. This makes a deep copy.
      Specified by:
        `copy` in class `Expression`
      Parameters:
        `rebindings` -
      Returns:
        the copy of the original expression

    - #### getInverseComparison

          protected GeneralComparison getInverseComparison()

      Overrides:
        `getInverseComparison` in class `GeneralComparison`