public class org.hsqldb.types.RowType extends org.hsqldb.types.Type
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.types.RowType
  super_class: org.hsqldb.types.Type
{
  final org.hsqldb.types.Type[] dataTypes;
    descriptor: [Lorg/hsqldb/types/Type;
    flags: (0x0010) ACC_FINAL

  org.hsqldb.types.TypedComparator comparator;
    descriptor: Lorg/hsqldb/types/TypedComparator;
    flags: (0x0000) 

  public void <init>(org.hsqldb.types.Type[]);
    descriptor: ([Lorg/hsqldb/types/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.types.Type[] dataTypes
         0: .line 56
            aload 0 /* this */
            bipush 19
            bipush 19
            lconst_0
            iconst_0
            invokespecial org.hsqldb.types.Type.<init>:(IIJI)V
         1: .line 58
            aload 0 /* this */
            aload 1 /* dataTypes */
            putfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
         2: .line 59
            return
        end local 1 // org.hsqldb.types.Type[] dataTypes
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/hsqldb/types/RowType;
            0    3     1  dataTypes  [Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      dataTypes  

  public int displaySize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 62
            iconst_0
            ireturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public int getJDBCTypeCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 66
            iconst_0
            ireturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public java.lang.Class getJDBCClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 70
            ldc Ljava/sql/ResultSet;
            areturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public java.lang.String getJDBCClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 74
            ldc "java.sql.ResultSet"
            areturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public int getJDBCScale();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 78
            iconst_0
            ireturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public int getJDBCPrecision();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 82
            iconst_0
            ireturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public int getSQLGenericTypeCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 86
            bipush 19
            ireturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public boolean isRowType();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 90
            iconst_1
            ireturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public int getDegree();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 94
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            ireturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public java.lang.String getNameString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 99
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 101
            aload 1 /* sb */
            ldc "ROW"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 102
            aload 1 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 104
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 105
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 2 /* i */
            ifle 7
         6: .line 106
            aload 1 /* sb */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.getDefinition:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 104
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 5
        end local 2 // int i
        10: .line 112
            aload 1 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 114
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/hsqldb/types/RowType;
            1   12     1    sb  Ljava/lang/StringBuilder;
            4   10     2     i  I

  public java.lang.String getDefinition();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 118
            aload 0 /* this */
            invokevirtual org.hsqldb.types.RowType.getNameString:()Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public int compare(org.hsqldb.Session, java.lang.Object, java.lang.Object);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object a
        start local 3 // java.lang.Object b
         0: .line 123
            aload 2 /* a */
            aload 3 /* b */
            if_acmpne 2
         1: .line 124
            iconst_0
            ireturn
         2: .line 127
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            ifnonnull 4
         3: .line 128
            iconst_m1
            ireturn
         4: .line 131
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            ifnonnull 6
         5: .line 132
            iconst_1
            ireturn
         6: .line 135
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.Object[]
            astore 4 /* arra */
        start local 4 // java.lang.Object[] arra
         7: .line 136
            aload 3 /* b */
            checkcast java.lang.Object[]
            astore 5 /* arrb */
        start local 5 // java.lang.Object[] arrb
         8: .line 137
            aload 4 /* arra */
            arraylength
            istore 6 /* length */
        start local 6 // int length
         9: .line 139
            aload 5 /* arrb */
            arraylength
            iload 6 /* length */
            if_icmpge 11
        10: .line 140
            aload 5 /* arrb */
            arraylength
            istore 6 /* length */
        11: .line 143
      StackMap locals: java.lang.Object[] java.lang.Object[] int
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: goto 17
        13: .line 144
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 7 /* i */
            aaload
            aload 1 /* session */
            aload 4 /* arra */
            iload 7 /* i */
            aaload
            aload 5 /* arrb */
            iload 7 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.compare:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)I
            istore 8 /* result */
        start local 8 // int result
        14: .line 146
            iload 8 /* result */
            ifeq 16
        15: .line 147
            iload 8 /* result */
            ireturn
        end local 8 // int result
        16: .line 143
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            iload 6 /* length */
            if_icmplt 13
        end local 7 // int i
        18: .line 151
            aload 4 /* arra */
            arraylength
            aload 5 /* arrb */
            arraylength
            if_icmple 20
        19: .line 152
            iconst_1
            ireturn
        20: .line 153
      StackMap locals:
      StackMap stack:
            aload 4 /* arra */
            arraylength
            aload 5 /* arrb */
            arraylength
            if_icmpge 22
        21: .line 154
            iconst_m1
            ireturn
        22: .line 157
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // int length
        end local 5 // java.lang.Object[] arrb
        end local 4 // java.lang.Object[] arra
        end local 3 // java.lang.Object b
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lorg/hsqldb/types/RowType;
            0   23     1  session  Lorg/hsqldb/Session;
            0   23     2        a  Ljava/lang/Object;
            0   23     3        b  Ljava/lang/Object;
            7   23     4     arra  [Ljava/lang/Object;
            8   23     5     arrb  [Ljava/lang/Object;
            9   23     6   length  I
           12   18     7        i  I
           14   16     8   result  I
    MethodParameters:
         Name  Flags
      session  
      a        
      b        

  public java.lang.Object convertToTypeLimits(org.hsqldb.SessionInterface, java.lang.Object);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
         0: .line 162
            aload 2 /* a */
            ifnonnull 2
         1: .line 163
            aconst_null
            areturn
         2: .line 166
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.Object[]
            astore 3 /* arra */
        start local 3 // java.lang.Object[] arra
         3: .line 167
            aload 3 /* arra */
            arraylength
            anewarray java.lang.Object
            astore 4 /* arrb */
        start local 4 // java.lang.Object[] arrb
         4: .line 169
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 8
         6: .line 170
      StackMap locals: java.lang.Object[] java.lang.Object[] int
      StackMap stack:
            aload 4 /* arrb */
            iload 5 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 5 /* i */
            aaload
            aload 1 /* session */
            aload 3 /* arra */
            iload 5 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            aastore
         7: .line 169
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 3 /* arra */
            arraylength
            if_icmplt 6
        end local 5 // int i
         9: .line 173
            aload 4 /* arrb */
            areturn
        end local 4 // java.lang.Object[] arrb
        end local 3 // java.lang.Object[] arra
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/hsqldb/types/RowType;
            0   10     1  session  Lorg/hsqldb/SessionInterface;
            0   10     2        a  Ljava/lang/Object;
            3   10     3     arra  [Ljava/lang/Object;
            4   10     4     arrb  [Ljava/lang/Object;
            5    9     5        i  I
    MethodParameters:
         Name  Flags
      session  
      a        

  public java.lang.Object convertToType(org.hsqldb.SessionInterface, java.lang.Object, org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
        start local 3 // org.hsqldb.types.Type otherType
         0: .line 179
            aload 2 /* a */
            ifnonnull 2
         1: .line 180
            aconst_null
            areturn
         2: .line 183
      StackMap locals:
      StackMap stack:
            aload 3 /* otherType */
            ifnonnull 4
         3: .line 184
            aload 2 /* a */
            areturn
         4: .line 187
      StackMap locals:
      StackMap stack:
            aload 3 /* otherType */
            invokevirtual org.hsqldb.types.Type.isRowType:()Z
            ifne 6
         5: .line 188
            sipush 5562
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         6: .line 191
      StackMap locals:
      StackMap stack:
            aload 3 /* otherType */
            checkcast org.hsqldb.types.RowType
            invokevirtual org.hsqldb.types.RowType.getTypesArray:()[Lorg/hsqldb/types/Type;
            astore 4 /* otherTypes */
        start local 4 // org.hsqldb.types.Type[] otherTypes
         7: .line 193
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            aload 4 /* otherTypes */
            arraylength
            if_icmpeq 9
         8: .line 194
            sipush 5564
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         9: .line 197
      StackMap locals: org.hsqldb.types.Type[]
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.Object[]
            astore 5 /* arra */
        start local 5 // java.lang.Object[] arra
        10: .line 198
            aload 5 /* arra */
            arraylength
            anewarray java.lang.Object
            astore 6 /* arrb */
        start local 6 // java.lang.Object[] arrb
        11: .line 200
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: goto 17
        13: .line 201
      StackMap locals: java.lang.Object[] java.lang.Object[] int
      StackMap stack:
            aload 6 /* arrb */
            iload 7 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 7 /* i */
            aaload
            aload 1 /* session */
            aload 5 /* arra */
            iload 7 /* i */
            aaload
        14: .line 202
            aload 4 /* otherTypes */
            iload 7 /* i */
            aaload
        15: .line 201
            invokevirtual org.hsqldb.types.Type.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
            aastore
        16: .line 200
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            aload 5 /* arra */
            arraylength
            if_icmplt 13
        end local 7 // int i
        18: .line 205
            aload 6 /* arrb */
            areturn
        end local 6 // java.lang.Object[] arrb
        end local 5 // java.lang.Object[] arra
        end local 4 // org.hsqldb.types.Type[] otherTypes
        end local 3 // org.hsqldb.types.Type otherType
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/hsqldb/types/RowType;
            0   19     1     session  Lorg/hsqldb/SessionInterface;
            0   19     2           a  Ljava/lang/Object;
            0   19     3   otherType  Lorg/hsqldb/types/Type;
            7   19     4  otherTypes  [Lorg/hsqldb/types/Type;
           10   19     5        arra  [Ljava/lang/Object;
           11   19     6        arrb  [Ljava/lang/Object;
           12   18     7           i  I
    MethodParameters:
           Name  Flags
      session    
      a          
      otherType  

  public java.lang.Object convertToDefaultType(org.hsqldb.SessionInterface, java.lang.Object);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.SessionInterface sessionInterface
        start local 2 // java.lang.Object o
         0: .line 210
            aload 2 /* o */
            areturn
        end local 2 // java.lang.Object o
        end local 1 // org.hsqldb.SessionInterface sessionInterface
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/hsqldb/types/RowType;
            0    1     1  sessionInterface  Lorg/hsqldb/SessionInterface;
            0    1     2                 o  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      sessionInterface  
      o                 

  public java.lang.String convertToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // java.lang.Object a
         0: .line 215
            aload 1 /* a */
            ifnonnull 2
         1: .line 216
            aconst_null
            areturn
         2: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual org.hsqldb.types.RowType.convertToSQLString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object a
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/types/RowType;
            0    3     1     a  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     

  public java.lang.String convertToSQLString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // java.lang.Object a
         0: .line 224
            aload 1 /* a */
            ifnonnull 2
         1: .line 225
            ldc "NULL"
            areturn
         2: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            checkcast java.lang.Object[]
            astore 2 /* array */
        start local 2 // java.lang.Object[] array
         3: .line 229
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         4: .line 231
            aload 3 /* sb */
            ldc "ROW"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 232
            aload 3 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 234
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 13
         8: .line 235
      StackMap locals: java.lang.Object[] java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            ifle 10
         9: .line 236
            aload 3 /* sb */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 4 /* i */
            aaload
            aload 2 /* array */
            iload 4 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.convertToSQLString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* string */
        start local 5 // java.lang.String string
        11: .line 241
            aload 3 /* sb */
            aload 5 /* string */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.lang.String string
        12: .line 234
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 2 /* array */
            arraylength
            if_icmplt 8
        end local 4 // int i
        14: .line 244
            aload 3 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 246
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.lang.Object[] array
        end local 1 // java.lang.Object a
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lorg/hsqldb/types/RowType;
            0   16     1       a  Ljava/lang/Object;
            3   16     2   array  [Ljava/lang/Object;
            4   16     3      sb  Ljava/lang/StringBuilder;
            7   14     4       i  I
           11   12     5  string  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      a     

  public boolean canConvertFrom(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.types.Type otherType
         0: .line 251
            aload 1 /* otherType */
            ifnonnull 2
         1: .line 252
            iconst_1
            ireturn
         2: .line 255
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            invokevirtual org.hsqldb.types.Type.isRowType:()Z
            ifne 4
         3: .line 256
            iconst_0
            ireturn
         4: .line 259
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            checkcast org.hsqldb.types.RowType
            invokevirtual org.hsqldb.types.RowType.getTypesArray:()[Lorg/hsqldb/types/Type;
            astore 2 /* otherTypes */
        start local 2 // org.hsqldb.types.Type[] otherTypes
         5: .line 261
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            aload 2 /* otherTypes */
            arraylength
            if_icmpeq 7
         6: .line 262
            iconst_0
            ireturn
         7: .line 265
      StackMap locals: org.hsqldb.types.Type[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 266
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 3 /* i */
            aaload
            aload 2 /* otherTypes */
            iload 3 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.canConvertFrom:(Lorg/hsqldb/types/Type;)Z
            ifne 11
        10: .line 267
            iconst_0
            ireturn
        11: .line 265
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 9
        end local 3 // int i
        13: .line 271
            iconst_1
            ireturn
        end local 2 // org.hsqldb.types.Type[] otherTypes
        end local 1 // org.hsqldb.types.Type otherType
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/hsqldb/types/RowType;
            0   14     1   otherType  Lorg/hsqldb/types/Type;
            5   14     2  otherTypes  [Lorg/hsqldb/types/Type;
            8   13     3           i  I
    MethodParameters:
           Name  Flags
      otherType  

  public boolean canBeAssignedFrom(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.types.Type otherType
         0: .line 276
            aload 1 /* otherType */
            ifnonnull 2
         1: .line 277
            iconst_1
            ireturn
         2: .line 280
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            invokevirtual org.hsqldb.types.Type.isRowType:()Z
            ifne 4
         3: .line 281
            iconst_0
            ireturn
         4: .line 284
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            checkcast org.hsqldb.types.RowType
            invokevirtual org.hsqldb.types.RowType.getTypesArray:()[Lorg/hsqldb/types/Type;
            astore 2 /* otherTypes */
        start local 2 // org.hsqldb.types.Type[] otherTypes
         5: .line 286
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            aload 2 /* otherTypes */
            arraylength
            if_icmpeq 7
         6: .line 287
            iconst_0
            ireturn
         7: .line 290
      StackMap locals: org.hsqldb.types.Type[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 291
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 3 /* i */
            aaload
            aload 2 /* otherTypes */
            iload 3 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.canBeAssignedFrom:(Lorg/hsqldb/types/Type;)Z
            ifne 11
        10: .line 292
            iconst_0
            ireturn
        11: .line 290
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 9
        end local 3 // int i
        13: .line 296
            iconst_1
            ireturn
        end local 2 // org.hsqldb.types.Type[] otherTypes
        end local 1 // org.hsqldb.types.Type otherType
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/hsqldb/types/RowType;
            0   14     1   otherType  Lorg/hsqldb/types/Type;
            5   14     2  otherTypes  [Lorg/hsqldb/types/Type;
            8   13     3           i  I
    MethodParameters:
           Name  Flags
      otherType  

  public org.hsqldb.types.Type getAggregateType(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.types.Type other
         0: .line 301
            aload 1 /* other */
            ifnonnull 2
         1: .line 302
            aload 0 /* this */
            areturn
         2: .line 305
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getstatic org.hsqldb.types.RowType.SQL_ALL_TYPES:Lorg/hsqldb/types/Type;
            if_acmpne 4
         3: .line 306
            aload 0 /* this */
            areturn
         4: .line 309
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 6
         5: .line 310
            aload 0 /* this */
            areturn
         6: .line 313
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokevirtual org.hsqldb.types.Type.isRowType:()Z
            ifne 8
         7: .line 314
            sipush 5562
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         8: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            anewarray org.hsqldb.types.Type
            astore 2 /* newTypes */
        start local 2 // org.hsqldb.types.Type[] newTypes
         9: .line 318
            aload 1 /* other */
            checkcast org.hsqldb.types.RowType
            invokevirtual org.hsqldb.types.RowType.getTypesArray:()[Lorg/hsqldb/types/Type;
            astore 3 /* otherTypes */
        start local 3 // org.hsqldb.types.Type[] otherTypes
        10: .line 320
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            aload 3 /* otherTypes */
            arraylength
            if_icmpeq 12
        11: .line 321
            sipush 5564
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        12: .line 324
      StackMap locals: org.hsqldb.types.Type[] org.hsqldb.types.Type[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 16
        14: .line 325
      StackMap locals: int
      StackMap stack:
            aload 2 /* newTypes */
            iload 4 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 4 /* i */
            aaload
            aload 3 /* otherTypes */
            iload 4 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.getAggregateType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
            aastore
        15: .line 324
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 14
        end local 4 // int i
        17: .line 328
            new org.hsqldb.types.RowType
            dup
            aload 2 /* newTypes */
            invokespecial org.hsqldb.types.RowType.<init>:([Lorg/hsqldb/types/Type;)V
            areturn
        end local 3 // org.hsqldb.types.Type[] otherTypes
        end local 2 // org.hsqldb.types.Type[] newTypes
        end local 1 // org.hsqldb.types.Type other
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/hsqldb/types/RowType;
            0   18     1       other  Lorg/hsqldb/types/Type;
            9   18     2    newTypes  [Lorg/hsqldb/types/Type;
           10   18     3  otherTypes  [Lorg/hsqldb/types/Type;
           13   17     4           i  I
    MethodParameters:
       Name  Flags
      other  

  public org.hsqldb.types.Type getCombinedType(org.hsqldb.Session, org.hsqldb.types.Type, int);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/types/Type;I)Lorg/hsqldb/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.types.Type other
        start local 3 // int operation
         0: .line 333
            iload 3 /* operation */
            bipush 36
            if_icmpeq 2
         1: .line 334
            aload 0 /* this */
            aload 2 /* other */
            invokevirtual org.hsqldb.types.RowType.getAggregateType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
            areturn
         2: .line 337
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            ifnonnull 4
         3: .line 338
            aload 0 /* this */
            areturn
         4: .line 341
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            invokevirtual org.hsqldb.types.Type.isRowType:()Z
            ifne 6
         5: .line 342
            sipush 5562
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         6: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            anewarray org.hsqldb.types.Type
            astore 4 /* newTypes */
        start local 4 // org.hsqldb.types.Type[] newTypes
         7: .line 346
            aload 2 /* other */
            checkcast org.hsqldb.types.RowType
            invokevirtual org.hsqldb.types.RowType.getTypesArray:()[Lorg/hsqldb/types/Type;
            astore 5 /* otherTypes */
        start local 5 // org.hsqldb.types.Type[] otherTypes
         8: .line 348
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            aload 5 /* otherTypes */
            arraylength
            if_icmpeq 10
         9: .line 349
            sipush 5564
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        10: .line 352
      StackMap locals: org.hsqldb.types.Type[] org.hsqldb.types.Type[]
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        11: goto 14
        12: .line 353
      StackMap locals: int
      StackMap stack:
            aload 4 /* newTypes */
            iload 6 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 6 /* i */
            aaload
            aload 5 /* otherTypes */
            iload 6 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.getAggregateType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
            aastore
        13: .line 352
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 12
        end local 6 // int i
        15: .line 356
            new org.hsqldb.types.RowType
            dup
            aload 4 /* newTypes */
            invokespecial org.hsqldb.types.RowType.<init>:([Lorg/hsqldb/types/Type;)V
            areturn
        end local 5 // org.hsqldb.types.Type[] otherTypes
        end local 4 // org.hsqldb.types.Type[] newTypes
        end local 3 // int operation
        end local 2 // org.hsqldb.types.Type other
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/hsqldb/types/RowType;
            0   16     1     session  Lorg/hsqldb/Session;
            0   16     2       other  Lorg/hsqldb/types/Type;
            0   16     3   operation  I
            7   16     4    newTypes  [Lorg/hsqldb/types/Type;
            8   16     5  otherTypes  [Lorg/hsqldb/types/Type;
           11   15     6           i  I
    MethodParameters:
           Name  Flags
      session    
      other      
      operation  

  public org.hsqldb.types.Type[] getTypesArray();
    descriptor: ()[Lorg/hsqldb/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.RowType this
         0: .line 360
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            areturn
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/RowType;

  public int compare(org.hsqldb.Session, java.lang.Object, java.lang.Object, org.hsqldb.SortAndSlice);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;Lorg/hsqldb/SortAndSlice;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object a
        start local 3 // java.lang.Object b
        start local 4 // org.hsqldb.SortAndSlice sort
         0: .line 366
            aload 2 /* a */
            aload 3 /* b */
            if_acmpne 2
         1: .line 367
            iconst_0
            ireturn
         2: .line 371
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            ifnonnull 4
         3: .line 372
            iconst_m1
            ireturn
         4: .line 375
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            ifnonnull 6
         5: .line 376
            iconst_1
            ireturn
         6: .line 379
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.Object[]
            astore 5 /* arra */
        start local 5 // java.lang.Object[] arra
         7: .line 380
            aload 3 /* b */
            checkcast java.lang.Object[]
            astore 6 /* arrb */
        start local 6 // java.lang.Object[] arrb
         8: .line 381
            aload 4 /* sort */
            getfield org.hsqldb.SortAndSlice.columnCount:I
            istore 7 /* length */
        start local 7 // int length
         9: .line 383
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        10: goto 27
        11: .line 384
      StackMap locals: org.hsqldb.types.RowType org.hsqldb.Session java.lang.Object java.lang.Object org.hsqldb.SortAndSlice java.lang.Object[] java.lang.Object[] int int
      StackMap stack:
            aload 4 /* sort */
            getfield org.hsqldb.SortAndSlice.sortOrder:[I
            iload 8 /* i */
            iaload
            istore 9 /* pos */
        start local 9 // int pos
        12: .line 386
            aload 5 /* arra */
            iload 9 /* pos */
            aaload
            astore 2 /* a */
        13: .line 387
            aload 6 /* arrb */
            iload 9 /* pos */
            aaload
            astore 3 /* b */
        14: .line 389
            aload 2 /* a */
            aload 3 /* b */
            if_acmpne 16
        15: .line 390
            goto 26
        16: .line 393
      StackMap locals: int
      StackMap stack:
            aload 4 /* sort */
            getfield org.hsqldb.SortAndSlice.sortNullsLast:[Z
            iload 8 /* i */
            baload
            ifeq 21
        17: .line 394
            aload 2 /* a */
            ifnonnull 19
        18: .line 395
            iconst_1
            ireturn
        19: .line 398
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            ifnonnull 21
        20: .line 399
            iconst_m1
            ireturn
        21: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 9 /* pos */
            aaload
            aload 1 /* session */
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual org.hsqldb.types.Type.compare:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)I
            istore 10 /* result */
        start local 10 // int result
        22: .line 405
            iload 10 /* result */
            ifeq 26
        23: .line 406
            aload 4 /* sort */
            getfield org.hsqldb.SortAndSlice.sortDescending:[Z
            iload 8 /* i */
            baload
            ifeq 25
        24: .line 407
            iload 10 /* result */
            ineg
            ireturn
        25: .line 410
      StackMap locals: int
      StackMap stack:
            iload 10 /* result */
            ireturn
        end local 10 // int result
        end local 9 // int pos
        26: .line 383
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 8 /* i */
            iload 7 /* length */
            if_icmplt 11
        end local 8 // int i
        28: .line 414
            iconst_0
            ireturn
        end local 7 // int length
        end local 6 // java.lang.Object[] arrb
        end local 5 // java.lang.Object[] arra
        end local 4 // org.hsqldb.SortAndSlice sort
        end local 3 // java.lang.Object b
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   29     0     this  Lorg/hsqldb/types/RowType;
            0   29     1  session  Lorg/hsqldb/Session;
            0   29     2        a  Ljava/lang/Object;
            0   29     3        b  Ljava/lang/Object;
            0   29     4     sort  Lorg/hsqldb/SortAndSlice;
            7   29     5     arra  [Ljava/lang/Object;
            8   29     6     arrb  [Ljava/lang/Object;
            9   29     7   length  I
           10   28     8        i  I
           12   26     9      pos  I
           22   26    10   result  I
    MethodParameters:
         Name  Flags
      session  
      a        
      b        
      sort     

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // java.lang.Object other
         0: .line 419
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 2
         1: .line 420
            iconst_1
            ireturn
         2: .line 423
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.hsqldb.types.RowType
            ifeq 14
         3: .line 424
            aload 0 /* this */
            aload 1 /* other */
            invokespecial org.hsqldb.types.Type.equals:(Ljava/lang/Object;)Z
            ifeq 14
         4: .line 425
            aload 1 /* other */
            checkcast org.hsqldb.types.RowType
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            astore 2 /* otherTypes */
        start local 2 // org.hsqldb.types.Type[] otherTypes
         5: .line 427
            aload 2 /* otherTypes */
            arraylength
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmpeq 7
         6: .line 428
            iconst_0
            ireturn
         7: .line 431
      StackMap locals: org.hsqldb.types.Type[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 432
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 3 /* i */
            aaload
            aload 2 /* otherTypes */
            iload 3 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 433
            iconst_0
            ireturn
        11: .line 431
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 9
        end local 3 // int i
        13: .line 437
            iconst_1
            ireturn
        end local 2 // org.hsqldb.types.Type[] otherTypes
        14: .line 441
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/hsqldb/types/RowType;
            0   15     1       other  Ljava/lang/Object;
            5   14     2  otherTypes  [Lorg/hsqldb/types/Type;
            8   13     3           i  I
    MethodParameters:
       Name  Flags
      other  

  public int hashCode(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // java.lang.Object a
         0: .line 446
            aload 1 /* a */
            ifnonnull 2
         1: .line 447
            iconst_0
            ireturn
         2: .line 450
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* hash */
        start local 2 // int hash
         3: .line 451
            aload 1 /* a */
            checkcast java.lang.Object[]
            astore 3 /* array */
        start local 3 // java.lang.Object[] array
         4: .line 453
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 454
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            iload 2 /* hash */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            iload 4 /* i */
            aaload
            aload 3 /* array */
            iload 4 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.hashCode:(Ljava/lang/Object;)I
            iadd
            istore 2 /* hash */
         7: .line 453
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmpge 9
            iload 4 /* i */
            iconst_4
            if_icmplt 6
        end local 4 // int i
         9: .line 457
      StackMap locals:
      StackMap stack:
            iload 2 /* hash */
            ireturn
        end local 3 // java.lang.Object[] array
        end local 2 // int hash
        end local 1 // java.lang.Object a
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/hsqldb/types/RowType;
            0   10     1      a  Ljava/lang/Object;
            3   10     2   hash  I
            4   10     3  array  [Ljava/lang/Object;
            5    9     4      i  I
    MethodParameters:
      Name  Flags
      a     

  synchronized org.hsqldb.types.TypedComparator getComparator(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)Lorg/hsqldb/types/TypedComparator;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hsqldb.types.RowType this
        start local 1 // org.hsqldb.Session session
         0: .line 462
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.comparator:Lorg/hsqldb/types/TypedComparator;
            ifnonnull 6
         1: .line 463
            new org.hsqldb.types.TypedComparator
            dup
            aload 1 /* session */
            invokespecial org.hsqldb.types.TypedComparator.<init>:(Lorg/hsqldb/Session;)V
            astore 2 /* c */
        start local 2 // org.hsqldb.types.TypedComparator c
         2: .line 464
            new org.hsqldb.SortAndSlice
            dup
            invokespecial org.hsqldb.SortAndSlice.<init>:()V
            astore 3 /* sort */
        start local 3 // org.hsqldb.SortAndSlice sort
         3: .line 466
            aload 3 /* sort */
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.dataTypes:[Lorg/hsqldb/types/Type;
            arraylength
            invokevirtual org.hsqldb.SortAndSlice.prepareMultiColumn:(I)V
         4: .line 467
            aload 2 /* c */
            aload 0 /* this */
            aload 3 /* sort */
            invokevirtual org.hsqldb.types.TypedComparator.setType:(Lorg/hsqldb/types/Type;Lorg/hsqldb/SortAndSlice;)V
         5: .line 469
            aload 0 /* this */
            aload 2 /* c */
            putfield org.hsqldb.types.RowType.comparator:Lorg/hsqldb/types/TypedComparator;
        end local 3 // org.hsqldb.SortAndSlice sort
        end local 2 // org.hsqldb.types.TypedComparator c
         6: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.RowType.comparator:Lorg/hsqldb/types/TypedComparator;
            areturn
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.RowType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/hsqldb/types/RowType;
            0    7     1  session  Lorg/hsqldb/Session;
            2    6     2        c  Lorg/hsqldb/types/TypedComparator;
            3    6     3     sort  Lorg/hsqldb/SortAndSlice;
    MethodParameters:
         Name  Flags
      session  

  public static java.lang.String convertToSQLString(java.lang.Object[], org.hsqldb.types.Type[], int);
    descriptor: ([Ljava/lang/Object;[Lorg/hsqldb/types/Type;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.Object[] array
        start local 1 // org.hsqldb.types.Type[] types
        start local 2 // int maxUnitLength
         0: .line 478
            aload 0 /* array */
            ifnonnull 2
         1: .line 479
            ldc "NULL"
            areturn
         2: .line 482
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         3: .line 484
            aload 3 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 486
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 15
         6: .line 489
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            ifle 8
         7: .line 490
            aload 3 /* sb */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 493
      StackMap locals:
      StackMap stack:
            aload 1 /* types */
            iload 4 /* i */
            aaload
            aload 0 /* array */
            iload 4 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.convertToSQLString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* string */
        start local 5 // java.lang.String string
         9: .line 495
            iload 2 /* maxUnitLength */
            bipush 10
            if_icmple 13
            aload 5 /* string */
            invokevirtual java.lang.String.length:()I
            iload 2 /* maxUnitLength */
            if_icmple 13
        10: .line 496
            aload 3 /* sb */
            aload 5 /* string */
            iconst_0
            iload 2 /* maxUnitLength */
            iconst_4
            isub
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        11: .line 497
            aload 3 /* sb */
            ldc " ..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 498
            goto 14
        13: .line 499
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* sb */
            aload 5 /* string */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.lang.String string
        14: .line 486
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 6
        end local 4 // int i
        16: .line 503
            aload 3 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        17: .line 505
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // int maxUnitLength
        end local 1 // org.hsqldb.types.Type[] types
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0          array  [Ljava/lang/Object;
            0   18     1          types  [Lorg/hsqldb/types/Type;
            0   18     2  maxUnitLength  I
            3   18     3             sb  Ljava/lang/StringBuilder;
            5   16     4              i  I
            9   14     5         string  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      array          
      types          
      maxUnitLength  
}
SourceFile: "RowType.java"