public class org.hsqldb.RangeVariableResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.RangeVariableResolver
  super_class: java.lang.Object
{
  org.hsqldb.Session session;
    descriptor: Lorg/hsqldb/Session;
    flags: (0x0000) 

  org.hsqldb.QuerySpecification select;
    descriptor: Lorg/hsqldb/QuerySpecification;
    flags: (0x0000) 

  org.hsqldb.RangeVariable[] rangeVariables;
    descriptor: [Lorg/hsqldb/RangeVariable;
    flags: (0x0000) 

  org.hsqldb.Expression conditions;
    descriptor: Lorg/hsqldb/Expression;
    flags: (0x0000) 

  org.hsqldb.lib.OrderedHashSet rangeVarSet;
    descriptor: Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0000) 

  org.hsqldb.ParserDQL$CompileContext compileContext;
    descriptor: Lorg/hsqldb/ParserDQL$CompileContext;
    flags: (0x0000) 

  org.hsqldb.SortAndSlice sortAndSlice;
    descriptor: Lorg/hsqldb/SortAndSlice;
    flags: (0x0000) 

  boolean reorder;
    descriptor: Z
    flags: (0x0000) 

  org.hsqldb.lib.HsqlArrayList[] tempJoinExpressions;
    descriptor: [Lorg/hsqldb/lib/HsqlArrayList;
    flags: (0x0000) 

  org.hsqldb.lib.HsqlArrayList[] joinExpressions;
    descriptor: [Lorg/hsqldb/lib/HsqlArrayList;
    flags: (0x0000) 

  org.hsqldb.lib.HsqlArrayList[] whereExpressions;
    descriptor: [Lorg/hsqldb/lib/HsqlArrayList;
    flags: (0x0000) 

  org.hsqldb.lib.HsqlArrayList queryConditions;
    descriptor: Lorg/hsqldb/lib/HsqlArrayList;
    flags: (0x0000) 

  org.hsqldb.Expression[] inExpressions;
    descriptor: [Lorg/hsqldb/Expression;
    flags: (0x0000) 

  boolean[] inInJoin;
    descriptor: [Z
    flags: (0x0000) 

  int inExpressionCount;
    descriptor: I
    flags: (0x0000) 

  boolean expandInExpression;
    descriptor: Z
    flags: (0x0000) 

  int firstLeftJoinIndex;
    descriptor: I
    flags: (0x0000) 

  int firstRightJoinIndex;
    descriptor: I
    flags: (0x0000) 

  int lastRightJoinIndex;
    descriptor: I
    flags: (0x0000) 

  int firstLateralJoinIndex;
    descriptor: I
    flags: (0x0000) 

  int firstOuterJoinIndex;
    descriptor: I
    flags: (0x0000) 

  int lastOuterJoinIndex;
    descriptor: I
    flags: (0x0000) 

  org.hsqldb.lib.OrderedIntHashSet colIndexSetEqual;
    descriptor: Lorg/hsqldb/lib/OrderedIntHashSet;
    flags: (0x0000) 

  org.hsqldb.lib.IntKeyIntValueHashMap colIndexSetOther;
    descriptor: Lorg/hsqldb/lib/IntKeyIntValueHashMap;
    flags: (0x0000) 

  org.hsqldb.lib.OrderedHashSet tempSet;
    descriptor: Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0000) 

  org.hsqldb.lib.HashMap tempMap;
    descriptor: Lorg/hsqldb/lib/HashMap;
    flags: (0x0000) 

  org.hsqldb.lib.MultiValueHashMap tempMultiMap;
    descriptor: Lorg/hsqldb/lib/MultiValueHashMap;
    flags: (0x0000) 

  void <init>(org.hsqldb.Session, org.hsqldb.QuerySpecification);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/QuerySpecification;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.QuerySpecification select
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            aload 0 /* this */
            new org.hsqldb.lib.OrderedHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedHashSet.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
         2: .line 67
            aload 0 /* this */
            getstatic org.hsqldb.SortAndSlice.noSort:Lorg/hsqldb/SortAndSlice;
            putfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
         3: .line 74
            aload 0 /* this */
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.queryConditions:Lorg/hsqldb/lib/HsqlArrayList;
         4: .line 79
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.RangeVariableResolver.inExpressionCount:I
         5: .line 80
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.RangeVariableResolver.expandInExpression:Z
         6: .line 91
            aload 0 /* this */
            new org.hsqldb.lib.OrderedIntHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedIntHashSet.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
         7: .line 92
            aload 0 /* this */
            new org.hsqldb.lib.IntKeyIntValueHashMap
            dup
            invokespecial org.hsqldb.lib.IntKeyIntValueHashMap.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
         8: .line 93
            aload 0 /* this */
            new org.hsqldb.lib.OrderedHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedHashSet.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
         9: .line 94
            aload 0 /* this */
            new org.hsqldb.lib.HashMap
            dup
            invokespecial org.hsqldb.lib.HashMap.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.tempMap:Lorg/hsqldb/lib/HashMap;
        10: .line 95
            aload 0 /* this */
            new org.hsqldb.lib.MultiValueHashMap
            dup
            invokespecial org.hsqldb.lib.MultiValueHashMap.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
        11: .line 99
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
        12: .line 100
            aload 0 /* this */
            aload 2 /* select */
            putfield org.hsqldb.RangeVariableResolver.select:Lorg/hsqldb/QuerySpecification;
        13: .line 101
            aload 0 /* this */
            aload 2 /* select */
            getfield org.hsqldb.QuerySpecification.rangeVariables:[Lorg/hsqldb/RangeVariable;
            putfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
        14: .line 102
            aload 0 /* this */
            aload 2 /* select */
            getfield org.hsqldb.QuerySpecification.queryCondition:Lorg/hsqldb/Expression;
            putfield org.hsqldb.RangeVariableResolver.conditions:Lorg/hsqldb/Expression;
        15: .line 103
            aload 0 /* this */
            aload 2 /* select */
            getfield org.hsqldb.QuerySpecification.compileContext:Lorg/hsqldb/ParserDQL$CompileContext;
            putfield org.hsqldb.RangeVariableResolver.compileContext:Lorg/hsqldb/ParserDQL$CompileContext;
        16: .line 104
            aload 0 /* this */
            aload 2 /* select */
            getfield org.hsqldb.QuerySpecification.sortAndSlice:Lorg/hsqldb/SortAndSlice;
            putfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
        17: .line 105
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.RangeVariableResolver.reorder:Z
        18: .line 108
            aload 0 /* this */
            invokevirtual org.hsqldb.RangeVariableResolver.initialise:()V
        19: .line 109
            return
        end local 2 // org.hsqldb.QuerySpecification select
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lorg/hsqldb/RangeVariableResolver;
            0   20     1  session  Lorg/hsqldb/Session;
            0   20     2   select  Lorg/hsqldb/QuerySpecification;
    MethodParameters:
         Name  Flags
      session  
      select   

  void <init>(org.hsqldb.Session, org.hsqldb.RangeVariable[], org.hsqldb.Expression, org.hsqldb.ParserDQL$CompileContext, boolean);
    descriptor: (Lorg/hsqldb/Session;[Lorg/hsqldb/RangeVariable;Lorg/hsqldb/Expression;Lorg/hsqldb/ParserDQL$CompileContext;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.RangeVariable[] rangeVariables
        start local 3 // org.hsqldb.Expression conditions
        start local 4 // org.hsqldb.ParserDQL$CompileContext compileContext
        start local 5 // boolean reorder
         0: .line 111
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            aload 0 /* this */
            new org.hsqldb.lib.OrderedHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedHashSet.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
         2: .line 67
            aload 0 /* this */
            getstatic org.hsqldb.SortAndSlice.noSort:Lorg/hsqldb/SortAndSlice;
            putfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
         3: .line 74
            aload 0 /* this */
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.queryConditions:Lorg/hsqldb/lib/HsqlArrayList;
         4: .line 79
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.RangeVariableResolver.inExpressionCount:I
         5: .line 80
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.RangeVariableResolver.expandInExpression:Z
         6: .line 91
            aload 0 /* this */
            new org.hsqldb.lib.OrderedIntHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedIntHashSet.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
         7: .line 92
            aload 0 /* this */
            new org.hsqldb.lib.IntKeyIntValueHashMap
            dup
            invokespecial org.hsqldb.lib.IntKeyIntValueHashMap.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
         8: .line 93
            aload 0 /* this */
            new org.hsqldb.lib.OrderedHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedHashSet.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
         9: .line 94
            aload 0 /* this */
            new org.hsqldb.lib.HashMap
            dup
            invokespecial org.hsqldb.lib.HashMap.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.tempMap:Lorg/hsqldb/lib/HashMap;
        10: .line 95
            aload 0 /* this */
            new org.hsqldb.lib.MultiValueHashMap
            dup
            invokespecial org.hsqldb.lib.MultiValueHashMap.<init>:()V
            putfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
        11: .line 115
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
        12: .line 116
            aload 0 /* this */
            aload 2 /* rangeVariables */
            putfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
        13: .line 117
            aload 0 /* this */
            aload 3 /* conditions */
            putfield org.hsqldb.RangeVariableResolver.conditions:Lorg/hsqldb/Expression;
        14: .line 118
            aload 0 /* this */
            aload 4 /* compileContext */
            putfield org.hsqldb.RangeVariableResolver.compileContext:Lorg/hsqldb/ParserDQL$CompileContext;
        15: .line 119
            aload 0 /* this */
            iload 5 /* reorder */
            putfield org.hsqldb.RangeVariableResolver.reorder:Z
        16: .line 121
            aload 0 /* this */
            invokevirtual org.hsqldb.RangeVariableResolver.initialise:()V
        17: .line 122
            return
        end local 5 // boolean reorder
        end local 4 // org.hsqldb.ParserDQL$CompileContext compileContext
        end local 3 // org.hsqldb.Expression conditions
        end local 2 // org.hsqldb.RangeVariable[] rangeVariables
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/hsqldb/RangeVariableResolver;
            0   18     1         session  Lorg/hsqldb/Session;
            0   18     2  rangeVariables  [Lorg/hsqldb/RangeVariable;
            0   18     3      conditions  Lorg/hsqldb/Expression;
            0   18     4  compileContext  Lorg/hsqldb/ParserDQL$CompileContext;
            0   18     5         reorder  Z
    MethodParameters:
                Name  Flags
      session         
      rangeVariables  
      conditions      
      compileContext  
      reorder         

  private void initialise();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.hsqldb.RangeVariableResolver this
         0: .line 126
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            putfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
         1: .line 127
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            putfield org.hsqldb.RangeVariableResolver.firstRightJoinIndex:I
         2: .line 128
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            putfield org.hsqldb.RangeVariableResolver.firstLateralJoinIndex:I
         3: .line 129
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            putfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
         4: .line 130
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            anewarray org.hsqldb.Expression
            putfield org.hsqldb.RangeVariableResolver.inExpressions:[Lorg/hsqldb/Expression;
         5: .line 131
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            newarray 4
            putfield org.hsqldb.RangeVariableResolver.inInJoin:[Z
         6: .line 132
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            anewarray org.hsqldb.lib.HsqlArrayList
            putfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
         7: .line 134
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         8: goto 11
         9: .line 135
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            aastore
        10: .line 134
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 1 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 9
        end local 1 // int i
        12: .line 138
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            anewarray org.hsqldb.lib.HsqlArrayList
            putfield org.hsqldb.RangeVariableResolver.joinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
        13: .line 140
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        14: goto 17
        15: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.joinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            aastore
        16: .line 140
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 1 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 15
        end local 1 // int i
        18: .line 144
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            anewarray org.hsqldb.lib.HsqlArrayList
            putfield org.hsqldb.RangeVariableResolver.whereExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
        19: .line 146
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        20: goto 23
        21: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.whereExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            aastore
        22: .line 146
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 1 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 21
        end local 1 // int i
        24: .line 150
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.queryConditions:Lorg/hsqldb/lib/HsqlArrayList;
            invokevirtual org.hsqldb.lib.HsqlArrayList.clear:()V
        25: .line 151
            return
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lorg/hsqldb/RangeVariableResolver;
            8   12     1     i  I
           14   18     1     i  I
           20   24     1     i  I

  void processConditions();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.hsqldb.RangeVariableResolver this
         0: .line 155
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            getfield org.hsqldb.Session.sessionOptimization:I
            bipush 8
            if_icmpge 2
         1: .line 156
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.RangeVariableResolver.reorder:Z
         2: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.conditions:Lorg/hsqldb/Expression;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.queryConditions:Lorg/hsqldb/lib/HsqlArrayList;
            invokestatic org.hsqldb.RangeVariableResolver.decomposeAndConditions:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
            pop
         3: .line 161
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         4: goto 12
         5: .line 162
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
         6: .line 164
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.joinCondition:Lorg/hsqldb/Expression;
            ifnonnull 8
         7: .line 165
            goto 11
         8: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.joinCondition:Lorg/hsqldb/Expression;
         9: .line 169
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
        10: .line 168
            invokestatic org.hsqldb.RangeVariableResolver.decomposeAndConditions:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
            pop
        11: .line 161
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 1 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 5
        end local 1 // int i
        13: .line 172
            iconst_0
            istore 1 /* j */
        start local 1 // int j
        14: goto 32
        15: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.queryConditions:Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* j */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 2 /* e */
        start local 2 // org.hsqldb.Expression e
        16: .line 175
            aload 2 /* e */
            invokevirtual org.hsqldb.Expression.isTrue:()Z
            ifeq 18
        17: .line 176
            goto 31
        18: .line 179
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            aload 2 /* e */
            getfield org.hsqldb.Expression.isSingleColumnEqual:Z
            ifne 19
            aload 2 /* e */
            getfield org.hsqldb.Expression.isColumnCondition:Z
            ifeq 31
        19: .line 180
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            astore 3 /* range */
        start local 3 // org.hsqldb.RangeVariable range
        20: .line 182
            aload 2 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            getfield org.hsqldb.Expression.opType:I
            iconst_2
            if_icmpne 25
        21: .line 183
            aload 3 /* range */
            ifnull 25
        22: .line 184
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 3 /* range */
            invokevirtual org.hsqldb.lib.OrderedHashSet.getIndex:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
        23: .line 186
            iload 4 /* index */
            ifle 25
        24: .line 187
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 4 /* index */
            aaload
            iconst_0
            putfield org.hsqldb.RangeVariable.isLeftJoin:Z
        end local 4 // int index
        25: .line 191
      StackMap locals: org.hsqldb.RangeVariable
      StackMap stack:
            aload 2 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            astore 3 /* range */
        26: .line 193
            aload 2 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            getfield org.hsqldb.Expression.opType:I
            iconst_2
            if_icmpne 31
        27: .line 194
            aload 3 /* range */
            ifnull 31
        28: .line 195
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 3 /* range */
            invokevirtual org.hsqldb.lib.OrderedHashSet.getIndex:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
        29: .line 197
            iload 4 /* index */
            ifle 31
        30: .line 198
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 4 /* index */
            aaload
            iconst_0
            putfield org.hsqldb.RangeVariable.isLeftJoin:Z
        end local 4 // int index
        end local 3 // org.hsqldb.RangeVariable range
        end local 2 // org.hsqldb.Expression e
        31: .line 172
      StackMap locals:
      StackMap stack:
            iinc 1 /* j */ 1
      StackMap locals:
      StackMap stack:
        32: iload 1 /* j */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.queryConditions:Lorg/hsqldb/lib/HsqlArrayList;
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            if_icmplt 15
        end local 1 // int j
        33: .line 204
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        34: goto 55
        35: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            astore 2 /* range */
        start local 2 // org.hsqldb.RangeVariable range
        36: .line 206
            iconst_0
            istore 3 /* isOuter */
        start local 3 // boolean isOuter
        37: .line 208
            aload 2 /* range */
            getfield org.hsqldb.RangeVariable.isLeftJoin:Z
            ifeq 41
        38: .line 209
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpne 40
        39: .line 210
            aload 0 /* this */
            iload 1 /* i */
            putfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
        40: .line 213
      StackMap locals: org.hsqldb.RangeVariable int
      StackMap stack:
            iconst_1
            istore 3 /* isOuter */
        41: .line 216
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            getfield org.hsqldb.RangeVariable.isRightJoin:Z
            ifeq 46
        42: .line 217
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstRightJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpne 44
        43: .line 218
            aload 0 /* this */
            iload 1 /* i */
            putfield org.hsqldb.RangeVariableResolver.firstRightJoinIndex:I
        44: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* i */
            putfield org.hsqldb.RangeVariableResolver.lastRightJoinIndex:I
        45: .line 222
            iconst_1
            istore 3 /* isOuter */
        46: .line 225
      StackMap locals:
      StackMap stack:
            aload 2 /* range */
            getfield org.hsqldb.RangeVariable.isLateral:Z
            ifeq 50
        47: .line 226
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLateralJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpne 49
        48: .line 227
            aload 0 /* this */
            iload 1 /* i */
            putfield org.hsqldb.RangeVariableResolver.firstLateralJoinIndex:I
        49: .line 230
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* isOuter */
        50: .line 233
      StackMap locals:
      StackMap stack:
            iload 3 /* isOuter */
            ifeq 54
        51: .line 234
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpne 53
        52: .line 235
            aload 0 /* this */
            iload 1 /* i */
            putfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
        53: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* i */
            putfield org.hsqldb.RangeVariableResolver.lastOuterJoinIndex:I
        end local 3 // boolean isOuter
        end local 2 // org.hsqldb.RangeVariable range
        54: .line 204
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 1 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 35
        end local 1 // int i
        56: .line 242
            aload 0 /* this */
            invokevirtual org.hsqldb.RangeVariableResolver.expandConditions:()V
        57: .line 244
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.RangeVariableResolver.conditions:Lorg/hsqldb/Expression;
        58: .line 246
            aload 0 /* this */
            invokevirtual org.hsqldb.RangeVariableResolver.reorder:()V
        59: .line 247
            aload 0 /* this */
            invokevirtual org.hsqldb.RangeVariableResolver.assignToLists:()V
        60: .line 248
            aload 0 /* this */
            invokevirtual org.hsqldb.RangeVariableResolver.assignToRangeVariables:()V
        61: .line 251
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.select:Lorg/hsqldb/QuerySpecification;
            ifnull 68
        62: .line 252
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.select:Lorg/hsqldb/QuerySpecification;
            iconst_0
            putfield org.hsqldb.QuerySpecification.startInnerRange:I
        63: .line 253
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.select:Lorg/hsqldb/QuerySpecification;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            putfield org.hsqldb.QuerySpecification.endInnerRange:I
        64: .line 255
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstRightJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpge 66
        65: .line 256
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.select:Lorg/hsqldb/QuerySpecification;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstRightJoinIndex:I
            putfield org.hsqldb.QuerySpecification.startInnerRange:I
        66: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpge 68
        67: .line 260
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.select:Lorg/hsqldb/QuerySpecification;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            putfield org.hsqldb.QuerySpecification.endInnerRange:I
        68: .line 264
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        69: goto 72
        70: .line 265
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            iload 1 /* i */
            putfield org.hsqldb.RangeVariable.rangePositionInJoin:I
        71: .line 264
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        72: iload 1 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 70
        end local 1 // int i
        73: .line 268
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.expandInExpression:Z
            ifeq 75
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.inExpressionCount:I
            ifeq 75
        74: .line 269
            aload 0 /* this */
            invokevirtual org.hsqldb.RangeVariableResolver.setInConditionsAsTables:()V
        75: .line 271
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   76     0     this  Lorg/hsqldb/RangeVariableResolver;
            4   13     1        i  I
           14   33     1        j  I
           16   31     2        e  Lorg/hsqldb/Expression;
           20   31     3    range  Lorg/hsqldb/RangeVariable;
           23   25     4    index  I
           29   31     4    index  I
           34   56     1        i  I
           36   54     2    range  Lorg/hsqldb/RangeVariable;
           37   54     3  isOuter  Z
           69   73     1        i  I

  static org.hsqldb.Expression decomposeAndConditions(org.hsqldb.Session, org.hsqldb.Expression, org.hsqldb.lib.HsqlList);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.hsqldb.Session session
        start local 1 // org.hsqldb.Expression e
        start local 2 // org.hsqldb.lib.HsqlList conditions
         0: .line 279
            aload 1 /* e */
            ifnonnull 2
         1: .line 280
            getstatic org.hsqldb.Expression.EXPR_TRUE:Lorg/hsqldb/Expression;
            areturn
         2: .line 283
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            astore 3 /* arg1 */
        start local 3 // org.hsqldb.Expression arg1
         3: .line 284
            aload 1 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            astore 4 /* arg2 */
        start local 4 // org.hsqldb.Expression arg2
         4: .line 285
            aload 1 /* e */
            invokevirtual org.hsqldb.Expression.getType:()I
            istore 5 /* type */
        start local 5 // int type
         5: .line 287
            iload 5 /* type */
            bipush 49
            if_icmpne 15
         6: .line 288
            aload 0 /* session */
            aload 3 /* arg1 */
            aload 2 /* conditions */
            invokestatic org.hsqldb.RangeVariableResolver.decomposeAndConditions:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
            astore 3 /* arg1 */
         7: .line 289
            aload 0 /* session */
            aload 4 /* arg2 */
            aload 2 /* conditions */
            invokestatic org.hsqldb.RangeVariableResolver.decomposeAndConditions:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
            astore 4 /* arg2 */
         8: .line 291
            aload 3 /* arg1 */
            invokevirtual org.hsqldb.Expression.isTrue:()Z
            ifeq 10
         9: .line 292
            aload 4 /* arg2 */
            areturn
        10: .line 295
      StackMap locals: org.hsqldb.Expression org.hsqldb.Expression int
      StackMap stack:
            aload 4 /* arg2 */
            invokevirtual org.hsqldb.Expression.isTrue:()Z
            ifeq 12
        11: .line 296
            aload 3 /* arg1 */
            areturn
        12: .line 299
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            aload 3 /* arg1 */
            invokevirtual org.hsqldb.Expression.setLeftNode:(Lorg/hsqldb/Expression;)V
        13: .line 300
            aload 1 /* e */
            aload 4 /* arg2 */
            invokevirtual org.hsqldb.Expression.setRightNode:(Lorg/hsqldb/Expression;)V
        14: .line 302
            aload 1 /* e */
            areturn
        15: .line 303
      StackMap locals:
      StackMap stack:
            iload 5 /* type */
            bipush 40
            if_icmpne 28
        16: .line 304
            aload 3 /* arg1 */
            invokevirtual org.hsqldb.Expression.getType:()I
            bipush 25
            if_icmpne 28
        17: .line 305
            aload 4 /* arg2 */
            invokevirtual org.hsqldb.Expression.getType:()I
            bipush 25
            if_icmpne 28
        18: .line 306
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        19: goto 26
        20: .line 307
      StackMap locals: int
      StackMap stack:
            new org.hsqldb.ExpressionLogical
            dup
            aload 3 /* arg1 */
            getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
            iload 6 /* i */
            aaload
        21: .line 308
            aload 4 /* arg2 */
            getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
            iload 6 /* i */
            aaload
        22: .line 307
            invokespecial org.hsqldb.ExpressionLogical.<init>:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)V
            astore 7 /* part */
        start local 7 // org.hsqldb.Expression part
        23: .line 310
            aload 7 /* part */
            aload 0 /* session */
            aconst_null
            invokevirtual org.hsqldb.Expression.resolveTypes:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;)V
        24: .line 311
            aload 2 /* conditions */
            aload 7 /* part */
            invokeinterface org.hsqldb.lib.HsqlList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.hsqldb.Expression part
        25: .line 306
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 6 /* i */
            aload 3 /* arg1 */
            getfield org.hsqldb.Expression.nodes:[Lorg/hsqldb/Expression;
            arraylength
            if_icmplt 20
        end local 6 // int i
        27: .line 314
            getstatic org.hsqldb.Expression.EXPR_TRUE:Lorg/hsqldb/Expression;
            areturn
        28: .line 318
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokevirtual org.hsqldb.Expression.isTrue:()Z
            ifne 30
        29: .line 319
            aload 2 /* conditions */
            aload 1 /* e */
            invokeinterface org.hsqldb.lib.HsqlList.add:(Ljava/lang/Object;)Z
            pop
        30: .line 322
      StackMap locals:
      StackMap stack:
            getstatic org.hsqldb.Expression.EXPR_TRUE:Lorg/hsqldb/Expression;
            areturn
        end local 5 // int type
        end local 4 // org.hsqldb.Expression arg2
        end local 3 // org.hsqldb.Expression arg1
        end local 2 // org.hsqldb.lib.HsqlList conditions
        end local 1 // org.hsqldb.Expression e
        end local 0 // org.hsqldb.Session session
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0     session  Lorg/hsqldb/Session;
            0   31     1           e  Lorg/hsqldb/Expression;
            0   31     2  conditions  Lorg/hsqldb/lib/HsqlList;
            3   31     3        arg1  Lorg/hsqldb/Expression;
            4   31     4        arg2  Lorg/hsqldb/Expression;
            5   31     5        type  I
           19   27     6           i  I
           23   25     7        part  Lorg/hsqldb/Expression;
    MethodParameters:
            Name  Flags
      session     
      e           
      conditions  

  static org.hsqldb.Expression decomposeOrConditions(org.hsqldb.Expression, org.hsqldb.lib.HsqlList);
    descriptor: (Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.hsqldb.Expression e
        start local 1 // org.hsqldb.lib.HsqlList conditions
         0: .line 331
            aload 0 /* e */
            ifnonnull 2
         1: .line 332
            getstatic org.hsqldb.Expression.EXPR_FALSE:Lorg/hsqldb/Expression;
            areturn
         2: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            astore 2 /* arg1 */
        start local 2 // org.hsqldb.Expression arg1
         3: .line 336
            aload 0 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            astore 3 /* arg2 */
        start local 3 // org.hsqldb.Expression arg2
         4: .line 337
            aload 0 /* e */
            invokevirtual org.hsqldb.Expression.getType:()I
            istore 4 /* type */
        start local 4 // int type
         5: .line 339
            iload 4 /* type */
            bipush 50
            if_icmpne 14
         6: .line 340
            aload 2 /* arg1 */
            aload 1 /* conditions */
            invokestatic org.hsqldb.RangeVariableResolver.decomposeOrConditions:(Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
            astore 2 /* arg1 */
         7: .line 341
            aload 3 /* arg2 */
            aload 1 /* conditions */
            invokestatic org.hsqldb.RangeVariableResolver.decomposeOrConditions:(Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
            astore 3 /* arg2 */
         8: .line 343
            aload 2 /* arg1 */
            invokevirtual org.hsqldb.Expression.isFalse:()Z
            ifeq 10
         9: .line 344
            aload 3 /* arg2 */
            areturn
        10: .line 347
      StackMap locals: org.hsqldb.Expression org.hsqldb.Expression int
      StackMap stack:
            aload 3 /* arg2 */
            invokevirtual org.hsqldb.Expression.isFalse:()Z
            ifeq 12
        11: .line 348
            aload 2 /* arg1 */
            areturn
        12: .line 351
      StackMap locals:
      StackMap stack:
            new org.hsqldb.ExpressionLogical
            dup
            bipush 50
            aload 2 /* arg1 */
            aload 3 /* arg2 */
            invokespecial org.hsqldb.ExpressionLogical.<init>:(ILorg/hsqldb/Expression;Lorg/hsqldb/Expression;)V
            astore 0 /* e */
        13: .line 353
            aload 0 /* e */
            areturn
        14: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            invokevirtual org.hsqldb.Expression.isFalse:()Z
            ifne 16
        15: .line 357
            aload 1 /* conditions */
            aload 0 /* e */
            invokeinterface org.hsqldb.lib.HsqlList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 360
      StackMap locals:
      StackMap stack:
            getstatic org.hsqldb.Expression.EXPR_FALSE:Lorg/hsqldb/Expression;
            areturn
        end local 4 // int type
        end local 3 // org.hsqldb.Expression arg2
        end local 2 // org.hsqldb.Expression arg1
        end local 1 // org.hsqldb.lib.HsqlList conditions
        end local 0 // org.hsqldb.Expression e
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0           e  Lorg/hsqldb/Expression;
            0   17     1  conditions  Lorg/hsqldb/lib/HsqlList;
            3   17     2        arg1  Lorg/hsqldb/Expression;
            4   17     3        arg2  Lorg/hsqldb/Expression;
            5   17     4        type  I
    MethodParameters:
            Name  Flags
      e           
      conditions  

  void expandConditions();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=14, args_size=1
        start local 0 // org.hsqldb.RangeVariableResolver this
         0: .line 365
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            astore 1 /* array */
        start local 1 // org.hsqldb.lib.HsqlArrayList[] array
         1: .line 367
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstRightJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpne 5
         2: .line 368
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iconst_0
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
         3: .line 369
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.queryConditions:Lorg/hsqldb/lib/HsqlArrayList;
            iconst_m1
         4: .line 368
            invokevirtual org.hsqldb.RangeVariableResolver.moveConditions:([Lorg/hsqldb/lib/HsqlList;IILorg/hsqldb/lib/HsqlList;I)V
         5: .line 372
      StackMap locals: org.hsqldb.lib.HsqlArrayList[]
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
            iconst_2
            if_icmpge 7
         6: .line 373
            return
         7: .line 376
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         8: goto 13
         9: .line 377
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iconst_0
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
        10: .line 378
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 2 /* i */
            aaload
            iload 2 /* i */
        11: .line 377
            invokevirtual org.hsqldb.RangeVariableResolver.moveConditions:([Lorg/hsqldb/lib/HsqlList;IILorg/hsqldb/lib/HsqlList;I)V
        12: .line 376
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
            if_icmplt 9
        end local 2 // int i
        14: .line 381
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
            iconst_3
            if_icmpge 16
        15: .line 382
            return
        16: .line 385
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        17: goto 121
        18: .line 386
      StackMap locals: int
      StackMap stack:
            aload 1 /* array */
            iload 2 /* i */
            aaload
            astore 3 /* list */
        start local 3 // org.hsqldb.lib.HsqlArrayList list
        19: .line 388
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
            invokevirtual org.hsqldb.lib.MultiValueHashMap.clear:()V
        20: .line 389
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
        21: .line 390
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMap:Lorg/hsqldb/lib/HashMap;
            invokevirtual org.hsqldb.lib.HashMap.clear:()V
        22: .line 392
            iconst_0
            istore 4 /* hasValEqual */
        start local 4 // boolean hasValEqual
        23: .line 393
            iconst_0
            istore 5 /* hasColEqual */
        start local 5 // boolean hasColEqual
        24: .line 394
            iconst_0
            istore 6 /* hasChain */
        start local 6 // boolean hasChain
        25: .line 396
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        26: goto 84
        27: .line 397
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.lib.HsqlArrayList[] int org.hsqldb.lib.HsqlArrayList int int int int
      StackMap stack:
            aload 3 /* list */
            iload 7 /* j */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 8 /* e */
        start local 8 // org.hsqldb.Expression e
        28: .line 399
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.isTrue:()Z
            ifeq 30
        29: .line 400
            goto 83
        30: .line 403
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            aload 8 /* e */
            getfield org.hsqldb.Expression.isSingleColumnEqual:Z
            ifeq 42
        31: .line 404
            iconst_1
            istore 4 /* hasValEqual */
        32: .line 406
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            getfield org.hsqldb.Expression.opType:I
            iconst_2
            if_icmpne 37
        33: .line 407
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMap:Lorg/hsqldb/lib/HashMap;
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumn:()Lorg/hsqldb/ColumnSchema;
        34: .line 408
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
        35: .line 407
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 409
            goto 83
      StackMap locals:
      StackMap stack:
        37: aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            getfield org.hsqldb.Expression.opType:I
            iconst_2
            if_icmpne 83
        38: .line 410
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMap:Lorg/hsqldb/lib/HashMap;
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumn:()Lorg/hsqldb/ColumnSchema;
        39: .line 411
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
        40: .line 410
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        41: .line 414
            goto 83
        42: .line 417
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            getfield org.hsqldb.Expression.isColumnEqual:Z
            ifne 44
        43: .line 418
            goto 83
        44: .line 421
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
        45: .line 422
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
        46: .line 421
            if_acmpne 48
        47: .line 423
            goto 83
        48: .line 426
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            ifnull 83
        49: .line 427
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            ifnonnull 51
        50: .line 428
            goto 83
        51: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            invokevirtual org.hsqldb.lib.OrderedHashSet.getIndex:(Ljava/lang/Object;)I
        52: .line 431
            istore 9 /* idx */
        start local 9 // int idx
        53: .line 434
            iload 9 /* idx */
            ifge 58
        54: .line 435
            aload 8 /* e */
            iconst_1
            putfield org.hsqldb.Expression.isSingleColumnEqual:Z
        55: .line 436
            aload 8 /* e */
            iconst_1
            putfield org.hsqldb.Expression.isSingleColumnCondition:Z
        56: .line 438
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMap:Lorg/hsqldb/lib/HashMap;
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumn:()Lorg/hsqldb/ColumnSchema;
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        57: .line 440
            goto 83
        58: .line 443
      StackMap locals: int
      StackMap stack:
            iload 9 /* idx */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
            if_icmplt 60
        59: .line 444
            goto 83
        60: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
        61: .line 448
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
        62: .line 447
            invokevirtual org.hsqldb.lib.OrderedHashSet.getIndex:(Ljava/lang/Object;)I
            istore 9 /* idx */
        63: .line 450
            iload 9 /* idx */
            ifge 68
        64: .line 451
            aload 8 /* e */
            iconst_1
            putfield org.hsqldb.Expression.isSingleColumnEqual:Z
        65: .line 452
            aload 8 /* e */
            iconst_1
            putfield org.hsqldb.Expression.isSingleColumnCondition:Z
        66: .line 454
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMap:Lorg/hsqldb/lib/HashMap;
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumn:()Lorg/hsqldb/ColumnSchema;
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        67: .line 456
            goto 83
        68: .line 459
      StackMap locals:
      StackMap stack:
            iload 9 /* idx */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
            if_icmplt 70
        69: .line 460
            goto 83
        70: .line 463
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* hasColEqual */
        71: .line 465
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 2 /* i */
            aaload
            if_acmpne 77
        72: .line 466
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumn:()Lorg/hsqldb/ColumnSchema;
            astore 10 /* column */
        start local 10 // org.hsqldb.ColumnSchema column
        73: .line 468
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 10 /* column */
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.lib.MultiValueHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        74: .line 470
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 10 /* column */
            invokevirtual org.hsqldb.lib.MultiValueHashMap.valueCount:(Ljava/lang/Object;)I
            iconst_1
            if_icmple 83
        75: .line 471
            iconst_1
            istore 6 /* hasChain */
        end local 10 // org.hsqldb.ColumnSchema column
        76: .line 473
            goto 83
      StackMap locals:
      StackMap stack:
        77: aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
        78: .line 474
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 2 /* i */
            aaload
            if_acmpne 83
        79: .line 475
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumn:()Lorg/hsqldb/ColumnSchema;
            astore 10 /* column */
        start local 10 // org.hsqldb.ColumnSchema column
        80: .line 477
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 10 /* column */
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.lib.MultiValueHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        81: .line 479
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 10 /* column */
            invokevirtual org.hsqldb.lib.MultiValueHashMap.valueCount:(Ljava/lang/Object;)I
            iconst_1
            if_icmple 83
        82: .line 480
            iconst_1
            istore 6 /* hasChain */
        end local 10 // org.hsqldb.ColumnSchema column
        end local 9 // int idx
        end local 8 // org.hsqldb.Expression e
        83: .line 396
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        84: iload 7 /* j */
            aload 3 /* list */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            if_icmplt 27
        end local 7 // int j
        85: .line 485
            iload 6 /* hasChain */
            ifeq 105
        86: .line 486
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
            invokevirtual org.hsqldb.lib.MultiValueHashMap.keySet:()Lorg/hsqldb/lib/Set;
            invokeinterface org.hsqldb.lib.Set.iterator:()Lorg/hsqldb/lib/Iterator;
            astore 7 /* keyIt */
        start local 7 // org.hsqldb.lib.Iterator keyIt
        87: .line 488
            goto 104
        88: .line 489
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.lib.HsqlArrayList[] int org.hsqldb.lib.HsqlArrayList int int int org.hsqldb.lib.Iterator
      StackMap stack:
            aload 7 /* keyIt */
            invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
            astore 8 /* key */
        start local 8 // java.lang.Object key
        89: .line 490
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 8 /* key */
            invokevirtual org.hsqldb.lib.MultiValueHashMap.get:(Ljava/lang/Object;)Lorg/hsqldb/lib/Iterator;
            astore 9 /* it */
        start local 9 // org.hsqldb.lib.Iterator it
        90: .line 492
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
        91: .line 494
            goto 93
        92: .line 495
      StackMap locals: java.lang.Object org.hsqldb.lib.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 9 /* it */
            invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        93: .line 494
      StackMap locals:
      StackMap stack:
            aload 9 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 92
        94: .line 498
            goto 103
        95: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            iconst_1
            isub
            invokevirtual org.hsqldb.lib.OrderedHashSet.remove:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
        96: .line 499
            astore 10 /* e1 */
        start local 10 // org.hsqldb.Expression e1
        97: .line 502
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        98: goto 102
        99: .line 503
      StackMap locals: org.hsqldb.Expression int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            iload 11 /* j */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 12 /* e2 */
        start local 12 // org.hsqldb.Expression e2
       100: .line 505
            aload 0 /* this */
            aload 1 /* array */
            aload 10 /* e1 */
            aload 12 /* e2 */
            invokevirtual org.hsqldb.RangeVariableResolver.closeJoinChain:([Lorg/hsqldb/lib/HsqlList;Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)V
        end local 12 // org.hsqldb.Expression e2
       101: .line 502
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
       102: iload 11 /* j */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            if_icmplt 99
        end local 11 // int j
        end local 10 // org.hsqldb.Expression e1
       103: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            iconst_1
            if_icmpgt 95
        end local 9 // org.hsqldb.lib.Iterator it
        end local 8 // java.lang.Object key
       104: .line 488
      StackMap locals:
      StackMap stack:
            aload 7 /* keyIt */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 88
        end local 7 // org.hsqldb.lib.Iterator keyIt
       105: .line 511
      StackMap locals:
      StackMap stack:
            iload 5 /* hasColEqual */
            ifeq 120
            iload 4 /* hasValEqual */
            ifeq 120
       106: .line 512
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
            invokevirtual org.hsqldb.lib.MultiValueHashMap.keySet:()Lorg/hsqldb/lib/Set;
            invokeinterface org.hsqldb.lib.Set.iterator:()Lorg/hsqldb/lib/Iterator;
            astore 7 /* keyIt */
        start local 7 // org.hsqldb.lib.Iterator keyIt
       107: .line 514
            goto 119
       108: .line 515
      StackMap locals: org.hsqldb.lib.Iterator
      StackMap stack:
            aload 7 /* keyIt */
            invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
            astore 8 /* key */
        start local 8 // java.lang.Object key
       109: .line 516
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMap:Lorg/hsqldb/lib/HashMap;
            aload 8 /* key */
            invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 9 /* e1 */
        start local 9 // org.hsqldb.Expression e1
       110: .line 518
            aload 9 /* e1 */
            ifnull 119
       111: .line 519
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempMultiMap:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 8 /* key */
            invokevirtual org.hsqldb.lib.MultiValueHashMap.get:(Ljava/lang/Object;)Lorg/hsqldb/lib/Iterator;
            astore 10 /* it */
        start local 10 // org.hsqldb.lib.Iterator it
       112: .line 521
            goto 118
       113: .line 522
      StackMap locals: java.lang.Object org.hsqldb.Expression org.hsqldb.lib.Iterator
      StackMap stack:
            aload 10 /* it */
            invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 11 /* e2 */
        start local 11 // org.hsqldb.Expression e2
       114: .line 523
            new org.hsqldb.ExpressionLogical
            dup
            aload 9 /* e1 */
            aload 11 /* e2 */
            invokespecial org.hsqldb.ExpressionLogical.<init>:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)V
            astore 12 /* e */
        start local 12 // org.hsqldb.Expression e
       115: .line 525
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 11 /* e2 */
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            invokevirtual org.hsqldb.lib.OrderedHashSet.getIndex:(Ljava/lang/Object;)I
       116: .line 524
            istore 13 /* index */
        start local 13 // int index
       117: .line 527
            aload 1 /* array */
            iload 13 /* index */
            aaload
            aload 12 /* e */
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // int index
        end local 12 // org.hsqldb.Expression e
        end local 11 // org.hsqldb.Expression e2
       118: .line 521
      StackMap locals:
      StackMap stack:
            aload 10 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 113
        end local 10 // org.hsqldb.lib.Iterator it
        end local 9 // org.hsqldb.Expression e1
        end local 8 // java.lang.Object key
       119: .line 514
      StackMap locals:
      StackMap stack:
            aload 7 /* keyIt */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 108
        end local 7 // org.hsqldb.lib.Iterator keyIt
        end local 6 // boolean hasChain
        end local 5 // boolean hasColEqual
        end local 4 // boolean hasValEqual
        end local 3 // org.hsqldb.lib.HsqlArrayList list
       120: .line 385
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.lib.HsqlArrayList[] int
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
       121: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstOuterJoinIndex:I
            if_icmplt 18
        end local 2 // int i
       122: .line 533
            return
        end local 1 // org.hsqldb.lib.HsqlArrayList[] array
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  123     0         this  Lorg/hsqldb/RangeVariableResolver;
            1  123     1        array  [Lorg/hsqldb/lib/HsqlArrayList;
            8   14     2            i  I
           17  122     2            i  I
           19  120     3         list  Lorg/hsqldb/lib/HsqlArrayList;
           23  120     4  hasValEqual  Z
           24  120     5  hasColEqual  Z
           25  120     6     hasChain  Z
           26   85     7            j  I
           28   83     8            e  Lorg/hsqldb/Expression;
           53   83     9          idx  I
           73   76    10       column  Lorg/hsqldb/ColumnSchema;
           80   83    10       column  Lorg/hsqldb/ColumnSchema;
           87  105     7        keyIt  Lorg/hsqldb/lib/Iterator;
           89  104     8          key  Ljava/lang/Object;
           90  104     9           it  Lorg/hsqldb/lib/Iterator;
           97  103    10           e1  Lorg/hsqldb/Expression;
           98  103    11            j  I
          100  101    12           e2  Lorg/hsqldb/Expression;
          107  120     7        keyIt  Lorg/hsqldb/lib/Iterator;
          109  119     8          key  Ljava/lang/Object;
          110  119     9           e1  Lorg/hsqldb/Expression;
          112  119    10           it  Lorg/hsqldb/lib/Iterator;
          114  118    11           e2  Lorg/hsqldb/Expression;
          115  118    12            e  Lorg/hsqldb/Expression;
          117  118    13        index  I

  void moveConditions(org.hsqldb.lib.HsqlList[], int, int, org.hsqldb.lib.HsqlList, int);
    descriptor: ([Lorg/hsqldb/lib/HsqlList;IILorg/hsqldb/lib/HsqlList;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=9, args_size=6
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.lib.HsqlList[] lists
        start local 2 // int rangeStart
        start local 3 // int rangeLimit
        start local 4 // org.hsqldb.lib.HsqlList list
        start local 5 // int listIndex
         0: .line 538
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         1: goto 16
         2: .line 539
      StackMap locals: int
      StackMap stack:
            aload 4 /* list */
            iload 6 /* j */
            invokeinterface org.hsqldb.lib.HsqlList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 7 /* e */
        start local 7 // org.hsqldb.Expression e
         3: .line 541
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
         4: .line 542
            aload 7 /* e */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.Expression.collectRangeVariables:([Lorg/hsqldb/RangeVariable;Lorg/hsqldb/lib/OrderedHashSet;)Lorg/hsqldb/lib/OrderedHashSet;
            pop
         5: .line 544
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.getSmallestIndex:(Lorg/hsqldb/lib/OrderedHashSet;)I
            istore 8 /* index */
        start local 8 // int index
         6: .line 546
            iload 8 /* index */
            iload 2 /* rangeStart */
            if_icmpge 8
         7: .line 547
            goto 15
         8: .line 550
      StackMap locals: org.hsqldb.Expression int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.getLargestIndex:(Lorg/hsqldb/lib/OrderedHashSet;)I
            istore 8 /* index */
         9: .line 552
            iload 8 /* index */
            iload 3 /* rangeLimit */
            if_icmplt 11
        10: .line 553
            goto 15
        11: .line 556
      StackMap locals:
      StackMap stack:
            iload 8 /* index */
            iload 5 /* listIndex */
            if_icmpeq 15
        12: .line 557
            aload 4 /* list */
            iload 6 /* j */
            invokeinterface org.hsqldb.lib.HsqlList.remove:(I)Ljava/lang/Object;
            pop
        13: .line 558
            aload 1 /* lists */
            iload 8 /* index */
            aaload
            aload 7 /* e */
            invokeinterface org.hsqldb.lib.HsqlList.add:(Ljava/lang/Object;)Z
            pop
        14: .line 560
            iinc 6 /* j */ -1
        end local 8 // int index
        end local 7 // org.hsqldb.Expression e
        15: .line 538
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* j */
            aload 4 /* list */
            invokeinterface org.hsqldb.lib.HsqlList.size:()I
            if_icmplt 2
        end local 6 // int j
        17: .line 563
            return
        end local 5 // int listIndex
        end local 4 // org.hsqldb.lib.HsqlList list
        end local 3 // int rangeLimit
        end local 2 // int rangeStart
        end local 1 // org.hsqldb.lib.HsqlList[] lists
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/hsqldb/RangeVariableResolver;
            0   18     1       lists  [Lorg/hsqldb/lib/HsqlList;
            0   18     2  rangeStart  I
            0   18     3  rangeLimit  I
            0   18     4        list  Lorg/hsqldb/lib/HsqlList;
            0   18     5   listIndex  I
            1   17     6           j  I
            3   15     7           e  Lorg/hsqldb/Expression;
            6   15     8       index  I
    MethodParameters:
            Name  Flags
      lists       
      rangeStart  
      rangeLimit  
      list        
      listIndex   

  void closeJoinChain(org.hsqldb.lib.HsqlList[], org.hsqldb.Expression, org.hsqldb.Expression);
    descriptor: ([Lorg/hsqldb/lib/HsqlList;Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.lib.HsqlList[] array
        start local 2 // org.hsqldb.Expression e1
        start local 3 // org.hsqldb.Expression e2
         0: .line 567
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 2 /* e1 */
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            invokevirtual org.hsqldb.lib.OrderedHashSet.getIndex:(Ljava/lang/Object;)I
            istore 4 /* idx1 */
        start local 4 // int idx1
         1: .line 568
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 3 /* e2 */
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            invokevirtual org.hsqldb.lib.OrderedHashSet.getIndex:(Ljava/lang/Object;)I
            istore 5 /* idx2 */
        start local 5 // int idx2
         2: .line 569
            iload 4 /* idx1 */
            iload 5 /* idx2 */
            if_icmple 3
            iload 4 /* idx1 */
            goto 4
         3: .line 570
      StackMap locals: int int
      StackMap stack:
            iload 5 /* idx2 */
         4: .line 569
      StackMap locals:
      StackMap stack: int
            istore 6 /* index */
        start local 6 // int index
         5: .line 572
            iload 4 /* idx1 */
            iconst_m1
            if_icmpeq 6
            iload 5 /* idx2 */
            iconst_m1
            if_icmpne 7
         6: .line 573
      StackMap locals: int
      StackMap stack:
            return
         7: .line 576
      StackMap locals:
      StackMap stack:
            new org.hsqldb.ExpressionLogical
            dup
            aload 2 /* e1 */
            aload 3 /* e2 */
            invokespecial org.hsqldb.ExpressionLogical.<init>:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)V
            astore 7 /* e */
        start local 7 // org.hsqldb.Expression e
         8: .line 578
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 13
        10: .line 579
      StackMap locals: org.hsqldb.Expression int
      StackMap stack:
            aload 7 /* e */
            aload 1 /* array */
            iload 6 /* index */
            aaload
            iload 8 /* i */
            invokeinterface org.hsqldb.lib.HsqlList.get:(I)Ljava/lang/Object;
            invokevirtual org.hsqldb.Expression.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 580
            return
        12: .line 578
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 8 /* i */
            aload 1 /* array */
            iload 6 /* index */
            aaload
            invokeinterface org.hsqldb.lib.HsqlList.size:()I
            if_icmplt 10
        end local 8 // int i
        14: .line 584
            aload 1 /* array */
            iload 6 /* index */
            aaload
            aload 7 /* e */
            invokeinterface org.hsqldb.lib.HsqlList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 585
            return
        end local 7 // org.hsqldb.Expression e
        end local 6 // int index
        end local 5 // int idx2
        end local 4 // int idx1
        end local 3 // org.hsqldb.Expression e2
        end local 2 // org.hsqldb.Expression e1
        end local 1 // org.hsqldb.lib.HsqlList[] array
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lorg/hsqldb/RangeVariableResolver;
            0   16     1  array  [Lorg/hsqldb/lib/HsqlList;
            0   16     2     e1  Lorg/hsqldb/Expression;
            0   16     3     e2  Lorg/hsqldb/Expression;
            1   16     4   idx1  I
            2   16     5   idx2  I
            5   16     6  index  I
            8   16     7      e  Lorg/hsqldb/Expression;
            9   14     8      i  I
    MethodParameters:
       Name  Flags
      array  
      e1     
      e2     

  void reorder();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.hsqldb.RangeVariableResolver this
         0: .line 589
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.reorder:Z
            ifne 2
         1: .line 590
            return
         2: .line 593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            iconst_1
            if_icmpeq 4
         3: .line 594
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstRightJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpeq 5
         4: .line 595
      StackMap locals:
      StackMap stack:
            return
         5: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            iconst_1
            if_icmpne 7
         6: .line 599
            return
         7: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLateralJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpeq 9
         8: .line 603
            return
         9: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
            getfield org.hsqldb.SortAndSlice.usingIndex:Z
            ifeq 12
        10: .line 607
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
            getfield org.hsqldb.SortAndSlice.primaryTableIndex:Lorg/hsqldb/index/Index;
            ifnull 12
        11: .line 608
            return
        12: .line 611
      StackMap locals:
      StackMap stack:
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            astore 1 /* joins */
        start local 1 // org.hsqldb.lib.HsqlArrayList joins
        13: .line 612
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            astore 2 /* starts */
        start local 2 // org.hsqldb.lib.HsqlArrayList starts
        14: .line 614
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        15: goto 28
        16: .line 615
      StackMap locals: org.hsqldb.lib.HsqlArrayList org.hsqldb.lib.HsqlArrayList int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 3 /* i */
            aaload
            astore 4 /* tempJoins */
        start local 4 // org.hsqldb.lib.HsqlArrayList tempJoins
        17: .line 617
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        18: goto 26
        19: .line 618
      StackMap locals: org.hsqldb.lib.HsqlArrayList int
      StackMap stack:
            aload 4 /* tempJoins */
            iload 5 /* j */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 6 /* e */
        start local 6 // org.hsqldb.Expression e
        20: .line 620
            aload 6 /* e */
            getfield org.hsqldb.Expression.isColumnEqual:Z
            ifeq 23
        21: .line 621
            aload 1 /* joins */
            aload 6 /* e */
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 622
            goto 25
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
        23: aload 6 /* e */
            getfield org.hsqldb.Expression.isSingleColumnCondition:Z
            ifeq 25
        24: .line 623
            aload 2 /* starts */
            aload 6 /* e */
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.hsqldb.Expression e
        25: .line 617
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 5 /* j */
            aload 4 /* tempJoins */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            if_icmplt 19
        end local 5 // int j
        end local 4 // org.hsqldb.lib.HsqlArrayList tempJoins
        27: .line 614
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            if_icmplt 16
        end local 3 // int i
        29: .line 628
            aload 0 /* this */
            aload 2 /* starts */
            aload 1 /* joins */
            invokevirtual org.hsqldb.RangeVariableResolver.reorderRanges:(Lorg/hsqldb/lib/HsqlArrayList;Lorg/hsqldb/lib/HsqlArrayList;)V
        30: .line 629
            return
        end local 2 // org.hsqldb.lib.HsqlArrayList starts
        end local 1 // org.hsqldb.lib.HsqlArrayList joins
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   31     0       this  Lorg/hsqldb/RangeVariableResolver;
           13   31     1      joins  Lorg/hsqldb/lib/HsqlArrayList;
           14   31     2     starts  Lorg/hsqldb/lib/HsqlArrayList;
           15   29     3          i  I
           17   27     4  tempJoins  Lorg/hsqldb/lib/HsqlArrayList;
           18   27     5          j  I
           20   25     6          e  Lorg/hsqldb/Expression;

  void reorderRanges(org.hsqldb.lib.HsqlArrayList, org.hsqldb.lib.HsqlArrayList);
    descriptor: (Lorg/hsqldb/lib/HsqlArrayList;Lorg/hsqldb/lib/HsqlArrayList;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.lib.HsqlArrayList starts
        start local 2 // org.hsqldb.lib.HsqlArrayList joins
         0: .line 633
            aload 1 /* starts */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            ifne 2
         1: .line 634
            return
         2: .line 637
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 3 /* position */
        start local 3 // int position
         3: .line 638
            aconst_null
            astore 4 /* range */
        start local 4 // org.hsqldb.RangeVariable range
         4: .line 639
            ldc 1024.0
            dstore 5 /* cost */
        start local 5 // double cost
         5: .line 641
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 44
         7: .line 642
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.lib.HsqlArrayList org.hsqldb.lib.HsqlArrayList int org.hsqldb.RangeVariable double int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 7 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.rangeTable:Lorg/hsqldb/Table;
            astore 8 /* table */
        start local 8 // org.hsqldb.Table table
         8: .line 644
            aload 8 /* table */
            instanceof org.hsqldb.TableDerived
            ifeq 10
         9: .line 645
            goto 43
        10: .line 648
      StackMap locals: org.hsqldb.Table
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 7 /* i */
            aaload
            aload 1 /* starts */
            invokevirtual org.hsqldb.RangeVariableResolver.collectIndexableColumns:(Lorg/hsqldb/RangeVariable;Lorg/hsqldb/lib/HsqlList;)V
        11: .line 650
            aload 8 /* table */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
        12: .line 651
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
            bipush 40
            iconst_0
        13: .line 650
            invokevirtual org.hsqldb.Table.getIndexForColumns:(Lorg/hsqldb/Session;Lorg/hsqldb/lib/OrderedIntHashSet;IZ)[Lorg/hsqldb/index/Index$IndexUse;
            astore 9 /* indexes */
        start local 9 // org.hsqldb.index.Index$IndexUse[] indexes
        14: .line 652
            aconst_null
            astore 10 /* index */
        start local 10 // org.hsqldb.index.Index index
        15: .line 654
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        16: goto 26
        17: .line 655
      StackMap locals: org.hsqldb.index.Index$IndexUse[] org.hsqldb.index.Index int
      StackMap stack:
            aload 9 /* indexes */
            iload 11 /* j */
            aaload
            getfield org.hsqldb.index.Index$IndexUse.index:Lorg/hsqldb/index/Index;
            astore 10 /* index */
        18: .line 657
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            aload 8 /* table */
            aload 10 /* index */
        19: .line 658
            aload 9 /* indexes */
            iload 11 /* j */
            aaload
            getfield org.hsqldb.index.Index$IndexUse.columnCount:I
        20: .line 659
            bipush 40
        21: .line 657
            invokevirtual org.hsqldb.RangeVariableResolver.searchCost:(Lorg/hsqldb/Session;Lorg/hsqldb/Table;Lorg/hsqldb/index/Index;II)D
            dstore 12 /* currentCost */
        start local 12 // double currentCost
        22: .line 661
            dload 12 /* currentCost */
            dload 5 /* cost */
            dcmpg
            ifge 25
        23: .line 662
            dload 12 /* currentCost */
            dstore 5 /* cost */
        24: .line 663
            iload 7 /* i */
            istore 3 /* position */
        end local 12 // double currentCost
        25: .line 654
      StackMap locals:
      StackMap stack:
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 11 /* j */
            aload 9 /* indexes */
            arraylength
            if_icmplt 17
        end local 11 // int j
        27: .line 667
            aload 10 /* index */
            ifnonnull 38
        28: .line 668
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.keySet:()Lorg/hsqldb/lib/Set;
            invokeinterface org.hsqldb.lib.Set.iterator:()Lorg/hsqldb/lib/Iterator;
            astore 11 /* it */
        start local 11 // org.hsqldb.lib.Iterator it
        29: .line 670
            goto 37
        30: .line 671
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.lib.HsqlArrayList org.hsqldb.lib.HsqlArrayList int org.hsqldb.RangeVariable double int org.hsqldb.Table org.hsqldb.index.Index$IndexUse[] org.hsqldb.index.Index org.hsqldb.lib.Iterator
      StackMap stack:
            aload 11 /* it */
            invokeinterface org.hsqldb.lib.Iterator.nextInt:()I
            istore 12 /* colIndex */
        start local 12 // int colIndex
        31: .line 673
            aload 8 /* table */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            iload 12 /* colIndex */
            invokevirtual org.hsqldb.Table.getIndexForColumn:(Lorg/hsqldb/Session;I)Lorg/hsqldb/index/Index;
            astore 10 /* index */
        32: .line 675
            aload 10 /* index */
            ifnull 37
        33: .line 676
            aload 8 /* table */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            invokevirtual org.hsqldb.Table.getRowStore:(Lorg/hsqldb/Session;)Lorg/hsqldb/persist/PersistentStore;
            invokeinterface org.hsqldb.persist.PersistentStore.elementCount:()J
            l2d
            ldc 2.0
            ddiv
            dstore 5 /* cost */
        34: .line 678
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            iload 12 /* colIndex */
            iconst_0
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.get:(II)I
            iconst_1
            if_icmple 38
        35: .line 679
            dload 5 /* cost */
            ldc 2.0
            ddiv
            dstore 5 /* cost */
        36: .line 682
            goto 38
        end local 12 // int colIndex
        37: .line 670
      StackMap locals:
      StackMap stack:
            aload 11 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 30
        end local 11 // org.hsqldb.lib.Iterator it
        38: .line 687
      StackMap locals:
      StackMap stack:
            aload 10 /* index */
            ifnonnull 40
        39: .line 688
            goto 43
        40: .line 691
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            ifne 43
        41: .line 692
            iconst_0
            istore 3 /* position */
        42: .line 694
            goto 45
        end local 10 // org.hsqldb.index.Index index
        end local 9 // org.hsqldb.index.Index$IndexUse[] indexes
        end local 8 // org.hsqldb.Table table
        43: .line 641
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 7 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            if_icmplt 7
        end local 7 // int i
        45: .line 698
      StackMap locals:
      StackMap stack:
            iload 3 /* position */
            ifge 47
        46: .line 699
            return
        47: .line 702
      StackMap locals:
      StackMap stack:
            iload 3 /* position */
            ifne 49
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            iconst_2
            if_icmpne 49
        48: .line 703
            return
        49: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            anewarray org.hsqldb.RangeVariable
            astore 7 /* newRanges */
        start local 7 // org.hsqldb.RangeVariable[] newRanges
        50: .line 708
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            aload 7 /* newRanges */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            invokestatic org.hsqldb.lib.ArrayUtil.copyArray:(Ljava/lang/Object;Ljava/lang/Object;I)V
        51: .line 710
            aload 7 /* newRanges */
            iload 3 /* position */
            aaload
            astore 4 /* range */
        52: .line 711
            aload 7 /* newRanges */
            iload 3 /* position */
            aload 7 /* newRanges */
            iconst_0
            aaload
            aastore
        53: .line 712
            aload 7 /* newRanges */
            iconst_0
            aload 4 /* range */
            aastore
        54: .line 713
            iconst_1
            istore 3 /* position */
        55: .line 715
            goto 91
        56: .line 716
      StackMap locals: org.hsqldb.RangeVariable[]
      StackMap stack:
            iconst_0
            istore 8 /* found */
        start local 8 // boolean found
        57: .line 718
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        58: goto 73
        59: .line 719
      StackMap locals: int int
      StackMap stack:
            aload 2 /* joins */
            iload 9 /* i */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 10 /* e */
        start local 10 // org.hsqldb.Expression e
        60: .line 721
            aload 10 /* e */
            ifnonnull 62
        61: .line 722
            goto 72
        62: .line 725
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            aload 0 /* this */
            aload 10 /* e */
            iload 3 /* position */
        63: .line 726
            aload 7 /* newRanges */
        64: .line 725
            invokevirtual org.hsqldb.RangeVariableResolver.getJoinedRangePosition:(Lorg/hsqldb/Expression;I[Lorg/hsqldb/RangeVariable;)I
            istore 11 /* newPosition */
        start local 11 // int newPosition
        65: .line 728
            iload 11 /* newPosition */
            iload 3 /* position */
            if_icmplt 72
        66: .line 729
            aload 7 /* newRanges */
            iload 3 /* position */
            aaload
            astore 4 /* range */
        67: .line 730
            aload 7 /* newRanges */
            iload 3 /* position */
            aload 7 /* newRanges */
            iload 11 /* newPosition */
            aaload
            aastore
        68: .line 731
            aload 7 /* newRanges */
            iload 11 /* newPosition */
            aload 4 /* range */
            aastore
        69: .line 733
            aload 2 /* joins */
            iload 9 /* i */
            aconst_null
            invokevirtual org.hsqldb.lib.HsqlArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        70: .line 735
            iconst_1
            istore 8 /* found */
        71: .line 737
            goto 74
        end local 11 // int newPosition
        end local 10 // org.hsqldb.Expression e
        72: .line 718
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: iload 9 /* i */
            aload 2 /* joins */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            if_icmplt 59
        end local 9 // int i
        74: .line 741
      StackMap locals:
      StackMap stack:
            iload 8 /* found */
            ifeq 76
        75: .line 742
            goto 90
        76: .line 745
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        77: goto 87
        78: .line 746
      StackMap locals: int
      StackMap stack:
            aload 7 /* newRanges */
            iload 9 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.rangeTable:Lorg/hsqldb/Table;
            astore 10 /* table */
        start local 10 // org.hsqldb.Table table
        79: .line 748
            aload 0 /* this */
            aload 7 /* newRanges */
            iload 9 /* i */
            aaload
            aload 1 /* starts */
            invokevirtual org.hsqldb.RangeVariableResolver.collectIndexableColumns:(Lorg/hsqldb/RangeVariable;Lorg/hsqldb/lib/HsqlList;)V
        80: .line 750
            aload 10 /* table */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
        81: .line 751
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
            bipush 40
            iconst_0
        82: .line 750
            invokevirtual org.hsqldb.Table.getIndexForColumns:(Lorg/hsqldb/Session;Lorg/hsqldb/lib/OrderedIntHashSet;IZ)[Lorg/hsqldb/index/Index$IndexUse;
            astore 11 /* indexes */
        start local 11 // org.hsqldb.index.Index$IndexUse[] indexes
        83: .line 753
            aload 11 /* indexes */
            arraylength
            ifle 86
        84: .line 754
            iconst_1
            istore 8 /* found */
        85: .line 756
            goto 88
        end local 11 // org.hsqldb.index.Index$IndexUse[] indexes
        end local 10 // org.hsqldb.Table table
        86: .line 745
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        87: iload 9 /* i */
            aload 1 /* starts */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            if_icmplt 78
        end local 9 // int i
        88: .line 760
      StackMap locals:
      StackMap stack:
            iload 8 /* found */
            ifne 90
        89: .line 761
            goto 92
        end local 8 // boolean found
        90: .line 715
      StackMap locals:
      StackMap stack:
            iinc 3 /* position */ 1
      StackMap locals:
      StackMap stack:
        91: iload 3 /* position */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            if_icmplt 56
        92: .line 765
      StackMap locals:
      StackMap stack:
            iload 3 /* position */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            if_icmpeq 94
        93: .line 766
            return
        94: .line 769
      StackMap locals:
      StackMap stack:
            aload 7 /* newRanges */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            invokestatic org.hsqldb.lib.ArrayUtil.copyArray:(Ljava/lang/Object;Ljava/lang/Object;I)V
        95: .line 770
            aload 2 /* joins */
            invokevirtual org.hsqldb.lib.HsqlArrayList.clear:()V
        96: .line 772
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        97: goto 102
        98: .line 773
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 8 /* i */
            aaload
            astore 9 /* tempJoins */
        start local 9 // org.hsqldb.lib.HsqlArrayList tempJoins
        99: .line 775
            aload 2 /* joins */
            aload 9 /* tempJoins */
            invokevirtual org.hsqldb.lib.HsqlArrayList.addAll:(Lorg/hsqldb/lib/Collection;)Z
            pop
       100: .line 776
            aload 9 /* tempJoins */
            invokevirtual org.hsqldb.lib.HsqlArrayList.clear:()V
        end local 9 // org.hsqldb.lib.HsqlArrayList tempJoins
       101: .line 772
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
       102: iload 8 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            if_icmplt 98
        end local 8 // int i
       103: .line 779
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            iconst_1
            isub
            aaload
            aload 2 /* joins */
            invokevirtual org.hsqldb.lib.HsqlArrayList.addAll:(Lorg/hsqldb/lib/Collection;)Z
            pop
       104: .line 780
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
       105: .line 782
            iconst_0
            istore 8 /* i */
        start local 8 // int i
       106: goto 109
       107: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 8 /* i */
            aaload
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
       108: .line 782
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
       109: iload 8 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 107
        end local 8 // int i
       110: .line 785
            return
        end local 7 // org.hsqldb.RangeVariable[] newRanges
        end local 5 // double cost
        end local 4 // org.hsqldb.RangeVariable range
        end local 3 // int position
        end local 2 // org.hsqldb.lib.HsqlArrayList joins
        end local 1 // org.hsqldb.lib.HsqlArrayList starts
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  111     0         this  Lorg/hsqldb/RangeVariableResolver;
            0  111     1       starts  Lorg/hsqldb/lib/HsqlArrayList;
            0  111     2        joins  Lorg/hsqldb/lib/HsqlArrayList;
            3  111     3     position  I
            4  111     4        range  Lorg/hsqldb/RangeVariable;
            5  111     5         cost  D
            6   45     7            i  I
            8   43     8        table  Lorg/hsqldb/Table;
           14   43     9      indexes  [Lorg/hsqldb/index/Index$IndexUse;
           15   43    10        index  Lorg/hsqldb/index/Index;
           16   27    11            j  I
           22   25    12  currentCost  D
           29   38    11           it  Lorg/hsqldb/lib/Iterator;
           31   37    12     colIndex  I
           50  111     7    newRanges  [Lorg/hsqldb/RangeVariable;
           57   90     8        found  Z
           58   74     9            i  I
           60   72    10            e  Lorg/hsqldb/Expression;
           65   72    11  newPosition  I
           77   88     9            i  I
           79   86    10        table  Lorg/hsqldb/Table;
           83   86    11      indexes  [Lorg/hsqldb/index/Index$IndexUse;
           97  103     8            i  I
           99  101     9    tempJoins  Lorg/hsqldb/lib/HsqlArrayList;
          106  110     8            i  I
    MethodParameters:
        Name  Flags
      starts  
      joins   

  int getJoinedRangePosition(org.hsqldb.Expression, int, org.hsqldb.RangeVariable[]);
    descriptor: (Lorg/hsqldb/Expression;I[Lorg/hsqldb/RangeVariable;)I
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.Expression e
        start local 2 // int position
        start local 3 // org.hsqldb.RangeVariable[] currentRanges
         0: .line 790
            iconst_m1
            istore 4 /* found */
        start local 4 // int found
         1: .line 792
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
         2: .line 793
            aload 1 /* e */
            aload 3 /* currentRanges */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.Expression.getJoinRangeVariables:([Lorg/hsqldb/RangeVariable;Lorg/hsqldb/lib/HsqlList;)V
         3: .line 795
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 15
         5: .line 796
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         6: goto 13
         7: .line 797
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            iload 5 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            aload 3 /* currentRanges */
            iload 6 /* j */
            aaload
            if_acmpne 12
         8: .line 798
            iload 6 /* j */
            iload 2 /* position */
            if_icmplt 12
         9: .line 799
            iload 4 /* found */
            ifle 11
        10: .line 800
            iconst_m1
            ireturn
        11: .line 802
      StackMap locals:
      StackMap stack:
            iload 6 /* j */
            istore 4 /* found */
        12: .line 796
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* j */
            aload 3 /* currentRanges */
            arraylength
            if_icmplt 7
        end local 6 // int j
        14: .line 795
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            if_icmplt 5
        end local 5 // int i
        16: .line 809
            iload 4 /* found */
            ireturn
        end local 4 // int found
        end local 3 // org.hsqldb.RangeVariable[] currentRanges
        end local 2 // int position
        end local 1 // org.hsqldb.Expression e
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/hsqldb/RangeVariableResolver;
            0   17     1              e  Lorg/hsqldb/Expression;
            0   17     2       position  I
            0   17     3  currentRanges  [Lorg/hsqldb/RangeVariable;
            1   17     4          found  I
            4   16     5              i  I
            6   14     6              j  I
    MethodParameters:
               Name  Flags
      e              
      position       
      currentRanges  

  void assignToLists();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.hsqldb.RangeVariableResolver this
         0: .line 817
            iconst_m1
            istore 1 /* lastOuterIndex */
        start local 1 // int lastOuterIndex
         1: .line 819
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 18
         3: .line 820
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 2 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.isLeftJoin:Z
            ifeq 5
         4: .line 821
            iload 2 /* i */
            istore 1 /* lastOuterIndex */
         5: .line 824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 2 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.isRightJoin:Z
            ifeq 7
         6: .line 825
            iload 2 /* i */
            istore 1 /* lastOuterIndex */
         7: .line 828
      StackMap locals:
      StackMap stack:
            iload 1 /* lastOuterIndex */
            iload 2 /* i */
            if_icmpne 10
         8: .line 829
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.joinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 2 /* i */
            aaload
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.lib.HsqlArrayList.addAll:(Lorg/hsqldb/lib/Collection;)Z
            pop
         9: .line 830
            goto 17
        10: .line 831
      StackMap locals:
      StackMap stack:
            iload 1 /* lastOuterIndex */
            iconst_1
            iadd
            istore 3 /* start */
        start local 3 // int start
        11: .line 833
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        12: goto 16
        13: .line 834
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 2 /* i */
            aaload
            iload 4 /* j */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 5 /* e */
        start local 5 // org.hsqldb.Expression e
        14: .line 836
            aload 0 /* this */
            aload 5 /* e */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.joinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 3 /* start */
            invokevirtual org.hsqldb.RangeVariableResolver.assignToJoinLists:(Lorg/hsqldb/Expression;[Lorg/hsqldb/lib/HsqlList;I)V
        end local 5 // org.hsqldb.Expression e
        15: .line 833
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* j */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempJoinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            if_icmplt 13
        end local 4 // int j
        end local 3 // int start
        17: .line 819
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 3
        end local 2 // int i
        19: .line 841
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        20: goto 25
        21: .line 842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.queryConditions:Lorg/hsqldb/lib/HsqlArrayList;
            iload 2 /* i */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
        22: .line 843
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.whereExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.lastRightJoinIndex:I
        23: .line 842
            invokevirtual org.hsqldb.RangeVariableResolver.assignToJoinLists:(Lorg/hsqldb/Expression;[Lorg/hsqldb/lib/HsqlList;I)V
        24: .line 841
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.queryConditions:Lorg/hsqldb/lib/HsqlArrayList;
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            if_icmplt 21
        end local 2 // int i
        26: .line 845
            return
        end local 1 // int lastOuterIndex
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   27     0            this  Lorg/hsqldb/RangeVariableResolver;
            1   27     1  lastOuterIndex  I
            2   19     2               i  I
           11   17     3           start  I
           12   17     4               j  I
           14   15     5               e  Lorg/hsqldb/Expression;
           20   26     2               i  I

  void assignToJoinLists(org.hsqldb.Expression, org.hsqldb.lib.HsqlList[], int);
    descriptor: (Lorg/hsqldb/Expression;[Lorg/hsqldb/lib/HsqlList;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.Expression e
        start local 2 // org.hsqldb.lib.HsqlList[] expressionLists
        start local 3 // int first
         0: .line 856
            aload 1 /* e */
            ifnonnull 2
         1: .line 857
            return
         2: .line 860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
         3: .line 861
            aload 1 /* e */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.Expression.collectRangeVariables:([Lorg/hsqldb/RangeVariable;Lorg/hsqldb/lib/OrderedHashSet;)Lorg/hsqldb/lib/OrderedHashSet;
            pop
         4: .line 863
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVarSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.getLargestIndex:(Lorg/hsqldb/lib/OrderedHashSet;)I
            istore 4 /* index */
        start local 4 // int index
         5: .line 865
            iload 4 /* index */
            iconst_m1
            if_icmpne 7
         6: .line 866
            iconst_0
            istore 4 /* index */
         7: .line 869
      StackMap locals: int
      StackMap stack:
            iload 4 /* index */
            iload 3 /* first */
            if_icmpge 9
         8: .line 870
            iload 3 /* first */
            istore 4 /* index */
         9: .line 873
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            instanceof org.hsqldb.ExpressionLogical
            ifeq 12
        10: .line 874
            aload 1 /* e */
            checkcast org.hsqldb.ExpressionLogical
            getfield org.hsqldb.ExpressionLogical.isTerminal:Z
            ifeq 12
        11: .line 875
            aload 2 /* expressionLists */
            arraylength
            iconst_1
            isub
            istore 4 /* index */
        12: .line 879
      StackMap locals:
      StackMap stack:
            aload 2 /* expressionLists */
            iload 4 /* index */
            aaload
            aload 1 /* e */
            invokeinterface org.hsqldb.lib.HsqlList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 880
            return
        end local 4 // int index
        end local 3 // int first
        end local 2 // org.hsqldb.lib.HsqlList[] expressionLists
        end local 1 // org.hsqldb.Expression e
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lorg/hsqldb/RangeVariableResolver;
            0   14     1                e  Lorg/hsqldb/Expression;
            0   14     2  expressionLists  [Lorg/hsqldb/lib/HsqlList;
            0   14     3            first  I
            5   14     4            index  I
    MethodParameters:
                 Name  Flags
      e                
      expressionLists  
      first            

  void assignToRangeVariables();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.hsqldb.RangeVariableResolver this
         0: .line 888
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 36
         2: .line 889
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* hasIndex */
        start local 2 // boolean hasIndex
         3: .line 892
            iload 1 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            if_icmpge 12
         4: .line 893
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstRightJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpne 12
         5: .line 894
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iconst_0
            aaload
            astore 3 /* conditions */
        start local 3 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
         6: .line 896
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.joinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.whereExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
            invokevirtual org.hsqldb.lib.HsqlArrayList.addAll:(Lorg/hsqldb/lib/Collection;)Z
            pop
         7: .line 897
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            aload 3 /* conditions */
            iload 1 /* i */
         8: .line 898
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.joinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
         9: .line 897
            invokevirtual org.hsqldb.RangeVariableResolver.assignToRangeVariable:(Lorg/hsqldb/RangeVariable;Lorg/hsqldb/RangeVariable$RangeVariableConditions;ILorg/hsqldb/lib/HsqlList;)V
        10: .line 899
            aload 0 /* this */
            aload 3 /* conditions */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.joinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
            invokevirtual org.hsqldb.RangeVariableResolver.assignToRangeVariable:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;)V
        11: .line 900
            goto 35
        end local 3 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        12: .line 901
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iconst_0
            aaload
            astore 3 /* conditions */
        start local 3 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        13: .line 903
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            aload 3 /* conditions */
            iload 1 /* i */
        14: .line 904
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.joinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
        15: .line 903
            invokevirtual org.hsqldb.RangeVariableResolver.assignToRangeVariable:(Lorg/hsqldb/RangeVariable;Lorg/hsqldb/RangeVariable$RangeVariableConditions;ILorg/hsqldb/lib/HsqlList;)V
        16: .line 906
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iconst_0
            aaload
            astore 3 /* conditions */
        17: .line 908
            aload 3 /* conditions */
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.hasIndex:()Z
            ifeq 19
        18: .line 909
            iconst_1
            istore 2 /* hasIndex */
        19: .line 912
      StackMap locals: org.hsqldb.RangeVariable$RangeVariableConditions
      StackMap stack:
            aload 0 /* this */
            aload 3 /* conditions */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.joinExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
            invokevirtual org.hsqldb.RangeVariableResolver.assignToRangeVariable:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;)V
        20: .line 914
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iconst_0
            aaload
            astore 3 /* conditions */
        21: .line 916
            iload 1 /* i */
            iconst_1
            iadd
            istore 4 /* j */
        start local 4 // int j
        22: goto 29
        23: .line 917
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 4 /* j */
            aaload
            getfield org.hsqldb.RangeVariable.isRightJoin:Z
            ifeq 28
        24: .line 918
            aload 0 /* this */
        25: .line 919
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 4 /* j */
            aaload
            getfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iconst_0
            aaload
        26: .line 920
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.whereExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
        27: .line 918
            invokevirtual org.hsqldb.RangeVariableResolver.assignToRangeVariable:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;)V
        28: .line 916
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        29: iload 4 /* j */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 23
        end local 4 // int j
        30: .line 924
            iload 2 /* hasIndex */
            ifne 34
        31: .line 925
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            aload 3 /* conditions */
            iload 1 /* i */
        32: .line 926
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.whereExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
        33: .line 925
            invokevirtual org.hsqldb.RangeVariableResolver.assignToRangeVariable:(Lorg/hsqldb/RangeVariable;Lorg/hsqldb/RangeVariable$RangeVariableConditions;ILorg/hsqldb/lib/HsqlList;)V
        34: .line 929
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* conditions */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.whereExpressions:[Lorg/hsqldb/lib/HsqlArrayList;
            iload 1 /* i */
            aaload
            invokevirtual org.hsqldb.RangeVariableResolver.assignToRangeVariable:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;)V
        end local 3 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        end local 2 // boolean hasIndex
        35: .line 888
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 1 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmplt 2
        end local 1 // int i
        37: .line 932
            return
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0        this  Lorg/hsqldb/RangeVariableResolver;
            1   37     1           i  I
            3   35     2    hasIndex  Z
            6   12     3  conditions  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
           13   35     3  conditions  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
           22   30     4           j  I

  void assignToRangeVariable(org.hsqldb.RangeVariable$RangeVariableConditions, org.hsqldb.lib.HsqlList);
    descriptor: (Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        start local 2 // org.hsqldb.lib.HsqlList exprList
         0: .line 937
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         1: aload 2 /* exprList */
            invokeinterface org.hsqldb.lib.HsqlList.size:()I
            istore 4 /* size */
        start local 4 // int size
         2: goto 6
         3: .line 938
      StackMap locals: int int
      StackMap stack:
            aload 2 /* exprList */
            iload 3 /* j */
            invokeinterface org.hsqldb.lib.HsqlList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 5 /* e */
        start local 5 // org.hsqldb.Expression e
         4: .line 940
            aload 1 /* conditions */
            aload 5 /* e */
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.addCondition:(Lorg/hsqldb/Expression;)V
        end local 5 // org.hsqldb.Expression e
         5: .line 937
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* j */
            iload 4 /* size */
            if_icmplt 3
        end local 4 // int size
        end local 3 // int j
         7: .line 942
            return
        end local 2 // org.hsqldb.lib.HsqlList exprList
        end local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/hsqldb/RangeVariableResolver;
            0    8     1  conditions  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            0    8     2    exprList  Lorg/hsqldb/lib/HsqlList;
            1    7     3           j  I
            2    7     4        size  I
            4    5     5           e  Lorg/hsqldb/Expression;
    MethodParameters:
            Name  Flags
      conditions  
      exprList    

  private void collectIndexableColumns(org.hsqldb.RangeVariable, org.hsqldb.lib.HsqlList);
    descriptor: (Lorg/hsqldb/RangeVariable;Lorg/hsqldb/lib/HsqlList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.RangeVariable range
        start local 2 // org.hsqldb.lib.HsqlList exprList
         0: .line 947
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
            invokevirtual org.hsqldb.lib.OrderedIntHashSet.clear:()V
         1: .line 948
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.clear:()V
         2: .line 950
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         3: aload 2 /* exprList */
            invokeinterface org.hsqldb.lib.HsqlList.size:()I
            istore 4 /* size */
        start local 4 // int size
         4: goto 20
         5: .line 951
      StackMap locals: int int
      StackMap stack:
            aload 2 /* exprList */
            iload 3 /* j */
            invokeinterface org.hsqldb.lib.HsqlList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 5 /* e */
        start local 5 // org.hsqldb.Expression e
         6: .line 953
            aload 5 /* e */
            getfield org.hsqldb.Expression.isSingleColumnCondition:Z
            ifne 8
         7: .line 954
            goto 19
         8: .line 959
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            aload 5 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            aload 1 /* range */
            if_acmpne 11
         9: .line 960
            aload 5 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
            istore 6 /* idx */
        start local 6 // int idx
        10: .line 961
            goto 13
        end local 6 // int idx
      StackMap locals:
      StackMap stack:
        11: aload 5 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
            aload 1 /* range */
            if_acmpne 19
        12: .line 962
            aload 5 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
            istore 6 /* idx */
        start local 6 // int idx
        13: .line 963
      StackMap locals: int
      StackMap stack:
            aload 5 /* e */
        14: .line 967
            getfield org.hsqldb.Expression.isSingleColumnEqual:Z
            ifeq 17
        15: .line 968
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
            iload 6 /* idx */
            invokevirtual org.hsqldb.lib.OrderedIntHashSet.add:(I)Z
            pop
        16: .line 969
            goto 19
        17: .line 970
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            iload 6 /* idx */
            iconst_0
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.get:(II)I
            istore 7 /* count */
        start local 7 // int count
        18: .line 972
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            iload 6 /* idx */
            iload 7 /* count */
            iconst_1
            iadd
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.put:(II)Z
            pop
        end local 7 // int count
        end local 6 // int idx
        end local 5 // org.hsqldb.Expression e
        19: .line 950
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* j */
            iload 4 /* size */
            if_icmplt 5
        end local 4 // int size
        end local 3 // int j
        21: .line 975
            return
        end local 2 // org.hsqldb.lib.HsqlList exprList
        end local 1 // org.hsqldb.RangeVariable range
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lorg/hsqldb/RangeVariableResolver;
            0   22     1     range  Lorg/hsqldb/RangeVariable;
            0   22     2  exprList  Lorg/hsqldb/lib/HsqlList;
            3   21     3         j  I
            4   21     4      size  I
            6   19     5         e  Lorg/hsqldb/Expression;
           10   11     6       idx  I
           13   19     6       idx  I
           18   19     7     count  I
    MethodParameters:
          Name  Flags
      range     
      exprList  

  void assignToRangeVariable(org.hsqldb.RangeVariable, org.hsqldb.RangeVariable$RangeVariableConditions, int, org.hsqldb.lib.HsqlList);
    descriptor: (Lorg/hsqldb/RangeVariable;Lorg/hsqldb/RangeVariable$RangeVariableConditions;ILorg/hsqldb/lib/HsqlList;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.RangeVariable rangeVar
        start local 2 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        start local 3 // int rangeVarIndex
        start local 4 // org.hsqldb.lib.HsqlList exprList
         0: .line 984
            aload 4 /* exprList */
            invokeinterface org.hsqldb.lib.HsqlList.isEmpty:()Z
            ifeq 2
         1: .line 985
            return
         2: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* conditions */
            aload 4 /* exprList */
            iload 3 /* rangeVarIndex */
            iconst_1
            invokevirtual org.hsqldb.RangeVariableResolver.setIndexConditions:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;IZ)V
         3: .line 989
            return
        end local 4 // org.hsqldb.lib.HsqlList exprList
        end local 3 // int rangeVarIndex
        end local 2 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        end local 1 // org.hsqldb.RangeVariable rangeVar
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/hsqldb/RangeVariableResolver;
            0    4     1       rangeVar  Lorg/hsqldb/RangeVariable;
            0    4     2     conditions  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            0    4     3  rangeVarIndex  I
            0    4     4       exprList  Lorg/hsqldb/lib/HsqlList;
    MethodParameters:
               Name  Flags
      rangeVar       
      conditions     
      rangeVarIndex  
      exprList       

  private void setIndexConditions(org.hsqldb.RangeVariable$RangeVariableConditions, org.hsqldb.lib.HsqlList, int, boolean);
    descriptor: (Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        start local 2 // org.hsqldb.lib.HsqlList exprList
        start local 3 // int rangeVarIndex
        start local 4 // boolean includeOr
         0: .line 997
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
            invokevirtual org.hsqldb.lib.OrderedIntHashSet.clear:()V
         1: .line 998
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.clear:()V
         2: .line 1000
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         3: aload 2 /* exprList */
            invokeinterface org.hsqldb.lib.HsqlList.size:()I
            istore 7 /* size */
        start local 7 // int size
         4: goto 56
         5: .line 1001
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.RangeVariable$RangeVariableConditions org.hsqldb.lib.HsqlList int int top int int
      StackMap stack:
            aload 2 /* exprList */
            iload 6 /* j */
            invokeinterface org.hsqldb.lib.HsqlList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 8 /* e */
        start local 8 // org.hsqldb.Expression e
         6: .line 1003
            aload 8 /* e */
            ifnonnull 8
         7: .line 1004
            goto 55
         8: .line 1007
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            aload 8 /* e */
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            invokevirtual org.hsqldb.Expression.isIndexable:(Lorg/hsqldb/RangeVariable;)Z
            ifne 10
         9: .line 1008
            goto 55
        10: .line 1011
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getType:()I
            istore 9 /* type */
        start local 9 // int type
        11: .line 1013
            iload 9 /* type */
            lookupswitch { // 10
                    2: 13
                   40: 14
                   41: 44
                   42: 44
                   43: 44
                   44: 44
                   45: 44
                   47: 24
                   48: 33
                   50: 12
              default: 52
          }
        12: .line 1016
      StackMap locals: int
      StackMap stack:
            goto 55
        13: .line 1019
      StackMap locals:
      StackMap stack:
            goto 55
        14: .line 1022
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getSubType:()I
            bipush 52
            if_icmpeq 55
        15: .line 1023
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getSubType:()I
            bipush 51
            if_icmpne 17
        16: .line 1024
            goto 55
        17: .line 1027
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
        18: .line 1028
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
        19: .line 1027
            if_acmpeq 21
        20: .line 1029
            goto 55
        21: .line 1032
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
            istore 10 /* colIndex */
        start local 10 // int colIndex
        22: .line 1034
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
            iload 10 /* colIndex */
            invokevirtual org.hsqldb.lib.OrderedIntHashSet.add:(I)Z
            pop
        23: .line 1036
            goto 55
        end local 10 // int colIndex
        24: .line 1039
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
        25: .line 1040
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
        26: .line 1039
            if_acmpeq 28
        27: .line 1041
            goto 55
        28: .line 1044
      StackMap locals:
      StackMap stack:
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.isLeftJoin:Z
            ifeq 30
        29: .line 1045
            goto 55
        30: .line 1048
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
            istore 10 /* colIndex */
        start local 10 // int colIndex
        31: .line 1050
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
            iload 10 /* colIndex */
            invokevirtual org.hsqldb.lib.OrderedIntHashSet.add:(I)Z
            pop
        32: .line 1052
            goto 55
        end local 10 // int colIndex
        33: .line 1055
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
        34: .line 1056
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
        35: .line 1055
            if_acmpeq 37
        36: .line 1057
            goto 55
        37: .line 1060
      StackMap locals:
      StackMap stack:
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.isLeftJoin:Z
            ifeq 39
        38: .line 1061
            goto 55
        39: .line 1065
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
        40: .line 1064
            istore 10 /* colIndex */
        start local 10 // int colIndex
        41: .line 1066
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            iload 10 /* colIndex */
            iconst_0
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.get:(II)I
            istore 11 /* count */
        start local 11 // int count
        42: .line 1068
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            iload 10 /* colIndex */
            iload 11 /* count */
            iconst_1
            iadd
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.put:(II)Z
            pop
        43: .line 1070
            goto 55
        end local 11 // int count
        end local 10 // int colIndex
        44: .line 1077
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
        45: .line 1078
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
        46: .line 1077
            if_acmpeq 48
        47: .line 1079
            goto 55
        48: .line 1082
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
            istore 10 /* colIndex */
        start local 10 // int colIndex
        49: .line 1083
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            iload 10 /* colIndex */
            iconst_0
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.get:(II)I
            istore 11 /* count */
        start local 11 // int count
        50: .line 1085
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            iload 10 /* colIndex */
            iload 11 /* count */
            iconst_1
            iadd
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.put:(II)Z
            pop
        51: .line 1087
            goto 55
        end local 11 // int count
        end local 10 // int colIndex
        52: .line 1090
      StackMap locals:
      StackMap stack:
            sipush 201
        53: .line 1091
            ldc "RangeVariableResolver"
        54: .line 1090
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 9 // int type
        end local 8 // org.hsqldb.Expression e
        55: .line 1000
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        56: iload 6 /* j */
            iload 7 /* size */
            if_icmplt 5
        end local 7 // int size
        end local 6 // int j
        57: .line 1096
            aload 0 /* this */
            aload 1 /* conditions */
            aload 2 /* exprList */
            iload 3 /* rangeVarIndex */
            invokevirtual org.hsqldb.RangeVariableResolver.setEqualityConditions:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;I)V
        58: .line 1098
            aload 1 /* conditions */
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.hasIndex:()Z
            istore 5 /* hasIndex */
        start local 5 // boolean hasIndex
        59: .line 1100
            iload 5 /* hasIndex */
            ifne 62
        60: .line 1101
            aload 0 /* this */
            aload 1 /* conditions */
            aload 2 /* exprList */
            iload 3 /* rangeVarIndex */
            invokevirtual org.hsqldb.RangeVariableResolver.setNonEqualityConditions:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;I)V
        61: .line 1103
            aload 1 /* conditions */
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.hasIndex:()Z
            istore 5 /* hasIndex */
        62: .line 1106
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.RangeVariable$RangeVariableConditions org.hsqldb.lib.HsqlList int int int
      StackMap stack:
            iload 3 /* rangeVarIndex */
            ifne 64
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
            getfield org.hsqldb.SortAndSlice.usingIndex:Z
            ifeq 64
        63: .line 1107
            iconst_1
            istore 5 /* hasIndex */
        64: .line 1110
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* isOR */
        start local 6 // boolean isOR
        65: .line 1112
            iload 5 /* hasIndex */
            ifne 105
            iload 4 /* includeOr */
            ifeq 105
        66: .line 1113
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        67: aload 2 /* exprList */
            invokeinterface org.hsqldb.lib.HsqlList.size:()I
            istore 8 /* size */
        start local 8 // int size
        68: goto 104
        69: .line 1114
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* exprList */
            iload 7 /* j */
            invokeinterface org.hsqldb.lib.HsqlList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 9 /* e */
        start local 9 // org.hsqldb.Expression e
        70: .line 1116
            aload 9 /* e */
            ifnonnull 72
        71: .line 1117
            goto 103
        72: .line 1120
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getType:()I
            bipush 50
            if_icmpne 81
        73: .line 1121
            aload 0 /* this */
            aload 1 /* conditions */
        74: .line 1122
            aload 9 /* e */
            checkcast org.hsqldb.ExpressionLogical
        75: .line 1123
            iload 3 /* rangeVarIndex */
        76: .line 1121
            invokevirtual org.hsqldb.RangeVariableResolver.setOrConditions:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/ExpressionLogical;I)Z
            istore 5 /* hasIndex */
        77: .line 1125
            iload 5 /* hasIndex */
            ifeq 103
        78: .line 1126
            aload 2 /* exprList */
            iload 7 /* j */
            aconst_null
            invokeinterface org.hsqldb.lib.HsqlList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        79: .line 1128
            iconst_1
            istore 6 /* isOR */
        80: .line 1130
            goto 105
        81: .line 1132
      StackMap locals:
      StackMap stack:
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getType:()I
            bipush 40
            if_icmpne 103
        82: .line 1133
            aload 9 /* e */
            getfield org.hsqldb.Expression.exprSubType:I
            bipush 52
            if_icmpne 103
        83: .line 1134
            iload 3 /* rangeVarIndex */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstLeftJoinIndex:I
            if_icmpge 103
        84: .line 1135
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.firstRightJoinIndex:I
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            if_icmpeq 86
        85: .line 1136
            goto 103
        86: .line 1139
      StackMap locals:
      StackMap stack:
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.isCorrelated:()Z
            ifeq 88
        87: .line 1140
            goto 103
        88: .line 1143
      StackMap locals:
      StackMap stack:
            new org.hsqldb.lib.OrderedIntHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedIntHashSet.<init>:()V
            astore 10 /* set */
        start local 10 // org.hsqldb.lib.OrderedIntHashSet set
        89: .line 1145
            aload 9 /* e */
            checkcast org.hsqldb.ExpressionLogical
        90: .line 1146
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            aload 10 /* set */
        91: .line 1145
            invokevirtual org.hsqldb.ExpressionLogical.addLeftColumnsForAllAny:(Lorg/hsqldb/RangeVariable;Lorg/hsqldb/lib/OrderedIntHashSet;)V
        92: .line 1149
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.rangeTable:Lorg/hsqldb/Table;
        93: .line 1150
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            aload 10 /* set */
            bipush 40
            iconst_0
        94: .line 1149
            invokevirtual org.hsqldb.Table.getIndexForColumns:(Lorg/hsqldb/Session;Lorg/hsqldb/lib/OrderedIntHashSet;IZ)[Lorg/hsqldb/index/Index$IndexUse;
        95: .line 1148
            astore 11 /* indexes */
        start local 11 // org.hsqldb.index.Index$IndexUse[] indexes
        96: .line 1154
            aload 11 /* indexes */
            arraylength
            ifeq 103
        97: .line 1155
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.inExpressions:[Lorg/hsqldb/Expression;
            iload 3 /* rangeVarIndex */
            aaload
            ifnonnull 103
        98: .line 1156
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.inExpressions:[Lorg/hsqldb/Expression;
            iload 3 /* rangeVarIndex */
            aload 9 /* e */
            aastore
        99: .line 1157
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.inInJoin:[Z
            iload 3 /* rangeVarIndex */
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.isJoin:Z
            bastore
       100: .line 1159
            aload 0 /* this */
            dup
            getfield org.hsqldb.RangeVariableResolver.inExpressionCount:I
            iconst_1
            iadd
            putfield org.hsqldb.RangeVariableResolver.inExpressionCount:I
       101: .line 1161
            aload 2 /* exprList */
            iload 7 /* j */
            aconst_null
            invokeinterface org.hsqldb.lib.HsqlList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
       102: .line 1163
            goto 105
        end local 11 // org.hsqldb.index.Index$IndexUse[] indexes
        end local 10 // org.hsqldb.lib.OrderedIntHashSet set
        end local 9 // org.hsqldb.Expression e
       103: .line 1113
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
       104: iload 7 /* j */
            iload 8 /* size */
            if_icmplt 69
        end local 8 // int size
        end local 7 // int j
       105: .line 1169
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
       106: aload 2 /* exprList */
            invokeinterface org.hsqldb.lib.HsqlList.size:()I
            istore 8 /* size */
        start local 8 // int size
       107: goto 131
       108: .line 1170
      StackMap locals: int int
      StackMap stack:
            aload 2 /* exprList */
            iload 7 /* i */
            invokeinterface org.hsqldb.lib.HsqlList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 9 /* e */
        start local 9 // org.hsqldb.Expression e
       109: .line 1172
            aload 9 /* e */
            ifnonnull 111
       110: .line 1173
            goto 130
       111: .line 1176
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            iload 6 /* isOR */
            ifeq 129
       112: .line 1177
            iconst_0
            istore 10 /* j */
        start local 10 // int j
       113: goto 127
       114: .line 1179
      StackMap locals: int
      StackMap stack:
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.isJoin:Z
            ifeq 121
       115: .line 1180
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iload 10 /* j */
            aaload
       116: .line 1183
            aload 9 /* e */
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
       117: .line 1184
            getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iload 10 /* j */
            aaload
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
       118: .line 1183
            invokestatic org.hsqldb.ExpressionLogical.andExpressions:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)Lorg/hsqldb/Expression;
       119: .line 1180
            putfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
       120: .line 1185
            goto 126
       121: .line 1186
      StackMap locals:
      StackMap stack:
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iload 10 /* j */
            aaload
       122: .line 1189
            aload 9 /* e */
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
       123: .line 1190
            getfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iload 10 /* j */
            aaload
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
       124: .line 1189
            invokestatic org.hsqldb.ExpressionLogical.andExpressions:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)Lorg/hsqldb/Expression;
       125: .line 1186
            putfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
       126: .line 1178
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
       127: .line 1177
      StackMap locals:
      StackMap stack:
            iload 10 /* j */
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            arraylength
            if_icmplt 114
        end local 10 // int j
       128: .line 1193
            goto 130
       129: .line 1194
      StackMap locals:
      StackMap stack:
            aload 1 /* conditions */
            aload 9 /* e */
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.addCondition:(Lorg/hsqldb/Expression;)V
        end local 9 // org.hsqldb.Expression e
       130: .line 1169
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
       131: iload 7 /* i */
            iload 8 /* size */
            if_icmplt 108
        end local 8 // int size
        end local 7 // int i
       132: .line 1197
            return
        end local 6 // boolean isOR
        end local 5 // boolean hasIndex
        end local 4 // boolean includeOr
        end local 3 // int rangeVarIndex
        end local 2 // org.hsqldb.lib.HsqlList exprList
        end local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  133     0           this  Lorg/hsqldb/RangeVariableResolver;
            0  133     1     conditions  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            0  133     2       exprList  Lorg/hsqldb/lib/HsqlList;
            0  133     3  rangeVarIndex  I
            0  133     4      includeOr  Z
           59  133     5       hasIndex  Z
            3   57     6              j  I
            4   57     7           size  I
            6   55     8              e  Lorg/hsqldb/Expression;
           11   55     9           type  I
           22   24    10       colIndex  I
           31   33    10       colIndex  I
           41   44    10       colIndex  I
           42   44    11          count  I
           49   52    10       colIndex  I
           50   52    11          count  I
           65  133     6           isOR  Z
           67  105     7              j  I
           68  105     8           size  I
           70  103     9              e  Lorg/hsqldb/Expression;
           89  103    10            set  Lorg/hsqldb/lib/OrderedIntHashSet;
           96  103    11        indexes  [Lorg/hsqldb/index/Index$IndexUse;
          106  132     7              i  I
          107  132     8           size  I
          109  130     9              e  Lorg/hsqldb/Expression;
          113  128    10              j  I
    MethodParameters:
               Name  Flags
      conditions     
      exprList       
      rangeVarIndex  
      includeOr      

  private boolean setOrConditions(org.hsqldb.RangeVariable$RangeVariableConditions, org.hsqldb.ExpressionLogical, int);
    descriptor: (Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/ExpressionLogical;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        start local 2 // org.hsqldb.ExpressionLogical orExpression
        start local 3 // int rangeVarIndex
         0: .line 1203
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            astore 4 /* orExprList */
        start local 4 // org.hsqldb.lib.HsqlArrayList orExprList
         1: .line 1205
            aload 2 /* orExpression */
            aload 4 /* orExprList */
            invokestatic org.hsqldb.RangeVariableResolver.decomposeOrConditions:(Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
            pop
         2: .line 1208
            aload 4 /* orExprList */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            anewarray org.hsqldb.RangeVariable$RangeVariableConditions
         3: .line 1207
            astore 5 /* conditionsArray */
        start local 5 // org.hsqldb.RangeVariable$RangeVariableConditions[] conditionsArray
         4: .line 1210
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 16
         6: .line 1211
      StackMap locals: org.hsqldb.lib.HsqlArrayList org.hsqldb.RangeVariable$RangeVariableConditions[] int
      StackMap stack:
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            astore 7 /* exprList */
        start local 7 // org.hsqldb.lib.HsqlArrayList exprList
         7: .line 1212
            aload 4 /* orExprList */
            iload 6 /* i */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 8 /* e */
        start local 8 // org.hsqldb.Expression e
         8: .line 1214
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            aload 8 /* e */
            aload 7 /* exprList */
            invokestatic org.hsqldb.RangeVariableResolver.decomposeAndConditions:(Lorg/hsqldb/Session;Lorg/hsqldb/Expression;Lorg/hsqldb/lib/HsqlList;)Lorg/hsqldb/Expression;
            pop
         9: .line 1217
            new org.hsqldb.RangeVariable$RangeVariableConditions
            dup
            aload 1 /* conditions */
            invokespecial org.hsqldb.RangeVariable$RangeVariableConditions.<init>:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;)V
        10: .line 1216
            astore 9 /* c */
        start local 9 // org.hsqldb.RangeVariable$RangeVariableConditions c
        11: .line 1219
            aload 0 /* this */
            aload 9 /* c */
            aload 7 /* exprList */
            iload 3 /* rangeVarIndex */
            iconst_0
            invokevirtual org.hsqldb.RangeVariableResolver.setIndexConditions:(Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;IZ)V
        12: .line 1221
            aload 5 /* conditionsArray */
            iload 6 /* i */
            aload 9 /* c */
            aastore
        13: .line 1223
            aload 9 /* c */
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.hasIndex:()Z
            ifne 15
        14: .line 1226
            iconst_0
            ireturn
        end local 9 // org.hsqldb.RangeVariable$RangeVariableConditions c
        end local 8 // org.hsqldb.Expression e
        end local 7 // org.hsqldb.lib.HsqlArrayList exprList
        15: .line 1210
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            aload 4 /* orExprList */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            if_icmplt 6
        end local 6 // int i
        17: .line 1230
            aconst_null
            astore 6 /* exclude */
        start local 6 // org.hsqldb.Expression exclude
        18: .line 1232
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        19: goto 35
        20: .line 1233
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.RangeVariable$RangeVariableConditions org.hsqldb.ExpressionLogical int org.hsqldb.lib.HsqlArrayList org.hsqldb.RangeVariable$RangeVariableConditions[] org.hsqldb.Expression int
      StackMap stack:
            aload 5 /* conditionsArray */
            iload 7 /* i */
            aaload
            astore 8 /* c */
        start local 8 // org.hsqldb.RangeVariable$RangeVariableConditions c
        21: .line 1235
            aload 5 /* conditionsArray */
            iload 7 /* i */
            aaload
            aload 6 /* exclude */
            putfield org.hsqldb.RangeVariable$RangeVariableConditions.excludeConditions:Lorg/hsqldb/Expression;
        22: .line 1237
            iload 7 /* i */
            aload 5 /* conditionsArray */
            arraylength
            iconst_1
            isub
            if_icmpne 24
        23: .line 1238
            goto 36
        24: .line 1241
      StackMap locals: org.hsqldb.RangeVariable$RangeVariableConditions
      StackMap stack:
            aconst_null
            astore 9 /* e */
        start local 9 // org.hsqldb.Expression e
        25: .line 1243
            aload 8 /* c */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexCond:[Lorg/hsqldb/Expression;
            ifnull 31
        26: .line 1244
            iconst_0
            istore 10 /* k */
        start local 10 // int k
        27: goto 30
        28: .line 1245
      StackMap locals: org.hsqldb.Expression int
      StackMap stack:
            aload 9 /* e */
            aload 8 /* c */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexCond:[Lorg/hsqldb/Expression;
            iload 10 /* k */
            aaload
            invokestatic org.hsqldb.ExpressionLogical.andExpressions:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)Lorg/hsqldb/Expression;
            astore 9 /* e */
        29: .line 1244
            iinc 10 /* k */ 1
      StackMap locals:
      StackMap stack:
        30: iload 10 /* k */
            aload 8 /* c */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexedColumnCount:I
            if_icmplt 28
        end local 10 // int k
        31: .line 1249
      StackMap locals:
      StackMap stack:
            aload 9 /* e */
            aload 8 /* c */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.indexEndCondition:Lorg/hsqldb/Expression;
            invokestatic org.hsqldb.ExpressionLogical.andExpressions:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)Lorg/hsqldb/Expression;
            astore 9 /* e */
        32: .line 1250
            aload 9 /* e */
            aload 8 /* c */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.nonIndexCondition:Lorg/hsqldb/Expression;
            invokestatic org.hsqldb.ExpressionLogical.andExpressions:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)Lorg/hsqldb/Expression;
            astore 9 /* e */
        33: .line 1251
            aload 9 /* e */
            aload 6 /* exclude */
            invokestatic org.hsqldb.ExpressionLogical.orExpressions:(Lorg/hsqldb/Expression;Lorg/hsqldb/Expression;)Lorg/hsqldb/Expression;
            astore 6 /* exclude */
        end local 9 // org.hsqldb.Expression e
        end local 8 // org.hsqldb.RangeVariable$RangeVariableConditions c
        34: .line 1232
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 7 /* i */
            aload 5 /* conditionsArray */
            arraylength
            if_icmplt 20
        end local 7 // int i
        36: .line 1259
      StackMap locals:
      StackMap stack:
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.isJoin:Z
            ifeq 44
        37: .line 1260
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            aload 5 /* conditionsArray */
            putfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
        38: .line 1261
            aload 4 /* orExprList */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            anewarray org.hsqldb.RangeVariable$RangeVariableConditions
            astore 5 /* conditionsArray */
        39: .line 1263
            aload 5 /* conditionsArray */
        40: .line 1264
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iconst_0
            aaload
        41: .line 1263
            invokestatic org.hsqldb.lib.ArrayUtil.fillArray:([Ljava/lang/Object;Ljava/lang/Object;)V
        42: .line 1266
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            aload 5 /* conditionsArray */
            putfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
        43: .line 1267
            goto 50
        44: .line 1268
      StackMap locals:
      StackMap stack:
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            aload 5 /* conditionsArray */
            putfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
        45: .line 1269
            aload 4 /* orExprList */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            anewarray org.hsqldb.RangeVariable$RangeVariableConditions
            astore 5 /* conditionsArray */
        46: .line 1271
            aload 5 /* conditionsArray */
        47: .line 1272
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iconst_0
            aaload
        48: .line 1271
            invokestatic org.hsqldb.lib.ArrayUtil.fillArray:([Ljava/lang/Object;Ljava/lang/Object;)V
        49: .line 1274
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            aload 5 /* conditionsArray */
            putfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
        50: .line 1277
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // org.hsqldb.Expression exclude
        end local 5 // org.hsqldb.RangeVariable$RangeVariableConditions[] conditionsArray
        end local 4 // org.hsqldb.lib.HsqlArrayList orExprList
        end local 3 // int rangeVarIndex
        end local 2 // org.hsqldb.ExpressionLogical orExpression
        end local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   51     0             this  Lorg/hsqldb/RangeVariableResolver;
            0   51     1       conditions  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            0   51     2     orExpression  Lorg/hsqldb/ExpressionLogical;
            0   51     3    rangeVarIndex  I
            1   51     4       orExprList  Lorg/hsqldb/lib/HsqlArrayList;
            4   51     5  conditionsArray  [Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            5   17     6                i  I
            7   15     7         exprList  Lorg/hsqldb/lib/HsqlArrayList;
            8   15     8                e  Lorg/hsqldb/Expression;
           11   15     9                c  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
           18   51     6          exclude  Lorg/hsqldb/Expression;
           19   36     7                i  I
           21   34     8                c  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
           25   34     9                e  Lorg/hsqldb/Expression;
           27   31    10                k  I
    MethodParameters:
               Name  Flags
      conditions     
      orExpression   
      rangeVarIndex  

  private void setEqualityConditions(org.hsqldb.RangeVariable$RangeVariableConditions, org.hsqldb.lib.HsqlList, int);
    descriptor: (Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        start local 2 // org.hsqldb.lib.HsqlList exprList
        start local 3 // int rangeVarIndex
         0: .line 1283
            aconst_null
            astore 4 /* index */
        start local 4 // org.hsqldb.index.Index index
         1: .line 1285
            iload 3 /* rangeVarIndex */
            ifne 5
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
            getfield org.hsqldb.SortAndSlice.usingIndex:Z
            ifeq 5
         2: .line 1286
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
            getfield org.hsqldb.SortAndSlice.primaryTableIndex:Lorg/hsqldb/index/Index;
            astore 4 /* index */
         3: .line 1288
            aload 4 /* index */
            ifnull 5
         4: .line 1289
            aload 1 /* conditions */
            aload 4 /* index */
            putfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeIndex:Lorg/hsqldb/index/Index;
         5: .line 1293
      StackMap locals: org.hsqldb.index.Index
      StackMap stack:
            aload 4 /* index */
            ifnonnull 29
         6: .line 1295
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.rangeTable:Lorg/hsqldb/Table;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
         7: .line 1296
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetEqual:Lorg/hsqldb/lib/OrderedIntHashSet;
            bipush 40
            iconst_0
         8: .line 1295
            invokevirtual org.hsqldb.Table.getIndexForColumns:(Lorg/hsqldb/Session;Lorg/hsqldb/lib/OrderedIntHashSet;IZ)[Lorg/hsqldb/index/Index$IndexUse;
         9: .line 1294
            astore 5 /* indexes */
        start local 5 // org.hsqldb.index.Index$IndexUse[] indexes
        10: .line 1298
            aload 5 /* indexes */
            arraylength
            ifne 12
        11: .line 1299
            return
        12: .line 1302
      StackMap locals: org.hsqldb.index.Index$IndexUse[]
      StackMap stack:
            aload 5 /* indexes */
            iconst_0
            aaload
            getfield org.hsqldb.index.Index$IndexUse.index:Lorg/hsqldb/index/Index;
            astore 4 /* index */
        13: .line 1304
            ldc 1.7976931348623157E308
            dstore 6 /* cost */
        start local 6 // double cost
        14: .line 1306
            aload 5 /* indexes */
            arraylength
            iconst_1
            if_icmple 29
        15: .line 1307
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        16: goto 28
        17: .line 1309
      StackMap locals: double int
      StackMap stack:
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.rangeTable:Lorg/hsqldb/Table;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            invokevirtual org.hsqldb.Table.getRowStore:(Lorg/hsqldb/Session;)Lorg/hsqldb/persist/PersistentStore;
        18: .line 1308
            astore 9 /* store */
        start local 9 // org.hsqldb.persist.PersistentStore store
        19: .line 1311
            aload 9 /* store */
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            aload 5 /* indexes */
            iload 8 /* i */
            aaload
            getfield org.hsqldb.index.Index$IndexUse.index:Lorg/hsqldb/index/Index;
        20: .line 1312
            aload 5 /* indexes */
            iload 8 /* i */
            aaload
            getfield org.hsqldb.index.Index$IndexUse.columnCount:I
        21: .line 1313
            bipush 40
        22: .line 1311
            invokeinterface org.hsqldb.persist.PersistentStore.searchCost:(Lorg/hsqldb/Session;Lorg/hsqldb/index/Index;II)D
        23: .line 1310
            dstore 10 /* currentCost */
        start local 10 // double currentCost
        24: .line 1315
            dload 10 /* currentCost */
            dload 6 /* cost */
            dcmpg
            ifge 27
        25: .line 1316
            dload 10 /* currentCost */
            dstore 6 /* cost */
        26: .line 1317
            aload 5 /* indexes */
            iload 8 /* i */
            aaload
            getfield org.hsqldb.index.Index$IndexUse.index:Lorg/hsqldb/index/Index;
            astore 4 /* index */
        end local 10 // double currentCost
        end local 9 // org.hsqldb.persist.PersistentStore store
        27: .line 1307
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* i */
            aload 5 /* indexes */
            arraylength
            if_icmplt 17
        end local 8 // int i
        end local 6 // double cost
        end local 5 // org.hsqldb.index.Index$IndexUse[] indexes
        29: .line 1323
      StackMap locals:
      StackMap stack:
            aload 4 /* index */
            invokeinterface org.hsqldb.index.Index.getColumns:()[I
            astore 5 /* cols */
        start local 5 // int[] cols
        30: .line 1324
            aload 5 /* cols */
            arraylength
            istore 6 /* colCount */
        start local 6 // int colCount
        31: .line 1325
            aload 5 /* cols */
            arraylength
            anewarray org.hsqldb.Expression
            astore 7 /* firstRowExpressions */
        start local 7 // org.hsqldb.Expression[] firstRowExpressions
        32: .line 1327
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        33: goto 52
        34: .line 1328
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.RangeVariable$RangeVariableConditions org.hsqldb.lib.HsqlList int org.hsqldb.index.Index int[] int org.hsqldb.Expression[] int
      StackMap stack:
            aload 2 /* exprList */
            iload 8 /* j */
            invokeinterface org.hsqldb.lib.HsqlList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 9 /* e */
        start local 9 // org.hsqldb.Expression e
        35: .line 1330
            aload 9 /* e */
            ifnonnull 37
        36: .line 1331
            goto 51
        37: .line 1334
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getType:()I
            istore 10 /* type */
        start local 10 // int type
        38: .line 1336
            iload 10 /* type */
            bipush 40
            if_icmpeq 39
            iload 10 /* type */
            bipush 47
            if_icmpne 51
        39: .line 1337
      StackMap locals: int
      StackMap stack:
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getRangeVariable:()Lorg/hsqldb/RangeVariable;
        40: .line 1338
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
        41: .line 1337
            if_acmpeq 43
        42: .line 1339
            goto 51
        43: .line 1342
      StackMap locals:
      StackMap stack:
            aload 9 /* e */
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            invokevirtual org.hsqldb.Expression.isIndexable:(Lorg/hsqldb/RangeVariable;)Z
            ifne 45
        44: .line 1343
            goto 51
        45: .line 1346
      StackMap locals:
      StackMap stack:
            aload 5 /* cols */
        46: .line 1347
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
        47: .line 1346
            invokestatic org.hsqldb.lib.ArrayUtil.find:([II)I
            istore 11 /* offset */
        start local 11 // int offset
        48: .line 1349
            iload 11 /* offset */
            iconst_m1
            if_icmpeq 51
            aload 7 /* firstRowExpressions */
            iload 11 /* offset */
            aaload
            ifnonnull 51
        49: .line 1350
            aload 7 /* firstRowExpressions */
            iload 11 /* offset */
            aload 9 /* e */
            aastore
        50: .line 1352
            aload 2 /* exprList */
            iload 8 /* j */
            aconst_null
            invokeinterface org.hsqldb.lib.HsqlList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // int offset
        end local 10 // int type
        end local 9 // org.hsqldb.Expression e
        51: .line 1327
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        52: iload 8 /* j */
            aload 2 /* exprList */
            invokeinterface org.hsqldb.lib.HsqlList.size:()I
            if_icmplt 34
        end local 8 // int j
        53: .line 1359
            iconst_0
            istore 8 /* hasNull */
        start local 8 // boolean hasNull
        54: .line 1361
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        55: goto 66
        56: .line 1362
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.RangeVariable$RangeVariableConditions org.hsqldb.lib.HsqlList int org.hsqldb.index.Index int[] int org.hsqldb.Expression[] int int
      StackMap stack:
            aload 7 /* firstRowExpressions */
            iload 9 /* i */
            aaload
            astore 10 /* e */
        start local 10 // org.hsqldb.Expression e
        57: .line 1364
            aload 10 /* e */
            ifnonnull 62
        58: .line 1365
            iload 6 /* colCount */
            aload 5 /* cols */
            arraylength
            if_icmpne 60
        59: .line 1366
            iload 9 /* i */
            istore 6 /* colCount */
        60: .line 1369
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            iconst_1
            istore 8 /* hasNull */
        61: .line 1371
            goto 65
        62: .line 1374
      StackMap locals:
      StackMap stack:
            iload 8 /* hasNull */
            ifeq 65
        63: .line 1375
            aload 2 /* exprList */
            aload 10 /* e */
            invokeinterface org.hsqldb.lib.HsqlList.add:(Ljava/lang/Object;)Z
            pop
        64: .line 1377
            aload 7 /* firstRowExpressions */
            iload 9 /* i */
            aconst_null
            aastore
        end local 10 // org.hsqldb.Expression e
        65: .line 1361
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        66: iload 9 /* i */
            aload 7 /* firstRowExpressions */
            arraylength
            if_icmplt 56
        end local 9 // int i
        67: .line 1381
            iload 6 /* colCount */
            ifle 69
        68: .line 1382
            aload 1 /* conditions */
            aload 7 /* firstRowExpressions */
            aload 4 /* index */
            iload 6 /* colCount */
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.addIndexCondition:([Lorg/hsqldb/Expression;Lorg/hsqldb/index/Index;I)V
        69: .line 1384
      StackMap locals:
      StackMap stack:
            return
        end local 8 // boolean hasNull
        end local 7 // org.hsqldb.Expression[] firstRowExpressions
        end local 6 // int colCount
        end local 5 // int[] cols
        end local 4 // org.hsqldb.index.Index index
        end local 3 // int rangeVarIndex
        end local 2 // org.hsqldb.lib.HsqlList exprList
        end local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   70     0                 this  Lorg/hsqldb/RangeVariableResolver;
            0   70     1           conditions  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            0   70     2             exprList  Lorg/hsqldb/lib/HsqlList;
            0   70     3        rangeVarIndex  I
            1   70     4                index  Lorg/hsqldb/index/Index;
           10   29     5              indexes  [Lorg/hsqldb/index/Index$IndexUse;
           14   29     6                 cost  D
           16   29     8                    i  I
           19   27     9                store  Lorg/hsqldb/persist/PersistentStore;
           24   27    10          currentCost  D
           30   70     5                 cols  [I
           31   70     6             colCount  I
           32   70     7  firstRowExpressions  [Lorg/hsqldb/Expression;
           33   53     8                    j  I
           35   51     9                    e  Lorg/hsqldb/Expression;
           38   51    10                 type  I
           48   51    11               offset  I
           54   70     8              hasNull  Z
           55   67     9                    i  I
           57   65    10                    e  Lorg/hsqldb/Expression;
    MethodParameters:
               Name  Flags
      conditions     
      exprList       
      rangeVarIndex  

  private void setNonEqualityConditions(org.hsqldb.RangeVariable$RangeVariableConditions, org.hsqldb.lib.HsqlList, int);
    descriptor: (Lorg/hsqldb/RangeVariable$RangeVariableConditions;Lorg/hsqldb/lib/HsqlList;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        start local 2 // org.hsqldb.lib.HsqlList exprList
        start local 3 // int rangeVarIndex
         0: .line 1390
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.isEmpty:()Z
            ifeq 2
         1: .line 1391
            return
         2: .line 1394
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* currentCount */
        start local 4 // int currentCount
         3: .line 1395
            aconst_null
            astore 5 /* index */
        start local 5 // org.hsqldb.index.Index index
         4: .line 1398
            iload 3 /* rangeVarIndex */
            ifne 6
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
            getfield org.hsqldb.SortAndSlice.usingIndex:Z
            ifeq 6
         5: .line 1399
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.sortAndSlice:Lorg/hsqldb/SortAndSlice;
            getfield org.hsqldb.SortAndSlice.primaryTableIndex:Lorg/hsqldb/index/Index;
            astore 5 /* index */
         6: .line 1402
      StackMap locals: int org.hsqldb.index.Index
      StackMap stack:
            aload 5 /* index */
            ifnonnull 20
         7: .line 1403
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.keySet:()Lorg/hsqldb/lib/Set;
            invokeinterface org.hsqldb.lib.Set.iterator:()Lorg/hsqldb/lib/Iterator;
            astore 6 /* it */
        start local 6 // org.hsqldb.lib.Iterator it
         8: .line 1405
            goto 19
         9: .line 1406
      StackMap locals: org.hsqldb.lib.Iterator
      StackMap stack:
            aload 6 /* it */
            invokeinterface org.hsqldb.lib.Iterator.nextInt:()I
            istore 7 /* colIndex */
        start local 7 // int colIndex
        10: .line 1407
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.colIndexSetOther:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            iload 7 /* colIndex */
            iconst_0
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.get:(II)I
            istore 8 /* colCount */
        start local 8 // int colCount
        11: .line 1409
            iload 8 /* colCount */
            iload 4 /* currentCount */
            if_icmple 19
        12: .line 1411
            aload 1 /* conditions */
            getfield org.hsqldb.RangeVariable$RangeVariableConditions.rangeVar:Lorg/hsqldb/RangeVariable;
            getfield org.hsqldb.RangeVariable.rangeTable:Lorg/hsqldb/Table;
        13: .line 1412
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            iload 7 /* colIndex */
        14: .line 1411
            invokevirtual org.hsqldb.Table.getIndexForColumn:(Lorg/hsqldb/Session;I)Lorg/hsqldb/index/Index;
        15: .line 1410
            astore 9 /* currentIndex */
        start local 9 // org.hsqldb.index.Index currentIndex
        16: .line 1414
            aload 9 /* currentIndex */
            ifnull 19
        17: .line 1415
            aload 9 /* currentIndex */
            astore 5 /* index */
        18: .line 1416
            iload 8 /* colCount */
            istore 4 /* currentCount */
        end local 9 // org.hsqldb.index.Index currentIndex
        end local 8 // int colCount
        end local 7 // int colIndex
        19: .line 1405
      StackMap locals:
      StackMap stack:
            aload 6 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 9
        end local 6 // org.hsqldb.lib.Iterator it
        20: .line 1422
      StackMap locals:
      StackMap stack:
            aload 5 /* index */
            ifnonnull 22
        21: .line 1423
            return
        22: .line 1426
      StackMap locals:
      StackMap stack:
            aload 5 /* index */
            invokeinterface org.hsqldb.index.Index.getColumns:()[I
            astore 7 /* cols */
        start local 7 // int[] cols
        23: .line 1428
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        24: goto 49
        25: .line 1429
      StackMap locals: org.hsqldb.RangeVariableResolver org.hsqldb.RangeVariable$RangeVariableConditions org.hsqldb.lib.HsqlList int int org.hsqldb.index.Index top int[] int
      StackMap stack:
            aload 2 /* exprList */
            iload 8 /* j */
            invokeinterface org.hsqldb.lib.HsqlList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Expression
            astore 9 /* e */
        start local 9 // org.hsqldb.Expression e
        26: .line 1431
            aload 9 /* e */
            ifnonnull 28
        27: .line 1432
            goto 48
        28: .line 1435
      StackMap locals: org.hsqldb.Expression
      StackMap stack:
            iconst_0
            istore 10 /* isIndexed */
        start local 10 // boolean isIndexed
        29: .line 1437
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getType:()I
            tableswitch { // 41 - 48
                   41: 37
                   42: 37
                   43: 37
                   44: 37
                   45: 37
                   46: 41
                   47: 41
                   48: 30
              default: 41
          }
        30: .line 1440
      StackMap locals: int
      StackMap stack:
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getType:()I
            bipush 47
            if_icmpne 41
        31: .line 1441
            aload 7 /* cols */
            iconst_0
            iaload
        32: .line 1442
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
        33: .line 1443
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
        34: .line 1441
            if_icmpne 41
        35: .line 1444
            iconst_1
            istore 10 /* isIndexed */
        36: .line 1447
            goto 41
        37: .line 1454
      StackMap locals:
      StackMap stack:
            aload 7 /* cols */
            iconst_0
            iaload
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getLeftNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getColumnIndex:()I
            if_icmpne 41
        38: .line 1455
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            ifnull 41
        39: .line 1456
            aload 9 /* e */
            invokevirtual org.hsqldb.Expression.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.isCorrelated:()Z
            ifne 41
        40: .line 1457
            iconst_1
            istore 10 /* isIndexed */
        41: .line 1465
      StackMap locals:
      StackMap stack:
            iload 10 /* isIndexed */
            ifeq 48
        42: .line 1467
            aload 5 /* index */
            invokeinterface org.hsqldb.index.Index.getColumnCount:()I
            anewarray org.hsqldb.Expression
        43: .line 1466
            astore 11 /* firstRowExpressions */
        start local 11 // org.hsqldb.Expression[] firstRowExpressions
        44: .line 1469
            aload 11 /* firstRowExpressions */
            iconst_0
            aload 9 /* e */
            aastore
        45: .line 1471
            aload 1 /* conditions */
            aload 11 /* firstRowExpressions */
            aload 5 /* index */
            iconst_1
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.addIndexCondition:([Lorg/hsqldb/Expression;Lorg/hsqldb/index/Index;I)V
        46: .line 1472
            aload 2 /* exprList */
            iload 8 /* j */
            aconst_null
            invokeinterface org.hsqldb.lib.HsqlList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 1474
            goto 50
        end local 11 // org.hsqldb.Expression[] firstRowExpressions
        end local 10 // boolean isIndexed
        end local 9 // org.hsqldb.Expression e
        48: .line 1428
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        49: iload 8 /* j */
            aload 2 /* exprList */
            invokeinterface org.hsqldb.lib.HsqlList.size:()I
            if_icmplt 25
        end local 8 // int j
        50: .line 1477
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int[] cols
        end local 5 // org.hsqldb.index.Index index
        end local 4 // int currentCount
        end local 3 // int rangeVarIndex
        end local 2 // org.hsqldb.lib.HsqlList exprList
        end local 1 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   51     0                 this  Lorg/hsqldb/RangeVariableResolver;
            0   51     1           conditions  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            0   51     2             exprList  Lorg/hsqldb/lib/HsqlList;
            0   51     3        rangeVarIndex  I
            3   51     4         currentCount  I
            4   51     5                index  Lorg/hsqldb/index/Index;
            8   20     6                   it  Lorg/hsqldb/lib/Iterator;
           10   19     7             colIndex  I
           11   19     8             colCount  I
           16   19     9         currentIndex  Lorg/hsqldb/index/Index;
           23   51     7                 cols  [I
           24   50     8                    j  I
           26   48     9                    e  Lorg/hsqldb/Expression;
           29   48    10            isIndexed  Z
           44   48    11  firstRowExpressions  [Lorg/hsqldb/Expression;
    MethodParameters:
               Name  Flags
      conditions     
      exprList       
      rangeVarIndex  

  void setInConditionsAsTables();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=7, locals=17, args_size=1
        start local 0 // org.hsqldb.RangeVariableResolver this
         0: .line 1484
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         1: goto 66
         2: .line 1485
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            astore 2 /* rangeVar */
        start local 2 // org.hsqldb.RangeVariable rangeVar
         3: .line 1486
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.inExpressions:[Lorg/hsqldb/Expression;
            iload 1 /* i */
            aaload
            checkcast org.hsqldb.ExpressionLogical
            astore 3 /* in */
        start local 3 // org.hsqldb.ExpressionLogical in
         4: .line 1488
            aload 3 /* in */
            ifnull 65
         5: .line 1489
            new org.hsqldb.lib.OrderedIntHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedIntHashSet.<init>:()V
            astore 4 /* set */
        start local 4 // org.hsqldb.lib.OrderedIntHashSet set
         6: .line 1491
            aload 3 /* in */
            aload 2 /* rangeVar */
            aload 4 /* set */
            invokevirtual org.hsqldb.ExpressionLogical.addLeftColumnsForAllAny:(Lorg/hsqldb/RangeVariable;Lorg/hsqldb/lib/OrderedIntHashSet;)V
         7: .line 1494
            aload 2 /* rangeVar */
            getfield org.hsqldb.RangeVariable.rangeTable:Lorg/hsqldb/Table;
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.session:Lorg/hsqldb/Session;
            aload 4 /* set */
         8: .line 1495
            bipush 40
            iconst_0
         9: .line 1494
            invokevirtual org.hsqldb.Table.getIndexForColumns:(Lorg/hsqldb/Session;Lorg/hsqldb/lib/OrderedIntHashSet;IZ)[Lorg/hsqldb/index/Index$IndexUse;
        10: .line 1493
            astore 5 /* indexes */
        start local 5 // org.hsqldb.index.Index$IndexUse[] indexes
        11: .line 1496
            aload 5 /* indexes */
            iconst_0
            aaload
            getfield org.hsqldb.index.Index$IndexUse.index:Lorg/hsqldb/index/Index;
            astore 6 /* index */
        start local 6 // org.hsqldb.index.Index index
        12: .line 1497
            iconst_0
            istore 7 /* indexedColCount */
        start local 7 // int indexedColCount
        13: .line 1499
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        14: goto 18
        15: .line 1500
      StackMap locals: org.hsqldb.RangeVariableResolver int org.hsqldb.RangeVariable org.hsqldb.ExpressionLogical org.hsqldb.lib.OrderedIntHashSet org.hsqldb.index.Index$IndexUse[] org.hsqldb.index.Index int int
      StackMap stack:
            aload 4 /* set */
            aload 6 /* index */
            invokeinterface org.hsqldb.index.Index.getColumns:()[I
            iload 8 /* j */
            iaload
            invokevirtual org.hsqldb.lib.OrderedIntHashSet.contains:(I)Z
            ifeq 19
        16: .line 1501
            iinc 7 /* indexedColCount */ 1
        17: .line 1499
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        18: iload 8 /* j */
            aload 6 /* index */
            invokeinterface org.hsqldb.index.Index.getColumnCount:()I
            if_icmplt 15
        end local 8 // int j
        19: .line 1508
      StackMap locals:
      StackMap stack:
            new org.hsqldb.RangeVariable
            dup
            aload 3 /* in */
            invokevirtual org.hsqldb.ExpressionLogical.getRightNode:()Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getTable:()Lorg/hsqldb/Table;
            aconst_null
        20: .line 1509
            aconst_null
            aconst_null
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.compileContext:Lorg/hsqldb/ParserDQL$CompileContext;
        21: .line 1508
            invokespecial org.hsqldb.RangeVariable.<init>:(Lorg/hsqldb/Table;Lorg/hsqldb/HsqlNameManager$SimpleName;Lorg/hsqldb/lib/OrderedHashSet;[Lorg/hsqldb/HsqlNameManager$SimpleName;Lorg/hsqldb/ParserDQL$CompileContext;)V
        22: .line 1507
            astore 8 /* newRangeVar */
        start local 8 // org.hsqldb.RangeVariable newRangeVar
        23: .line 1511
            aload 8 /* newRangeVar */
            iconst_1
            putfield org.hsqldb.RangeVariable.isGenerated:Z
        24: .line 1514
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            arraylength
            iconst_1
            iadd
            anewarray org.hsqldb.RangeVariable
        25: .line 1513
            astore 9 /* newList */
        start local 9 // org.hsqldb.RangeVariable[] newList
        26: .line 1516
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            aload 9 /* newList */
        27: .line 1517
            aload 8 /* newRangeVar */
            iload 1 /* i */
            iconst_1
        28: .line 1516
            invokestatic org.hsqldb.lib.ArrayUtil.copyAdjustArray:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;II)V
        29: .line 1519
            aload 0 /* this */
            aload 9 /* newList */
            putfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
        30: .line 1523
            aload 6 /* index */
            invokeinterface org.hsqldb.index.Index.getColumnCount:()I
            anewarray org.hsqldb.Expression
        31: .line 1522
            astore 10 /* firstRowExpressions */
        start local 10 // org.hsqldb.Expression[] firstRowExpressions
        32: .line 1525
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        33: goto 42
        34: .line 1526
      StackMap locals: org.hsqldb.RangeVariableResolver int org.hsqldb.RangeVariable org.hsqldb.ExpressionLogical org.hsqldb.lib.OrderedIntHashSet org.hsqldb.index.Index$IndexUse[] org.hsqldb.index.Index int org.hsqldb.RangeVariable org.hsqldb.RangeVariable[] org.hsqldb.Expression[] int
      StackMap stack:
            aload 6 /* index */
            invokeinterface org.hsqldb.index.Index.getColumns:()[I
            iload 11 /* j */
            iaload
            istore 12 /* leftIndex */
        start local 12 // int leftIndex
        35: .line 1527
            aload 4 /* set */
            iload 12 /* leftIndex */
            invokevirtual org.hsqldb.lib.OrderedIntHashSet.getIndex:(I)I
            istore 13 /* rightIndex */
        start local 13 // int rightIndex
        36: .line 1528
            new org.hsqldb.ExpressionLogical
            dup
            aload 2 /* rangeVar */
            iload 12 /* leftIndex */
        37: .line 1529
            aload 8 /* newRangeVar */
        38: .line 1530
            iload 13 /* rightIndex */
        39: .line 1528
            invokespecial org.hsqldb.ExpressionLogical.<init>:(Lorg/hsqldb/RangeVariable;ILorg/hsqldb/RangeVariable;I)V
            astore 14 /* e */
        start local 14 // org.hsqldb.Expression e
        40: .line 1532
            aload 10 /* firstRowExpressions */
            iload 11 /* j */
            aload 14 /* e */
            aastore
        end local 14 // org.hsqldb.Expression e
        end local 13 // int rightIndex
        end local 12 // int leftIndex
        41: .line 1525
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        42: iload 11 /* j */
            iload 7 /* indexedColCount */
            if_icmplt 34
        end local 11 // int j
        43: .line 1535
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.isLeftJoin:Z
            ifne 46
        44: .line 1536
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.rangeVariables:[Lorg/hsqldb/RangeVariable;
            iload 1 /* i */
            aaload
            getfield org.hsqldb.RangeVariable.isRightJoin:Z
            ifne 46
        45: .line 1535
            iconst_0
            goto 47
      StackMap locals:
      StackMap stack:
        46: iconst_1
      StackMap locals:
      StackMap stack: int
        47: istore 11 /* isOuter */
        start local 11 // boolean isOuter
        48: .line 1538
            aload 0 /* this */
            getfield org.hsqldb.RangeVariableResolver.inInJoin:[Z
            iload 1 /* i */
            baload
            ifne 49
            iload 11 /* isOuter */
            ifeq 49
            aload 2 /* rangeVar */
            getfield org.hsqldb.RangeVariable.whereConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iconst_0
            aaload
            goto 50
        49: .line 1539
      StackMap locals: int
      StackMap stack:
            aload 2 /* rangeVar */
            getfield org.hsqldb.RangeVariable.joinConditions:[Lorg/hsqldb/RangeVariable$RangeVariableConditions;
            iconst_0
            aaload
        50: .line 1537
      StackMap locals:
      StackMap stack: org.hsqldb.RangeVariable$RangeVariableConditions
            astore 12 /* conditions */
        start local 12 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        51: .line 1541
            aload 12 /* conditions */
            aload 10 /* firstRowExpressions */
            aload 6 /* index */
        52: .line 1542
            iload 7 /* indexedColCount */
        53: .line 1541
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.addIndexCondition:([Lorg/hsqldb/Expression;Lorg/hsqldb/index/Index;I)V
        54: .line 1544
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        55: goto 64
        56: .line 1545
      StackMap locals: org.hsqldb.RangeVariable$RangeVariableConditions int
      StackMap stack:
            aload 4 /* set */
            iload 13 /* j */
            invokevirtual org.hsqldb.lib.OrderedIntHashSet.get:(I)I
            istore 14 /* leftIndex */
        start local 14 // int leftIndex
        57: .line 1546
            iload 13 /* j */
            istore 15 /* rightIndex */
        start local 15 // int rightIndex
        58: .line 1547
            new org.hsqldb.ExpressionLogical
            dup
            aload 2 /* rangeVar */
            iload 14 /* leftIndex */
        59: .line 1548
            aload 8 /* newRangeVar */
        60: .line 1549
            iload 15 /* rightIndex */
        61: .line 1547
            invokespecial org.hsqldb.ExpressionLogical.<init>:(Lorg/hsqldb/RangeVariable;ILorg/hsqldb/RangeVariable;I)V
            astore 16 /* e */
        start local 16 // org.hsqldb.Expression e
        62: .line 1551
            aload 12 /* conditions */
            aload 16 /* e */
            invokevirtual org.hsqldb.RangeVariable$RangeVariableConditions.addCondition:(Lorg/hsqldb/Expression;)V
        end local 16 // org.hsqldb.Expression e
        end local 15 // int rightIndex
        end local 14 // int leftIndex
        63: .line 1544
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        64: iload 13 /* j */
            aload 4 /* set */
            invokevirtual org.hsqldb.lib.OrderedIntHashSet.size:()I
            if_icmplt 56
        end local 13 // int j
        end local 12 // org.hsqldb.RangeVariable$RangeVariableConditions conditions
        end local 11 // boolean isOuter
        end local 10 // org.hsqldb.Expression[] firstRowExpressions
        end local 9 // org.hsqldb.RangeVariable[] newList
        end local 8 // org.hsqldb.RangeVariable newRangeVar
        end local 7 // int indexedColCount
        end local 6 // org.hsqldb.index.Index index
        end local 5 // org.hsqldb.index.Index$IndexUse[] indexes
        end local 4 // org.hsqldb.lib.OrderedIntHashSet set
        end local 3 // org.hsqldb.ExpressionLogical in
        end local 2 // org.hsqldb.RangeVariable rangeVar
        65: .line 1484
      StackMap locals: org.hsqldb.RangeVariableResolver int
      StackMap stack:
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
        66: iload 1 /* i */
            ifge 2
        end local 1 // int i
        67: .line 1555
            return
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   68     0                 this  Lorg/hsqldb/RangeVariableResolver;
            1   67     1                    i  I
            3   65     2             rangeVar  Lorg/hsqldb/RangeVariable;
            4   65     3                   in  Lorg/hsqldb/ExpressionLogical;
            6   65     4                  set  Lorg/hsqldb/lib/OrderedIntHashSet;
           11   65     5              indexes  [Lorg/hsqldb/index/Index$IndexUse;
           12   65     6                index  Lorg/hsqldb/index/Index;
           13   65     7      indexedColCount  I
           14   19     8                    j  I
           23   65     8          newRangeVar  Lorg/hsqldb/RangeVariable;
           26   65     9              newList  [Lorg/hsqldb/RangeVariable;
           32   65    10  firstRowExpressions  [Lorg/hsqldb/Expression;
           33   43    11                    j  I
           35   41    12            leftIndex  I
           36   41    13           rightIndex  I
           40   41    14                    e  Lorg/hsqldb/Expression;
           48   65    11              isOuter  Z
           51   65    12           conditions  Lorg/hsqldb/RangeVariable$RangeVariableConditions;
           55   65    13                    j  I
           57   63    14            leftIndex  I
           58   63    15           rightIndex  I
           62   63    16                    e  Lorg/hsqldb/Expression;

  private double searchCost(org.hsqldb.Session, org.hsqldb.Table, org.hsqldb.index.Index, int, int);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Table;Lorg/hsqldb/index/Index;II)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.hsqldb.RangeVariableResolver this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.Table table
        start local 3 // org.hsqldb.index.Index index
        start local 4 // int count
        start local 5 // int opType
         0: .line 1560
            aload 2 /* table */
            instanceof org.hsqldb.TableDerived
            ifeq 2
         1: .line 1561
            ldc 1000.0
            dreturn
         2: .line 1563
      StackMap locals:
      StackMap stack:
            aload 2 /* table */
            aload 1 /* session */
            invokevirtual org.hsqldb.Table.getRowStore:(Lorg/hsqldb/Session;)Lorg/hsqldb/persist/PersistentStore;
            aload 1 /* session */
            aload 3 /* index */
         3: .line 1564
            iload 4 /* count */
            iload 5 /* opType */
         4: .line 1563
            invokeinterface org.hsqldb.persist.PersistentStore.searchCost:(Lorg/hsqldb/Session;Lorg/hsqldb/index/Index;II)D
            dreturn
        end local 5 // int opType
        end local 4 // int count
        end local 3 // org.hsqldb.index.Index index
        end local 2 // org.hsqldb.Table table
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.RangeVariableResolver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/hsqldb/RangeVariableResolver;
            0    5     1  session  Lorg/hsqldb/Session;
            0    5     2    table  Lorg/hsqldb/Table;
            0    5     3    index  Lorg/hsqldb/index/Index;
            0    5     4    count  I
            0    5     5   opType  I
    MethodParameters:
         Name  Flags
      session  
      table    
      index    
      count    
      opType   
}
SourceFile: "RangeVariableResolver.java"
InnerClasses:
  public SimpleName = org.hsqldb.HsqlNameManager$SimpleName of org.hsqldb.HsqlNameManager
  public final CompileContext = org.hsqldb.ParserDQL$CompileContext of org.hsqldb.ParserDQL
  public RangeVariableConditions = org.hsqldb.RangeVariable$RangeVariableConditions of org.hsqldb.RangeVariable
  public IndexUse = org.hsqldb.index.Index$IndexUse of org.hsqldb.index.Index