public final class org.h2.expression.analysis.Window
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.h2.expression.analysis.Window
  super_class: java.lang.Object
{
  private java.util.ArrayList<org.h2.expression.Expression> partitionBy;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lorg/h2/expression/Expression;>;

  private java.util.ArrayList<org.h2.command.dml.SelectOrderBy> orderBy;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lorg/h2/command/dml/SelectOrderBy;>;

  private org.h2.expression.analysis.WindowFrame frame;
    descriptor: Lorg/h2/expression/analysis/WindowFrame;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String parent;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  public static void appendOrderBy(java.lang.StringBuilder, java.util.ArrayList<org.h2.command.dml.SelectOrderBy>, );
    descriptor: (Ljava/lang/StringBuilder;Ljava/util/ArrayList;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.StringBuilder builder
        start local 1 // java.util.ArrayList orderBy
        start local 2 // boolean alwaysQuote
         0: .line 46
            aload 1 /* orderBy */
            ifnull 13
            aload 1 /* orderBy */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 13
         1: .line 47
            aload 0 /* builder */
            aload 0 /* builder */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 40
            if_icmpeq 3
         2: .line 48
            aload 0 /* builder */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 50
      StackMap locals:
      StackMap stack:
            aload 0 /* builder */
            ldc "ORDER BY "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 51
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 12
         6: .line 52
      StackMap locals: int
      StackMap stack:
            aload 1 /* orderBy */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.command.dml.SelectOrderBy
            astore 4 /* o */
        start local 4 // org.h2.command.dml.SelectOrderBy o
         7: .line 53
            iload 3 /* i */
            ifle 9
         8: .line 54
            aload 0 /* builder */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 56
      StackMap locals: org.h2.command.dml.SelectOrderBy
      StackMap stack:
            aload 4 /* o */
            getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
            aload 0 /* builder */
            iload 2 /* alwaysQuote */
            invokevirtual org.h2.expression.Expression.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
            pop
        10: .line 57
            aload 0 /* builder */
            aload 4 /* o */
            getfield org.h2.command.dml.SelectOrderBy.sortType:I
            invokestatic org.h2.result.SortOrder.typeToString:(Ljava/lang/StringBuilder;I)V
        end local 4 // org.h2.command.dml.SelectOrderBy o
        11: .line 51
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 1 /* orderBy */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 6
        end local 3 // int i
        13: .line 60
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean alwaysQuote
        end local 1 // java.util.ArrayList orderBy
        end local 0 // java.lang.StringBuilder builder
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0      builder  Ljava/lang/StringBuilder;
            0   14     1      orderBy  Ljava/util/ArrayList<Lorg/h2/command/dml/SelectOrderBy;>;
            0   14     2  alwaysQuote  Z
            5   13     3            i  I
            7   11     4            o  Lorg/h2/command/dml/SelectOrderBy;
    Signature: (Ljava/lang/StringBuilder;Ljava/util/ArrayList<Lorg/h2/command/dml/SelectOrderBy;>;Z)V
    MethodParameters:
             Name  Flags
      builder      
      orderBy      
      alwaysQuote  

  public void <init>(java.lang.String, java.util.ArrayList<org.h2.expression.Expression>, java.util.ArrayList<org.h2.command.dml.SelectOrderBy>, org.h2.expression.analysis.WindowFrame);
    descriptor: (Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Lorg/h2/expression/analysis/WindowFrame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.h2.expression.analysis.Window this
        start local 1 // java.lang.String parent
        start local 2 // java.util.ArrayList partitionBy
        start local 3 // java.util.ArrayList orderBy
        start local 4 // org.h2.expression.analysis.WindowFrame frame
         0: .line 74
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            aload 1 /* parent */
            putfield org.h2.expression.analysis.Window.parent:Ljava/lang/String;
         2: .line 77
            aload 0 /* this */
            aload 2 /* partitionBy */
            putfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
         3: .line 78
            aload 0 /* this */
            aload 3 /* orderBy */
            putfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
         4: .line 79
            aload 0 /* this */
            aload 4 /* frame */
            putfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
         5: .line 80
            return
        end local 4 // org.h2.expression.analysis.WindowFrame frame
        end local 3 // java.util.ArrayList orderBy
        end local 2 // java.util.ArrayList partitionBy
        end local 1 // java.lang.String parent
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/h2/expression/analysis/Window;
            0    6     1       parent  Ljava/lang/String;
            0    6     2  partitionBy  Ljava/util/ArrayList<Lorg/h2/expression/Expression;>;
            0    6     3      orderBy  Ljava/util/ArrayList<Lorg/h2/command/dml/SelectOrderBy;>;
            0    6     4        frame  Lorg/h2/expression/analysis/WindowFrame;
    Signature: (Ljava/lang/String;Ljava/util/ArrayList<Lorg/h2/expression/Expression;>;Ljava/util/ArrayList<Lorg/h2/command/dml/SelectOrderBy;>;Lorg/h2/expression/analysis/WindowFrame;)V
    MethodParameters:
             Name  Flags
      parent       
      partitionBy  
      orderBy      
      frame        

  public void mapColumns(org.h2.table.ColumnResolver, int);
    descriptor: (Lorg/h2/table/ColumnResolver;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.h2.expression.analysis.Window this
        start local 1 // org.h2.table.ColumnResolver resolver
        start local 2 // int level
         0: .line 92
            aload 0 /* this */
            aload 1 /* resolver */
            invokevirtual org.h2.expression.analysis.Window.resolveWindows:(Lorg/h2/table/ColumnResolver;)V
         1: .line 93
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            ifnull 6
         2: .line 94
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.h2.expression.analysis.Window org.h2.table.ColumnResolver int top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.expression.Expression
            astore 3 /* e */
        start local 3 // org.h2.expression.Expression e
         4: .line 95
            aload 3 /* e */
            aload 1 /* resolver */
            iload 2 /* level */
            iconst_1
            invokevirtual org.h2.expression.Expression.mapColumns:(Lorg/h2/table/ColumnResolver;II)V
        end local 3 // org.h2.expression.Expression e
         5: .line 94
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 98
      StackMap locals: org.h2.expression.analysis.Window org.h2.table.ColumnResolver int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            ifnull 11
         7: .line 99
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: org.h2.expression.analysis.Window org.h2.table.ColumnResolver int top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.command.dml.SelectOrderBy
            astore 3 /* o */
        start local 3 // org.h2.command.dml.SelectOrderBy o
         9: .line 100
            aload 3 /* o */
            getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
            aload 1 /* resolver */
            iload 2 /* level */
            iconst_1
            invokevirtual org.h2.expression.Expression.mapColumns:(Lorg/h2/table/ColumnResolver;II)V
        end local 3 // org.h2.command.dml.SelectOrderBy o
        10: .line 99
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 103
      StackMap locals: org.h2.expression.analysis.Window org.h2.table.ColumnResolver int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            ifnull 13
        12: .line 104
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            aload 1 /* resolver */
            iload 2 /* level */
            iconst_1
            invokevirtual org.h2.expression.analysis.WindowFrame.mapColumns:(Lorg/h2/table/ColumnResolver;II)V
        13: .line 106
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int level
        end local 1 // org.h2.table.ColumnResolver resolver
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/h2/expression/analysis/Window;
            0   14     1  resolver  Lorg/h2/table/ColumnResolver;
            0   14     2     level  I
            4    5     3         e  Lorg/h2/expression/Expression;
            9   10     3         o  Lorg/h2/command/dml/SelectOrderBy;
    MethodParameters:
          Name  Flags
      resolver  
      level     

  private void resolveWindows(org.h2.table.ColumnResolver);
    descriptor: (Lorg/h2/table/ColumnResolver;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.h2.expression.analysis.Window this
        start local 1 // org.h2.table.ColumnResolver resolver
         0: .line 109
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.parent:Ljava/lang/String;
            ifnull 16
         1: .line 110
            aload 1 /* resolver */
            invokeinterface org.h2.table.ColumnResolver.getSelect:()Lorg/h2/command/dml/Select;
            astore 2 /* select */
        start local 2 // org.h2.command.dml.Select select
         2: .line 112
            goto 6
        start local 3 // org.h2.expression.analysis.Window p
         3: .line 113
      StackMap locals: org.h2.command.dml.Select org.h2.expression.analysis.Window
      StackMap stack:
            aload 2 /* select */
            invokevirtual org.h2.command.dml.Select.getParentSelect:()Lorg/h2/command/dml/Select;
            astore 2 /* select */
         4: .line 114
            aload 2 /* select */
            ifnonnull 6
         5: .line 115
            ldc 90136
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.parent:Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 3 // org.h2.expression.analysis.Window p
         6: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* select */
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.parent:Ljava/lang/String;
            invokevirtual org.h2.command.dml.Select.getWindow:(Ljava/lang/String;)Lorg/h2/expression/analysis/Window;
            dup
            astore 3 /* p */
        start local 3 // org.h2.expression.analysis.Window p
         7: ifnull 3
         8: .line 118
            aload 3 /* p */
            aload 1 /* resolver */
            invokevirtual org.h2.expression.analysis.Window.resolveWindows:(Lorg/h2/table/ColumnResolver;)V
         9: .line 119
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            ifnonnull 11
        10: .line 120
            aload 0 /* this */
            aload 3 /* p */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            putfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
        11: .line 122
      StackMap locals: org.h2.expression.analysis.Window
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            ifnonnull 13
        12: .line 123
            aload 0 /* this */
            aload 3 /* p */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            putfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
        13: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            ifnonnull 15
        14: .line 126
            aload 0 /* this */
            aload 3 /* p */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            putfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
        15: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.h2.expression.analysis.Window.parent:Ljava/lang/String;
        end local 3 // org.h2.expression.analysis.Window p
        end local 2 // org.h2.command.dml.Select select
        16: .line 130
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.h2.table.ColumnResolver resolver
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/h2/expression/analysis/Window;
            0   17     1  resolver  Lorg/h2/table/ColumnResolver;
            2   16     2    select  Lorg/h2/command/dml/Select;
            3    6     3         p  Lorg/h2/expression/analysis/Window;
            7   16     3         p  Lorg/h2/expression/analysis/Window;
    MethodParameters:
          Name  Flags
      resolver  

  public void optimize(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.h2.expression.analysis.Window this
        start local 1 // org.h2.engine.Session session
         0: .line 139
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            ifnull 6
         1: .line 140
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 141
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            iload 2 /* i */
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.expression.Expression
            aload 1 /* session */
            invokevirtual org.h2.expression.Expression.optimize:(Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 140
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 3
        end local 2 // int i
         6: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            ifnull 11
         7: .line 145
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.h2.expression.analysis.Window org.h2.engine.Session top java.util.Iterator
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.command.dml.SelectOrderBy
            astore 2 /* o */
        start local 2 // org.h2.command.dml.SelectOrderBy o
         9: .line 146
            aload 2 /* o */
            aload 2 /* o */
            getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
            aload 1 /* session */
            invokevirtual org.h2.expression.Expression.optimize:(Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
            putfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
        end local 2 // org.h2.command.dml.SelectOrderBy o
        10: .line 145
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 149
      StackMap locals: org.h2.expression.analysis.Window org.h2.engine.Session
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            ifnull 13
        12: .line 150
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            aload 1 /* session */
            invokevirtual org.h2.expression.analysis.WindowFrame.optimize:(Lorg/h2/engine/Session;)V
        13: .line 152
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/h2/expression/analysis/Window;
            0   14     1  session  Lorg/h2/engine/Session;
            2    6     2        i  I
            9   10     2        o  Lorg/h2/command/dml/SelectOrderBy;
    MethodParameters:
         Name  Flags
      session  

  public void setEvaluatable(org.h2.table.TableFilter, boolean);
    descriptor: (Lorg/h2/table/TableFilter;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.h2.expression.analysis.Window this
        start local 1 // org.h2.table.TableFilter tableFilter
        start local 2 // boolean value
         0: .line 165
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            ifnull 5
         1: .line 166
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.h2.expression.analysis.Window org.h2.table.TableFilter int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.expression.Expression
            astore 3 /* e */
        start local 3 // org.h2.expression.Expression e
         3: .line 167
            aload 3 /* e */
            aload 1 /* tableFilter */
            iload 2 /* value */
            invokevirtual org.h2.expression.Expression.setEvaluatable:(Lorg/h2/table/TableFilter;Z)V
        end local 3 // org.h2.expression.Expression e
         4: .line 166
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 170
      StackMap locals: org.h2.expression.analysis.Window org.h2.table.TableFilter int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            ifnull 10
         6: .line 171
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.h2.expression.analysis.Window org.h2.table.TableFilter int top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.command.dml.SelectOrderBy
            astore 3 /* o */
        start local 3 // org.h2.command.dml.SelectOrderBy o
         8: .line 172
            aload 3 /* o */
            getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
            aload 1 /* tableFilter */
            iload 2 /* value */
            invokevirtual org.h2.expression.Expression.setEvaluatable:(Lorg/h2/table/TableFilter;Z)V
        end local 3 // org.h2.command.dml.SelectOrderBy o
         9: .line 171
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 175
      StackMap locals: org.h2.expression.analysis.Window org.h2.table.TableFilter int
      StackMap stack:
            return
        end local 2 // boolean value
        end local 1 // org.h2.table.TableFilter tableFilter
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/h2/expression/analysis/Window;
            0   11     1  tableFilter  Lorg/h2/table/TableFilter;
            0   11     2        value  Z
            3    4     3            e  Lorg/h2/expression/Expression;
            8    9     3            o  Lorg/h2/command/dml/SelectOrderBy;
    MethodParameters:
             Name  Flags
      tableFilter  
      value        

  public java.util.ArrayList<org.h2.command.dml.SelectOrderBy> getOrderBy();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.analysis.Window this
         0: .line 183
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            areturn
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/analysis/Window;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/command/dml/SelectOrderBy;>;

  public org.h2.expression.analysis.WindowFrame getWindowFrame();
    descriptor: ()Lorg/h2/expression/analysis/WindowFrame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.analysis.Window this
         0: .line 192
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            areturn
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/analysis/Window;

  public org.h2.value.Value getCurrentKey(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.h2.expression.analysis.Window this
        start local 1 // org.h2.engine.Session session
         0: .line 203
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            ifnonnull 2
         1: .line 204
            aconst_null
            areturn
         2: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* len */
        start local 2 // int len
         3: .line 207
            iload 2 /* len */
            iconst_1
            if_icmpne 5
         4: .line 208
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.expression.Expression
            aload 1 /* session */
            invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
            areturn
         5: .line 210
      StackMap locals: int
      StackMap stack:
            iload 2 /* len */
            anewarray org.h2.value.Value
            astore 3 /* keyValues */
        start local 3 // org.h2.value.Value[] keyValues
         6: .line 212
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 11
         8: .line 213
      StackMap locals: org.h2.value.Value[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.expression.Expression
            astore 5 /* expr */
        start local 5 // org.h2.expression.Expression expr
         9: .line 214
            aload 3 /* keyValues */
            iload 4 /* i */
            aload 5 /* expr */
            aload 1 /* session */
            invokevirtual org.h2.expression.Expression.getValue:(Lorg/h2/engine/Session;)Lorg/h2/value/Value;
            aastore
        end local 5 // org.h2.expression.Expression expr
        10: .line 212
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 8
        end local 4 // int i
        12: .line 216
            aload 3 /* keyValues */
            invokestatic org.h2.value.ValueRow.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueRow;
            areturn
        end local 3 // org.h2.value.Value[] keyValues
        end local 2 // int len
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/h2/expression/analysis/Window;
            0   13     1    session  Lorg/h2/engine/Session;
            3   13     2        len  I
            6   13     3  keyValues  [Lorg/h2/value/Value;
            7   12     4          i  I
            9   10     5       expr  Lorg/h2/expression/Expression;
    MethodParameters:
         Name  Flags
      session  

  public java.lang.StringBuilder getSQL(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.h2.expression.analysis.Window this
        start local 1 // java.lang.StringBuilder builder
        start local 2 // boolean alwaysQuote
         0: .line 230
            aload 1 /* builder */
            ldc "OVER ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 231
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            ifnull 10
         2: .line 232
            aload 1 /* builder */
            ldc "PARTITION BY "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 233
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 234
      StackMap locals: int
      StackMap stack:
            iload 3 /* i */
            ifle 7
         6: .line 235
            aload 1 /* builder */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.expression.Expression
            aload 1 /* builder */
            iload 2 /* alwaysQuote */
            invokevirtual org.h2.expression.Expression.getUnenclosedSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
            pop
         8: .line 233
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 5
        end local 3 // int i
        10: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            iload 2 /* alwaysQuote */
            invokestatic org.h2.expression.analysis.Window.appendOrderBy:(Ljava/lang/StringBuilder;Ljava/util/ArrayList;Z)V
        11: .line 241
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            ifnull 15
        12: .line 242
            aload 1 /* builder */
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 40
            if_icmpeq 14
        13: .line 243
            aload 1 /* builder */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            aload 1 /* builder */
            iload 2 /* alwaysQuote */
            invokevirtual org.h2.expression.analysis.WindowFrame.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
            pop
        15: .line 247
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            areturn
        end local 2 // boolean alwaysQuote
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lorg/h2/expression/analysis/Window;
            0   16     1      builder  Ljava/lang/StringBuilder;
            0   16     2  alwaysQuote  Z
            4   10     3            i  I
    MethodParameters:
             Name  Flags
      builder      
      alwaysQuote  

  public void updateAggregate(org.h2.engine.Session, int);
    descriptor: (Lorg/h2/engine/Session;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.h2.expression.analysis.Window this
        start local 1 // org.h2.engine.Session session
        start local 2 // int stage
         0: .line 260
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            ifnull 5
         1: .line 261
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.partitionBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.h2.expression.analysis.Window org.h2.engine.Session int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.expression.Expression
            astore 3 /* expr */
        start local 3 // org.h2.expression.Expression expr
         3: .line 262
            aload 3 /* expr */
            aload 1 /* session */
            iload 2 /* stage */
            invokevirtual org.h2.expression.Expression.updateAggregate:(Lorg/h2/engine/Session;I)V
        end local 3 // org.h2.expression.Expression expr
         4: .line 261
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 265
      StackMap locals: org.h2.expression.analysis.Window org.h2.engine.Session int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            ifnull 10
         6: .line 266
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.orderBy:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.h2.expression.analysis.Window org.h2.engine.Session int top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.command.dml.SelectOrderBy
            astore 3 /* o */
        start local 3 // org.h2.command.dml.SelectOrderBy o
         8: .line 267
            aload 3 /* o */
            getfield org.h2.command.dml.SelectOrderBy.expression:Lorg/h2/expression/Expression;
            aload 1 /* session */
            iload 2 /* stage */
            invokevirtual org.h2.expression.Expression.updateAggregate:(Lorg/h2/engine/Session;I)V
        end local 3 // org.h2.command.dml.SelectOrderBy o
         9: .line 266
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 270
      StackMap locals: org.h2.expression.analysis.Window org.h2.engine.Session int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            ifnull 12
        11: .line 271
            aload 0 /* this */
            getfield org.h2.expression.analysis.Window.frame:Lorg/h2/expression/analysis/WindowFrame;
            aload 1 /* session */
            iload 2 /* stage */
            invokevirtual org.h2.expression.analysis.WindowFrame.updateAggregate:(Lorg/h2/engine/Session;I)V
        12: .line 273
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int stage
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/h2/expression/analysis/Window;
            0   13     1  session  Lorg/h2/engine/Session;
            0   13     2    stage  I
            3    4     3     expr  Lorg/h2/expression/Expression;
            8    9     3        o  Lorg/h2/command/dml/SelectOrderBy;
    MethodParameters:
         Name  Flags
      session  
      stage    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.expression.analysis.Window this
         0: .line 277
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iconst_0
            invokevirtual org.h2.expression.analysis.Window.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.h2.expression.analysis.Window this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/analysis/Window;
}
SourceFile: "Window.java"