public class org.hsqldb.types.BinaryType extends org.hsqldb.types.Type
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.types.BinaryType
  super_class: org.hsqldb.types.Type
{
  public static final long maxBinaryPrecision;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483647

  protected void <init>(int, long);
    descriptor: (IJ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // int type
        start local 2 // long precision
         0: .line 87
            aload 0 /* this */
            bipush 61
            iload 1 /* type */
            lload 2 /* precision */
            iconst_0
            invokespecial org.hsqldb.types.Type.<init>:(IIJI)V
         1: .line 88
            return
        end local 2 // long precision
        end local 1 // int type
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/hsqldb/types/BinaryType;
            0    2     1       type  I
            0    2     2  precision  J
    MethodParameters:
           Name  Flags
      type       
      precision  

  public int displaySize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hsqldb.types.BinaryType this
         0: .line 91
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            ldc 2147483647
            lcmp
            ifle 1
            ldc 2147483647
            goto 2
         1: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            l2i
         2: .line 91
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/types/BinaryType;

  public int getJDBCTypeCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.BinaryType this
         0: .line 96
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 60
            if_icmpne 1
            bipush -2
            goto 2
         1: .line 97
      StackMap locals:
      StackMap stack:
            bipush -3
         2: .line 96
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/types/BinaryType;

  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.BinaryType this
         0: .line 101
            ldc [B
            areturn
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/BinaryType;

  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.BinaryType this
         0: .line 105
            ldc "[B"
            areturn
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/BinaryType;

  public java.lang.String getNameString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.BinaryType this
         0: .line 109
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 60
            if_icmpne 1
            ldc "BINARY"
            goto 2
         1: .line 110
      StackMap locals:
      StackMap stack:
            ldc "VARBINARY"
         2: .line 109
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/types/BinaryType;

  public java.lang.String getNameFullString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.BinaryType this
         0: .line 114
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 60
            if_icmpne 1
            ldc "BINARY"
            goto 2
         1: .line 115
      StackMap locals:
      StackMap stack:
            ldc "BINARY VARYING"
         2: .line 114
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/types/BinaryType;

  public java.lang.String getDefinition();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.hsqldb.types.BinaryType this
         0: .line 120
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lconst_0
            lcmp
            ifne 2
         1: .line 121
            aload 0 /* this */
            invokevirtual org.hsqldb.types.BinaryType.getNameString:()Ljava/lang/String;
            areturn
         2: .line 124
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 16
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         3: .line 126
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual org.hsqldb.types.BinaryType.getNameString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 127
            aload 1 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 128
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         6: .line 129
            aload 1 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 131
            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.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hsqldb/types/BinaryType;
            3    8     1    sb  Ljava/lang/StringBuilder;

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

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

  public long getMaxPrecision();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.BinaryType this
         0: .line 143
            ldc 2147483647
            lreturn
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/BinaryType;

  public boolean requiresPrecision();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.BinaryType this
         0: .line 147
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 61
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/types/BinaryType;

  public int precedenceDegree(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.types.Type other
         0: .line 156
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            if_icmpne 2
         1: .line 157
            iconst_0
            ireturn
         2: .line 160
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokevirtual org.hsqldb.types.Type.isBinaryType:()Z
            ifne 4
         3: .line 161
            ldc -2147483648
            ireturn
         4: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            lookupswitch { // 5
                   14: 5
                   15: 5
                   30: 12
                   60: 6
                   61: 9
              default: 15
          }
         5: .line 168
      StackMap locals:
      StackMap stack:
            ldc -2147483648
            ireturn
         6: .line 171
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 30
            if_icmpne 7
            iconst_4
            goto 8
         7: .line 172
      StackMap locals:
      StackMap stack:
            iconst_2
         8: .line 171
      StackMap locals:
      StackMap stack: int
            ireturn
         9: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 30
            if_icmpne 10
            iconst_4
            goto 11
        10: .line 176
      StackMap locals:
      StackMap stack:
            iconst_2
        11: .line 175
      StackMap locals:
      StackMap stack: int
            ireturn
        12: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 60
            if_icmpne 13
            bipush -4
            goto 14
        13: .line 180
      StackMap locals:
      StackMap stack:
            bipush -2
        14: .line 179
      StackMap locals:
      StackMap stack: int
            ireturn
        15: .line 183
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "BinaryType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // org.hsqldb.types.Type other
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lorg/hsqldb/types/BinaryType;
            0   16     1  other  Lorg/hsqldb/types/Type;
    MethodParameters:
       Name  Flags
      other  

  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=4, locals=4, args_size=2
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.types.Type other
         0: .line 189
            aload 1 /* other */
            ifnonnull 2
         1: .line 190
            aload 0 /* this */
            areturn
         2: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getstatic org.hsqldb.types.BinaryType.SQL_ALL_TYPES:Lorg/hsqldb/types/Type;
            if_acmpne 4
         3: .line 194
            aload 0 /* this */
            areturn
         4: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            if_icmpne 8
         5: .line 198
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 6
            aload 0 /* this */
            goto 7
         6: .line 199
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
         7: .line 198
      StackMap locals:
      StackMap stack: org.hsqldb.types.Type
            areturn
         8: .line 202
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
            ifeq 10
         9: .line 203
            aload 1 /* other */
            aload 0 /* this */
            invokevirtual org.hsqldb.types.Type.getAggregateType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
            areturn
        10: .line 206
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            lookupswitch { // 6
                  -11: 37
                   14: 11
                   15: 11
                   30: 33
                   60: 17
                   61: 22
              default: 38
          }
        11: .line 210
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            ldc 7
            ladd
            ldc 8
            ldiv
            lstore 2 /* bytePrecision */
        start local 2 // long bytePrecision
        12: .line 212
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lload 2 /* bytePrecision */
            lcmp
            iflt 13
            aload 0 /* this */
            goto 16
        13: .line 214
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
        14: .line 215
            lload 2 /* bytePrecision */
        15: .line 213
            invokestatic org.hsqldb.types.BinaryType.getBinaryType:(IJ)Lorg/hsqldb/types/BinaryType;
        16: .line 212
      StackMap locals:
      StackMap stack: org.hsqldb.types.BinaryType
            areturn
        end local 2 // long bytePrecision
        17: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 18
            aload 0 /* this */
            goto 21
        18: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
        19: .line 220
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
        20: .line 219
            invokestatic org.hsqldb.types.BinaryType.getBinaryType:(IJ)Lorg/hsqldb/types/BinaryType;
        21: .line 218
      StackMap locals:
      StackMap stack: org.hsqldb.types.BinaryType
            areturn
        22: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 30
            if_icmpne 28
        23: .line 224
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 24
            aload 0 /* this */
            goto 27
        24: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
        25: .line 227
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
        26: .line 225
            invokestatic org.hsqldb.types.BinaryType.getBinaryType:(IJ)Lorg/hsqldb/types/BinaryType;
        27: .line 224
      StackMap locals:
      StackMap stack: org.hsqldb.types.BinaryType
            areturn
        28: .line 229
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lcmp
            iflt 29
            aload 1 /* other */
            goto 32
        29: .line 231
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
        30: .line 232
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
        31: .line 230
            invokestatic org.hsqldb.types.BinaryType.getBinaryType:(IJ)Lorg/hsqldb/types/BinaryType;
        32: .line 229
      StackMap locals:
      StackMap stack: org.hsqldb.types.Type
            areturn
        33: .line 235
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lcmp
            iflt 34
            aload 1 /* other */
            goto 36
        34: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
        35: .line 236
            invokestatic org.hsqldb.types.BinaryType.getBinaryType:(IJ)Lorg/hsqldb/types/BinaryType;
        36: .line 235
      StackMap locals:
      StackMap stack: org.hsqldb.types.Type
            areturn
        37: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            areturn
        38: .line 243
      StackMap locals:
      StackMap stack:
            sipush 5562
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        end local 1 // org.hsqldb.types.Type other
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   39     0           this  Lorg/hsqldb/types/BinaryType;
            0   39     1          other  Lorg/hsqldb/types/Type;
           12   17     2  bytePrecision  J
    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=6, locals=7, args_size=4
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.types.Type other
        start local 3 // int operation
         0: .line 252
            iload 3 /* operation */
            bipush 36
            if_icmpeq 2
         1: .line 253
            aload 0 /* this */
            aload 2 /* other */
            invokevirtual org.hsqldb.types.BinaryType.getAggregateType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
            areturn
         2: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 2 /* other */
            getfield org.hsqldb.types.Type.precision:J
            ladd
            lstore 5 /* newPrecision */
        start local 5 // long newPrecision
         3: .line 259
            aload 2 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            lookupswitch { // 7
                  -11: 8
                    0: 4
                   14: 5
                   15: 5
                   30: 14
                   60: 8
                   61: 10
              default: 16
          }
         4: .line 262
      StackMap locals: org.hsqldb.types.BinaryType org.hsqldb.Session org.hsqldb.types.Type int top long
      StackMap stack:
            aload 0 /* this */
            areturn
         5: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 2 /* other */
            getfield org.hsqldb.types.Type.precision:J
            ldc 7
            ladd
            ldc 8
            ldiv
            ladd
            lstore 5 /* newPrecision */
         6: .line 267
            aload 0 /* this */
            astore 4 /* newType */
        start local 4 // org.hsqldb.types.Type newType
         7: .line 268
            goto 17
        end local 4 // org.hsqldb.types.Type newType
         8: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 4 /* newType */
        start local 4 // org.hsqldb.types.Type newType
         9: .line 273
            goto 17
        end local 4 // org.hsqldb.types.Type newType
        10: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 30
            if_icmpne 11
            aload 0 /* this */
            goto 12
        11: .line 277
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
        12: .line 276
      StackMap locals:
      StackMap stack: org.hsqldb.types.Type
            astore 4 /* newType */
        start local 4 // org.hsqldb.types.Type newType
        13: .line 278
            goto 17
        end local 4 // org.hsqldb.types.Type newType
        14: .line 281
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            astore 4 /* newType */
        start local 4 // org.hsqldb.types.Type newType
        15: .line 282
            goto 17
        end local 4 // org.hsqldb.types.Type newType
        16: .line 285
      StackMap locals:
      StackMap stack:
            sipush 5561
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        start local 4 // org.hsqldb.types.Type newType
        17: .line 288
      StackMap locals: org.hsqldb.types.BinaryType org.hsqldb.Session org.hsqldb.types.Type int org.hsqldb.types.Type long
      StackMap stack:
            lload 5 /* newPrecision */
            ldc 2147483647
            lcmp
            ifle 22
        18: .line 289
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 60
            if_icmpne 20
        19: .line 292
            sipush 5570
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        20: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 61
            if_icmpne 22
        21: .line 294
            ldc 2147483647
            lstore 5 /* newPrecision */
        22: .line 298
      StackMap locals:
      StackMap stack:
            aload 4 /* newType */
            getfield org.hsqldb.types.Type.typeCode:I
            lload 5 /* newPrecision */
            invokestatic org.hsqldb.types.BinaryType.getBinaryType:(IJ)Lorg/hsqldb/types/BinaryType;
            areturn
        end local 5 // long newPrecision
        end local 4 // org.hsqldb.types.Type newType
        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.BinaryType this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/hsqldb/types/BinaryType;
            0   23     1       session  Lorg/hsqldb/Session;
            0   23     2         other  Lorg/hsqldb/types/Type;
            0   23     3     operation  I
            7    8     4       newType  Lorg/hsqldb/types/Type;
            9   10     4       newType  Lorg/hsqldb/types/Type;
           13   14     4       newType  Lorg/hsqldb/types/Type;
           15   16     4       newType  Lorg/hsqldb/types/Type;
           17   23     4       newType  Lorg/hsqldb/types/Type;
            3   23     5  newPrecision  J
    MethodParameters:
           Name  Flags
      session    
      other      
      operation  

  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=3, locals=8, args_size=4
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object a
        start local 3 // java.lang.Object b
         0: .line 303
            aload 2 /* a */
            aload 3 /* b */
            if_acmpne 2
         1: .line 304
            iconst_0
            ireturn
         2: .line 307
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            ifnonnull 4
         3: .line 308
            iconst_m1
            ireturn
         4: .line 311
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            ifnonnull 6
         5: .line 312
            iconst_1
            ireturn
         6: .line 315
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            instanceof org.hsqldb.types.BinaryData
            ifeq 43
            aload 3 /* b */
            instanceof org.hsqldb.types.BinaryData
            ifeq 43
         7: .line 316
            aload 2 /* a */
            checkcast org.hsqldb.types.BinaryData
            invokevirtual org.hsqldb.types.BinaryData.getBytes:()[B
            astore 4 /* data1 */
        start local 4 // byte[] data1
         8: .line 317
            aload 3 /* b */
            checkcast org.hsqldb.types.BinaryData
            invokevirtual org.hsqldb.types.BinaryData.getBytes:()[B
            astore 5 /* data2 */
        start local 5 // byte[] data2
         9: .line 318
            aload 4 /* data1 */
            arraylength
            aload 5 /* data2 */
            arraylength
            if_icmple 10
            aload 5 /* data2 */
            arraylength
            goto 11
        10: .line 319
      StackMap locals: byte[] byte[]
      StackMap stack:
            aload 4 /* data1 */
            arraylength
        11: .line 318
      StackMap locals:
      StackMap stack: int
            istore 6 /* length */
        start local 6 // int length
        12: .line 321
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        13: goto 21
        14: .line 322
      StackMap locals: int int
      StackMap stack:
            aload 4 /* data1 */
            iload 7 /* i */
            baload
            aload 5 /* data2 */
            iload 7 /* i */
            baload
            if_icmpne 16
        15: .line 323
            goto 20
        16: .line 326
      StackMap locals:
      StackMap stack:
            aload 4 /* data1 */
            iload 7 /* i */
            baload
            sipush 255
            iand
            aload 5 /* data2 */
            iload 7 /* i */
            baload
            sipush 255
            iand
            if_icmple 18
        17: .line 327
            iconst_1
            goto 19
        18: .line 328
      StackMap locals:
      StackMap stack:
            iconst_m1
        19: .line 326
      StackMap locals:
      StackMap stack: int
            ireturn
        20: .line 321
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 7 /* i */
            iload 6 /* length */
            if_icmplt 14
        end local 7 // int i
        22: .line 331
            aload 4 /* data1 */
            arraylength
            aload 5 /* data2 */
            arraylength
            if_icmpne 24
        23: .line 332
            iconst_0
            ireturn
        24: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 60
            if_icmpne 40
        25: .line 336
            aload 4 /* data1 */
            arraylength
            aload 5 /* data2 */
            arraylength
            if_icmple 33
        26: .line 337
            aload 5 /* data2 */
            arraylength
            istore 7 /* i */
        start local 7 // int i
        27: goto 31
        28: .line 338
      StackMap locals: int
      StackMap stack:
            aload 4 /* data1 */
            iload 7 /* i */
            baload
            ifeq 30
        29: .line 339
            iconst_1
            ireturn
        30: .line 337
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 7 /* i */
            aload 4 /* data1 */
            arraylength
            if_icmplt 28
        end local 7 // int i
        32: .line 343
            iconst_0
            ireturn
        33: .line 345
      StackMap locals:
      StackMap stack:
            aload 4 /* data1 */
            arraylength
            istore 7 /* i */
        start local 7 // int i
        34: goto 38
        35: .line 346
      StackMap locals: int
      StackMap stack:
            aload 5 /* data2 */
            iload 7 /* i */
            baload
            ifeq 37
        36: .line 347
            iconst_m1
            ireturn
        37: .line 345
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 7 /* i */
            aload 5 /* data2 */
            arraylength
            if_icmplt 35
        end local 7 // int i
        39: .line 351
            iconst_0
            ireturn
        40: .line 355
      StackMap locals:
      StackMap stack:
            aload 4 /* data1 */
            arraylength
            aload 5 /* data2 */
            arraylength
            if_icmple 41
            iconst_1
            goto 42
        41: .line 356
      StackMap locals:
      StackMap stack:
            iconst_m1
        42: .line 355
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 6 // int length
        end local 5 // byte[] data2
        end local 4 // byte[] data1
        43: .line 359
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "BinaryType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        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.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Lorg/hsqldb/types/BinaryType;
            0   44     1  session  Lorg/hsqldb/Session;
            0   44     2        a  Ljava/lang/Object;
            0   44     3        b  Ljava/lang/Object;
            8   43     4    data1  [B
            9   43     5    data2  [B
           12   43     6   length  I
           13   22     7        i  I
           27   32     7        i  I
           34   39     7        i  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=5, locals=3, args_size=3
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
         0: .line 363
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            aload 0 /* this */
            iconst_0
            invokevirtual org.hsqldb.types.BinaryType.castOrConvertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;Z)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hsqldb/types/BinaryType;
            0    1     1  session  Lorg/hsqldb/SessionInterface;
            0    1     2        a  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      session  
      a        

  public java.lang.Object castToType(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=5, locals=4, args_size=4
        start local 0 // org.hsqldb.types.BinaryType 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 368
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            aload 3 /* otherType */
            iconst_1
            invokevirtual org.hsqldb.types.BinaryType.castOrConvertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;Z)Ljava/lang/Object;
            areturn
        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.BinaryType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hsqldb/types/BinaryType;
            0    1     1    session  Lorg/hsqldb/SessionInterface;
            0    1     2          a  Ljava/lang/Object;
            0    1     3  otherType  Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      session    
      a          
      otherType  

  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=5, locals=4, args_size=4
        start local 0 // org.hsqldb.types.BinaryType 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 373
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            aload 3 /* otherType */
            iconst_0
            invokevirtual org.hsqldb.types.BinaryType.castOrConvertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;Z)Ljava/lang/Object;
            areturn
        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.BinaryType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hsqldb/types/BinaryType;
            0    1     1    session  Lorg/hsqldb/SessionInterface;
            0    1     2          a  Ljava/lang/Object;
            0    1     3  otherType  Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      session    
      a          
      otherType  

  public java.lang.Object convertJavaToSQL(org.hsqldb.SessionInterface, java.lang.Object);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
         0: .line 378
            aload 2 /* a */
            ifnonnull 2
         1: .line 379
            aconst_null
            areturn
         2: .line 382
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            instanceof byte[]
            ifeq 4
         3: .line 383
            new org.hsqldb.types.BinaryData
            dup
            aload 2 /* a */
            checkcast byte[]
            iconst_1
            invokespecial org.hsqldb.types.BinaryData.<init>:([BZ)V
            areturn
         4: .line 386
      StackMap locals:
      StackMap stack:
            sipush 5561
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/hsqldb/types/BinaryType;
            0    5     1  session  Lorg/hsqldb/SessionInterface;
            0    5     2        a  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      session  
      a        

  public java.lang.Object convertSQLToJava(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.BinaryType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
         0: .line 391
            aload 2 /* a */
            ifnonnull 2
         1: .line 392
            aconst_null
            areturn
         2: .line 395
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            invokeinterface org.hsqldb.types.BlobData.getBytes:()[B
            areturn
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/hsqldb/types/BinaryType;
            0    3     1  session  Lorg/hsqldb/SessionInterface;
            0    3     2        a  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      session  
      a        

  java.lang.Object castOrConvertToType(org.hsqldb.SessionInterface, java.lang.Object, org.hsqldb.types.Type, boolean);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;Z)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
        start local 3 // org.hsqldb.types.Type otherType
        start local 4 // boolean cast
         0: .line 403
            aload 2 /* a */
            ifnonnull 2
         1: .line 404
            aconst_null
            areturn
         2: .line 407
      StackMap locals:
      StackMap stack:
            aload 3 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            lookupswitch { // 8
                  -11: 14
                    1: 4
                   12: 4
                   14: 9
                   30: 14
                   40: 3
                   60: 14
                   61: 14
              default: 16
          }
         3: .line 412
      StackMap locals:
      StackMap stack:
            getstatic org.hsqldb.types.Type.SQL_VARCHAR:Lorg/hsqldb/types/CharacterType;
            aload 1 /* session */
            aload 2 /* a */
            aload 3 /* otherType */
            invokevirtual org.hsqldb.types.CharacterType.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
            astore 2 /* a */
         4: .line 417
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            invokeinterface org.hsqldb.SessionInterface.getScanner:()Lorg/hsqldb/Scanner;
            aload 2 /* a */
            checkcast java.lang.String
            iconst_0
            invokevirtual org.hsqldb.Scanner.convertToBinary:(Ljava/lang/String;Z)Lorg/hsqldb/types/BinaryData;
            astore 5 /* b */
        start local 5 // org.hsqldb.types.BlobData b
         5: .line 418
            bipush 61
         6: .line 419
            aload 5 /* b */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
         7: .line 418
            invokestatic org.hsqldb.types.BinaryType.getBinaryType:(IJ)Lorg/hsqldb/types/BinaryType;
            astore 3 /* otherType */
         8: .line 421
            goto 17
        end local 5 // org.hsqldb.types.BlobData b
         9: .line 424
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            astore 5 /* b */
        start local 5 // org.hsqldb.types.BlobData b
        10: .line 425
            bipush 61
        11: .line 426
            aload 5 /* b */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
        12: .line 425
            invokestatic org.hsqldb.types.BinaryType.getBinaryType:(IJ)Lorg/hsqldb/types/BinaryType;
            astore 3 /* otherType */
        13: .line 428
            goto 17
        end local 5 // org.hsqldb.types.BlobData b
        14: .line 434
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            astore 5 /* b */
        start local 5 // org.hsqldb.types.BlobData b
        15: .line 435
            goto 17
        end local 5 // org.hsqldb.types.BlobData b
        16: .line 438
      StackMap locals:
      StackMap stack:
            sipush 3471
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        start local 5 // org.hsqldb.types.BlobData b
        17: .line 441
      StackMap locals: org.hsqldb.types.BlobData
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lconst_0
            lcmp
            ifne 19
        18: .line 442
            aload 5 /* b */
            areturn
        19: .line 445
      StackMap locals:
      StackMap stack:
            aload 3 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 30
            if_icmpne 25
        20: .line 446
            aload 5 /* b */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            lstore 6 /* blobLength */
        start local 6 // long blobLength
        21: .line 448
            lload 6 /* blobLength */
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lcmp
            ifle 23
        22: .line 449
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        23: .line 452
      StackMap locals: long
      StackMap stack:
            aload 5 /* b */
            aload 1 /* session */
            lconst_0
            lload 6 /* blobLength */
            l2i
            invokeinterface org.hsqldb.types.BlobData.getBytes:(Lorg/hsqldb/SessionInterface;JI)[B
            astore 8 /* bytes */
        start local 8 // byte[] bytes
        24: .line 454
            new org.hsqldb.types.BinaryData
            dup
            aload 8 /* bytes */
            iconst_0
            invokespecial org.hsqldb.types.BinaryData.<init>:([BZ)V
            astore 5 /* b */
        end local 8 // byte[] bytes
        end local 6 // long blobLength
        25: .line 457
      StackMap locals:
      StackMap stack:
            aload 5 /* b */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lcmp
            ifle 30
        26: .line 458
            aload 5 /* b */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.nonZeroLength:(Lorg/hsqldb/SessionInterface;)J
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lcmp
            ifle 30
        27: .line 459
            iload 4 /* cast */
            ifne 29
        28: .line 460
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        29: .line 463
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            sipush 1004
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            invokeinterface org.hsqldb.SessionInterface.addWarning:(Lorg/hsqldb/HsqlException;)V
        30: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            tableswitch { // 60 - 61
                   60: 31
                   61: 41
              default: 45
          }
        31: .line 469
      StackMap locals:
      StackMap stack:
            aload 5 /* b */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lcmp
            ifle 35
        32: .line 470
            aload 5 /* b */
            aload 1 /* session */
            lconst_0
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            l2i
            invokeinterface org.hsqldb.types.BlobData.getBytes:(Lorg/hsqldb/SessionInterface;JI)[B
            astore 6 /* data */
        start local 6 // byte[] data
        33: .line 472
            new org.hsqldb.types.BinaryData
            dup
            aload 6 /* data */
            iconst_0
            invokespecial org.hsqldb.types.BinaryData.<init>:([BZ)V
            astore 5 /* b */
        end local 6 // byte[] data
        34: .line 473
            goto 40
      StackMap locals:
      StackMap stack:
        35: aload 5 /* b */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lcmp
            ifge 40
        36: .line 474
            aload 5 /* b */
            invokeinterface org.hsqldb.types.BlobData.getBytes:()[B
        37: .line 475
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            l2i
        38: .line 474
            invokestatic org.hsqldb.lib.ArrayUtil.resizeArray:(Ljava/lang/Object;I)Ljava/lang/Object;
            checkcast byte[]
            astore 6 /* data */
        start local 6 // byte[] data
        39: .line 477
            new org.hsqldb.types.BinaryData
            dup
            aload 6 /* data */
            iconst_0
            invokespecial org.hsqldb.types.BinaryData.<init>:([BZ)V
            astore 5 /* b */
        end local 6 // byte[] data
        40: .line 480
      StackMap locals:
      StackMap stack:
            aload 5 /* b */
            areturn
        41: .line 483
      StackMap locals:
      StackMap stack:
            aload 5 /* b */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lcmp
            ifle 44
        42: .line 484
            aload 5 /* b */
            aload 1 /* session */
            lconst_0
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            l2i
            invokeinterface org.hsqldb.types.BlobData.getBytes:(Lorg/hsqldb/SessionInterface;JI)[B
            astore 6 /* data */
        start local 6 // byte[] data
        43: .line 486
            new org.hsqldb.types.BinaryData
            dup
            aload 6 /* data */
            iconst_0
            invokespecial org.hsqldb.types.BinaryData.<init>:([BZ)V
            astore 5 /* b */
        end local 6 // byte[] data
        44: .line 489
      StackMap locals:
      StackMap stack:
            aload 5 /* b */
            areturn
        45: .line 494
      StackMap locals:
      StackMap stack:
            sipush 3471
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        end local 5 // org.hsqldb.types.BlobData b
        end local 4 // boolean cast
        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.BinaryType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   46     0        this  Lorg/hsqldb/types/BinaryType;
            0   46     1     session  Lorg/hsqldb/SessionInterface;
            0   46     2           a  Ljava/lang/Object;
            0   46     3   otherType  Lorg/hsqldb/types/Type;
            0   46     4        cast  Z
            5    9     5           b  Lorg/hsqldb/types/BlobData;
           10   14     5           b  Lorg/hsqldb/types/BlobData;
           15   16     5           b  Lorg/hsqldb/types/BlobData;
           17   46     5           b  Lorg/hsqldb/types/BlobData;
           21   25     6  blobLength  J
           24   25     8       bytes  [B
           33   34     6        data  [B
           39   40     6        data  [B
           43   44     6        data  [B
    MethodParameters:
           Name  Flags
      session    
      a          
      otherType  
      cast       

  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=5, locals=3, args_size=3
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
         0: .line 499
            aload 2 /* a */
            ifnonnull 2
         1: .line 500
            aload 2 /* a */
            areturn
         2: .line 503
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            instanceof byte[]
            ifeq 4
         3: .line 504
            new org.hsqldb.types.BinaryData
            dup
            aload 2 /* a */
            checkcast byte[]
            iconst_0
            invokespecial org.hsqldb.types.BinaryData.<init>:([BZ)V
            areturn
         4: .line 505
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            instanceof org.hsqldb.types.BinaryData
            ifeq 6
         5: .line 506
            aload 2 /* a */
            areturn
         6: .line 507
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            instanceof java.lang.String
            ifeq 8
         7: .line 508
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            getstatic org.hsqldb.types.Type.SQL_VARCHAR:Lorg/hsqldb/types/CharacterType;
            iconst_0
            invokevirtual org.hsqldb.types.BinaryType.castOrConvertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;Z)Ljava/lang/Object;
            areturn
         8: .line 511
      StackMap locals:
      StackMap stack:
            sipush 3471
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/hsqldb/types/BinaryType;
            0    9     1  session  Lorg/hsqldb/SessionInterface;
            0    9     2        a  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      session  
      a        

  public java.lang.String convertToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // java.lang.Object a
         0: .line 516
            aload 1 /* a */
            ifnonnull 2
         1: .line 517
            aconst_null
            areturn
         2: .line 520
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            checkcast org.hsqldb.types.BlobData
            invokeinterface org.hsqldb.types.BlobData.getBytes:()[B
            invokestatic org.hsqldb.lib.StringConverter.byteArrayToHexString:([B)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object a
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/types/BinaryType;
            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=1, locals=2, args_size=2
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // java.lang.Object a
         0: .line 525
            aload 1 /* a */
            ifnonnull 2
         1: .line 526
            ldc "NULL"
            areturn
         2: .line 530
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            checkcast org.hsqldb.types.BinaryData
            invokevirtual org.hsqldb.types.BinaryData.getBytes:()[B
         3: .line 529
            invokestatic org.hsqldb.lib.StringConverter.byteArrayToSQLHexString:([B)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object a
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/types/BinaryType;
            0    4     1     a  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     

  public boolean canConvertFrom(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.types.Type otherType
         0: .line 534
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            ifeq 3
         1: .line 535
            aload 1 /* otherType */
            invokevirtual org.hsqldb.types.Type.isBinaryType:()Z
            ifne 3
            aload 1 /* otherType */
            invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
            ifne 3
         2: .line 534
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // org.hsqldb.types.Type otherType
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hsqldb/types/BinaryType;
            0    4     1  otherType  Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      otherType  

  public int canMoveFrom(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.types.Type otherType
         0: .line 540
            aload 1 /* otherType */
            aload 0 /* this */
            if_acmpne 2
         1: .line 541
            iconst_0
            ireturn
         2: .line 544
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            invokevirtual org.hsqldb.types.Type.isBinaryType:()Z
            ifne 4
         3: .line 545
            iconst_m1
            ireturn
         4: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            lookupswitch { // 5
                   14: 23
                   15: 29
                   30: 18
                   60: 23
                   61: 5
              default: 33
          }
         5: .line 551
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            if_icmpne 9
         6: .line 552
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 7
            iconst_0
            goto 8
         7: .line 553
      StackMap locals:
      StackMap stack:
            iconst_1
         8: .line 552
      StackMap locals:
      StackMap stack: int
            ireturn
         9: .line 556
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 60
            if_icmpne 13
        10: .line 557
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 11
            iconst_0
            goto 12
        11: .line 558
      StackMap locals:
      StackMap stack:
            iconst_m1
        12: .line 557
      StackMap locals:
      StackMap stack: int
            ireturn
        13: .line 561
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush -11
            if_icmpne 17
        14: .line 562
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 15
            iconst_0
            goto 16
        15: .line 563
      StackMap locals:
      StackMap stack:
            iconst_m1
        16: .line 562
      StackMap locals:
      StackMap stack: int
            ireturn
        17: .line 566
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        18: .line 569
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            if_icmpne 22
        19: .line 570
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 20
            iconst_0
            goto 21
        20: .line 571
      StackMap locals:
      StackMap stack:
            iconst_1
        21: .line 570
      StackMap locals:
      StackMap stack: int
            ireturn
        22: .line 574
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        23: .line 578
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            if_icmpeq 25
        24: .line 579
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush -11
            if_icmpne 28
        25: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            ifne 26
            iconst_0
            goto 27
        26: .line 581
      StackMap locals:
      StackMap stack:
            iconst_m1
        27: .line 580
      StackMap locals:
      StackMap stack: int
            ireturn
        28: .line 584
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        29: .line 587
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            if_icmpne 31
        30: .line 588
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 31
            iconst_0
            goto 32
        31: .line 589
      StackMap locals:
      StackMap stack:
            iconst_m1
        32: .line 587
      StackMap locals:
      StackMap stack: int
            ireturn
        33: .line 592
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // org.hsqldb.types.Type otherType
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0       this  Lorg/hsqldb/types/BinaryType;
            0   34     1  otherType  Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      otherType  

  public long position(org.hsqldb.SessionInterface, org.hsqldb.types.BlobData, org.hsqldb.types.BlobData, org.hsqldb.types.Type, long);
    descriptor: (Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;Lorg/hsqldb/types/BlobData;Lorg/hsqldb/types/Type;J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // org.hsqldb.types.BlobData data
        start local 3 // org.hsqldb.types.BlobData otherData
        start local 4 // org.hsqldb.types.Type otherType
        start local 5 // long offset
         0: .line 599
            aload 2 /* data */
            ifnull 1
            aload 3 /* otherData */
            ifnonnull 2
         1: .line 600
      StackMap locals:
      StackMap stack:
            ldc -1
            lreturn
         2: .line 603
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            lstore 7 /* otherLength */
        start local 7 // long otherLength
         3: .line 605
            lload 5 /* offset */
            lload 7 /* otherLength */
            ladd
            aload 2 /* data */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            lcmp
            ifle 5
         4: .line 606
            ldc -1
            lreturn
         5: .line 609
      StackMap locals: long
      StackMap stack:
            aload 2 /* data */
            aload 1 /* session */
            aload 3 /* otherData */
            lload 5 /* offset */
            invokeinterface org.hsqldb.types.BlobData.position:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;J)J
            lreturn
        end local 7 // long otherLength
        end local 5 // long offset
        end local 4 // org.hsqldb.types.Type otherType
        end local 3 // org.hsqldb.types.BlobData otherData
        end local 2 // org.hsqldb.types.BlobData data
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/hsqldb/types/BinaryType;
            0    6     1      session  Lorg/hsqldb/SessionInterface;
            0    6     2         data  Lorg/hsqldb/types/BlobData;
            0    6     3    otherData  Lorg/hsqldb/types/BlobData;
            0    6     4    otherType  Lorg/hsqldb/types/Type;
            0    6     5       offset  J
            3    6     7  otherLength  J
    MethodParameters:
           Name  Flags
      session    
      data       
      otherData  
      otherType  
      offset     

  public org.hsqldb.types.BlobData substring(org.hsqldb.SessionInterface, org.hsqldb.types.BlobData, long, long, boolean);
    descriptor: (Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;JJZ)Lorg/hsqldb/types/BlobData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // org.hsqldb.types.BlobData data
        start local 3 // long offset
        start local 5 // long length
        start local 7 // boolean hasLength
         0: .line 616
            aload 2 /* data */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            lstore 10 /* dataLength */
        start local 10 // long dataLength
         1: .line 618
            iload 7 /* hasLength */
            ifeq 4
         2: .line 619
            lload 3 /* offset */
            lload 5 /* length */
            ladd
            lstore 8 /* end */
        start local 8 // long end
         3: .line 620
            goto 7
        end local 8 // long end
         4: .line 621
      StackMap locals: org.hsqldb.types.BinaryType org.hsqldb.SessionInterface org.hsqldb.types.BlobData long long int top top long
      StackMap stack:
            lload 10 /* dataLength */
            lload 3 /* offset */
            lcmp
            ifle 5
            lload 10 /* dataLength */
            goto 6
         5: .line 622
      StackMap locals:
      StackMap stack:
            lload 3 /* offset */
         6: .line 621
      StackMap locals:
      StackMap stack: long
            lstore 8 /* end */
        start local 8 // long end
         7: .line 625
      StackMap locals: org.hsqldb.types.BinaryType org.hsqldb.SessionInterface org.hsqldb.types.BlobData long long int long long
      StackMap stack:
            lload 3 /* offset */
            lload 8 /* end */
            lcmp
            ifle 9
         8: .line 626
            sipush 3431
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         9: .line 629
      StackMap locals:
      StackMap stack:
            lload 8 /* end */
            lconst_0
            lcmp
            ifge 12
        10: .line 632
            lconst_0
            lstore 3 /* offset */
        11: .line 633
            lconst_0
            lstore 8 /* end */
        12: .line 636
      StackMap locals:
      StackMap stack:
            lload 3 /* offset */
            lconst_0
            lcmp
            ifge 14
        13: .line 637
            lconst_0
            lstore 3 /* offset */
        14: .line 640
      StackMap locals:
      StackMap stack:
            lload 8 /* end */
            lload 10 /* dataLength */
            lcmp
            ifle 16
        15: .line 641
            lload 10 /* dataLength */
            lstore 8 /* end */
        16: .line 644
      StackMap locals:
      StackMap stack:
            lload 8 /* end */
            lload 3 /* offset */
            lsub
            lstore 5 /* length */
        17: .line 647
            aload 2 /* data */
            aload 1 /* session */
            lload 3 /* offset */
            lload 5 /* length */
            l2i
            invokeinterface org.hsqldb.types.BlobData.getBytes:(Lorg/hsqldb/SessionInterface;JI)[B
            astore 12 /* bytes */
        start local 12 // byte[] bytes
        18: .line 649
            new org.hsqldb.types.BinaryData
            dup
            aload 12 /* bytes */
            iconst_0
            invokespecial org.hsqldb.types.BinaryData.<init>:([BZ)V
            areturn
        end local 12 // byte[] bytes
        end local 10 // long dataLength
        end local 8 // long end
        end local 7 // boolean hasLength
        end local 5 // long length
        end local 3 // long offset
        end local 2 // org.hsqldb.types.BlobData data
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/hsqldb/types/BinaryType;
            0   19     1     session  Lorg/hsqldb/SessionInterface;
            0   19     2        data  Lorg/hsqldb/types/BlobData;
            0   19     3      offset  J
            0   19     5      length  J
            0   19     7   hasLength  Z
            3    4     8         end  J
            7   19     8         end  J
            1   19    10  dataLength  J
           18   19    12       bytes  [B
    MethodParameters:
           Name  Flags
      session    
      data       
      offset     
      length     
      hasLength  

  int getRightTrimSize(org.hsqldb.types.BlobData);
    descriptor: (Lorg/hsqldb/types/BlobData;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.types.BlobData data
         0: .line 654
            aload 1 /* data */
            invokeinterface org.hsqldb.types.BlobData.getBytes:()[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 655
            aload 2 /* bytes */
            arraylength
            istore 3 /* endindex */
        start local 3 // int endindex
         2: .line 657
            iinc 3 /* endindex */ -1
            goto 4
      StackMap locals: byte[] int
      StackMap stack:
         3: iinc 3 /* endindex */ -1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* endindex */
            iflt 5
            aload 2 /* bytes */
            iload 3 /* endindex */
            baload
            ifeq 3
         5: .line 659
      StackMap locals:
      StackMap stack:
            iinc 3 /* endindex */ 1
            iload 3 /* endindex */
            ireturn
        end local 3 // int endindex
        end local 2 // byte[] bytes
        end local 1 // org.hsqldb.types.BlobData data
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/hsqldb/types/BinaryType;
            0    6     1      data  Lorg/hsqldb/types/BlobData;
            1    6     2     bytes  [B
            2    6     3  endindex  I
    MethodParameters:
      Name  Flags
      data  

  public org.hsqldb.types.BlobData trim(org.hsqldb.Session, org.hsqldb.types.BlobData, int, boolean, boolean);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/types/BlobData;IZZ)Lorg/hsqldb/types/BlobData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.types.BlobData data
        start local 3 // int trim
        start local 4 // boolean leading
        start local 5 // boolean trailing
         0: .line 665
            aload 2 /* data */
            ifnonnull 2
         1: .line 666
            aconst_null
            areturn
         2: .line 669
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            lstore 6 /* length */
        start local 6 // long length
         3: .line 671
            lload 6 /* length */
            ldc 2147483647
            lcmp
            ifle 5
         4: .line 672
            sipush 3460
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         5: .line 675
      StackMap locals: long
      StackMap stack:
            aload 2 /* data */
            aload 1 /* session */
            lconst_0
            lload 6 /* length */
            l2i
            invokeinterface org.hsqldb.types.BlobData.getBytes:(Lorg/hsqldb/SessionInterface;JI)[B
            astore 8 /* bytes */
        start local 8 // byte[] bytes
         6: .line 676
            aload 8 /* bytes */
            arraylength
            istore 9 /* endindex */
        start local 9 // int endindex
         7: .line 678
            iload 5 /* trailing */
            ifeq 12
         8: .line 679
            iinc 9 /* endindex */ -1
            goto 10
         9: .line 680
      StackMap locals: byte[] int
      StackMap stack:
            iinc 9 /* endindex */ -1
        10: .line 679
      StackMap locals:
      StackMap stack:
            iload 9 /* endindex */
            iflt 11
            aload 8 /* bytes */
            iload 9 /* endindex */
            baload
            iload 3 /* trim */
            if_icmpeq 9
        11: .line 682
      StackMap locals:
      StackMap stack:
            iinc 9 /* endindex */ 1
        12: .line 685
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* startindex */
        start local 10 // int startindex
        13: .line 687
            iload 4 /* leading */
            ifeq 17
        14: .line 688
            goto 16
        15: .line 689
      StackMap locals: int
      StackMap stack:
            iinc 10 /* startindex */ 1
        16: .line 688
      StackMap locals:
      StackMap stack:
            iload 10 /* startindex */
            iload 9 /* endindex */
            if_icmpge 17
            aload 8 /* bytes */
            iload 10 /* startindex */
            baload
            iload 3 /* trim */
            if_icmpeq 15
        17: .line 693
      StackMap locals:
      StackMap stack:
            aload 8 /* bytes */
            astore 11 /* newBytes */
        start local 11 // byte[] newBytes
        18: .line 695
            iload 10 /* startindex */
            ifne 19
            iload 9 /* endindex */
            aload 8 /* bytes */
            arraylength
            if_icmpeq 23
        19: .line 696
      StackMap locals: byte[]
      StackMap stack:
            iload 9 /* endindex */
            iload 10 /* startindex */
            isub
            newarray 8
            astore 11 /* newBytes */
        20: .line 698
            aload 8 /* bytes */
            iload 10 /* startindex */
            aload 11 /* newBytes */
            iconst_0
        21: .line 699
            iload 9 /* endindex */
            iload 10 /* startindex */
            isub
        22: .line 698
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 30
            if_icmpne 27
        24: .line 703
            aload 1 /* session */
            aload 11 /* newBytes */
            arraylength
            i2l
            invokevirtual org.hsqldb.Session.createBlob:(J)Lorg/hsqldb/types/BlobDataID;
            astore 12 /* blob */
        start local 12 // org.hsqldb.types.BlobData blob
        25: .line 705
            aload 12 /* blob */
            aload 1 /* session */
            lconst_0
            aload 11 /* newBytes */
            invokeinterface org.hsqldb.types.BlobData.setBytes:(Lorg/hsqldb/SessionInterface;J[B)V
        26: .line 707
            aload 12 /* blob */
            areturn
        end local 12 // org.hsqldb.types.BlobData blob
        27: .line 709
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.BinaryData
            dup
            aload 11 /* newBytes */
            aload 11 /* newBytes */
            aload 8 /* bytes */
            if_acmpne 28
            iconst_1
            goto 29
      StackMap locals: org.hsqldb.types.BinaryType org.hsqldb.Session org.hsqldb.types.BlobData int int int long byte[] int int byte[]
      StackMap stack: new 27 new 27 byte[]
        28: iconst_0
      StackMap locals: org.hsqldb.types.BinaryType org.hsqldb.Session org.hsqldb.types.BlobData int int int long byte[] int int byte[]
      StackMap stack: new 27 new 27 byte[] int
        29: invokespecial org.hsqldb.types.BinaryData.<init>:([BZ)V
            areturn
        end local 11 // byte[] newBytes
        end local 10 // int startindex
        end local 9 // int endindex
        end local 8 // byte[] bytes
        end local 6 // long length
        end local 5 // boolean trailing
        end local 4 // boolean leading
        end local 3 // int trim
        end local 2 // org.hsqldb.types.BlobData data
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0        this  Lorg/hsqldb/types/BinaryType;
            0   30     1     session  Lorg/hsqldb/Session;
            0   30     2        data  Lorg/hsqldb/types/BlobData;
            0   30     3        trim  I
            0   30     4     leading  Z
            0   30     5    trailing  Z
            3   30     6      length  J
            6   30     8       bytes  [B
            7   30     9    endindex  I
           13   30    10  startindex  I
           18   30    11    newBytes  [B
           25   27    12        blob  Lorg/hsqldb/types/BlobData;
    MethodParameters:
          Name  Flags
      session   
      data      
      trim      
      leading   
      trailing  

  public org.hsqldb.types.BlobData overlay(org.hsqldb.Session, org.hsqldb.types.BlobData, org.hsqldb.types.BlobData, long, long, boolean);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/types/BlobData;Lorg/hsqldb/types/BlobData;JJZ)Lorg/hsqldb/types/BlobData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=13, args_size=7
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.types.BlobData data
        start local 3 // org.hsqldb.types.BlobData overlay
        start local 4 // long offset
        start local 6 // long length
        start local 8 // boolean hasLength
         0: .line 716
            aload 2 /* data */
            ifnull 1
            aload 3 /* overlay */
            ifnonnull 2
         1: .line 717
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 720
      StackMap locals:
      StackMap stack:
            iload 8 /* hasLength */
            ifne 4
         3: .line 721
            aload 3 /* overlay */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            lstore 6 /* length */
         4: .line 724
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            lookupswitch { // 3
                   30: 16
                   60: 5
                   61: 5
              default: 38
          }
         5: .line 729
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.BinaryData
            dup
            aload 1 /* session */
         6: .line 730
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* data */
            lconst_0
            lload 4 /* offset */
            iconst_1
            invokevirtual org.hsqldb.types.BinaryType.substring:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;JJZ)Lorg/hsqldb/types/BlobData;
         7: .line 731
            aload 3 /* overlay */
         8: .line 729
            invokespecial org.hsqldb.types.BinaryData.<init>:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;Lorg/hsqldb/types/BlobData;)V
         9: .line 728
            astore 9 /* binary */
        start local 9 // org.hsqldb.types.BinaryData binary
        10: .line 733
            new org.hsqldb.types.BinaryData
            dup
            aload 1 /* session */
            aload 9 /* binary */
        11: .line 734
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* data */
        12: .line 735
            lload 4 /* offset */
            lload 6 /* length */
            ladd
            lconst_0
            iconst_0
        13: .line 734
            invokevirtual org.hsqldb.types.BinaryType.substring:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;JJZ)Lorg/hsqldb/types/BlobData;
        14: .line 733
            invokespecial org.hsqldb.types.BinaryData.<init>:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;Lorg/hsqldb/types/BlobData;)V
            astore 9 /* binary */
        15: .line 737
            aload 9 /* binary */
            areturn
        end local 9 // org.hsqldb.types.BinaryData binary
        16: .line 740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* data */
            lconst_0
            lload 4 /* offset */
        17: .line 741
            iconst_0
        18: .line 740
            invokevirtual org.hsqldb.types.BinaryType.substring:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;JJZ)Lorg/hsqldb/types/BlobData;
        19: .line 741
            invokeinterface org.hsqldb.types.BlobData.getBytes:()[B
        20: .line 740
            astore 9 /* bytes */
        start local 9 // byte[] bytes
        21: .line 742
            aload 2 /* data */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
        22: .line 743
            aload 3 /* overlay */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
        23: .line 742
            ladd
        24: .line 743
            lload 6 /* length */
        25: .line 742
            lsub
            lstore 10 /* blobLength */
        start local 10 // long blobLength
        26: .line 744
            aload 1 /* session */
            lload 10 /* blobLength */
            invokevirtual org.hsqldb.Session.createBlob:(J)Lorg/hsqldb/types/BlobDataID;
            astore 12 /* blob */
        start local 12 // org.hsqldb.types.BlobData blob
        27: .line 746
            aload 12 /* blob */
            aload 1 /* session */
            lconst_0
            aload 9 /* bytes */
            invokeinterface org.hsqldb.types.BlobData.setBytes:(Lorg/hsqldb/SessionInterface;J[B)V
        28: .line 747
            aload 12 /* blob */
            aload 1 /* session */
            aload 12 /* blob */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
        29: .line 748
            aload 3 /* overlay */
            invokeinterface org.hsqldb.types.BlobData.getBytes:()[B
        30: .line 747
            invokeinterface org.hsqldb.types.BlobData.setBytes:(Lorg/hsqldb/SessionInterface;J[B)V
        31: .line 750
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* data */
            lload 4 /* offset */
            lload 6 /* length */
            ladd
            lconst_0
        32: .line 751
            iconst_0
        33: .line 750
            invokevirtual org.hsqldb.types.BinaryType.substring:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;JJZ)Lorg/hsqldb/types/BlobData;
        34: .line 751
            invokeinterface org.hsqldb.types.BlobData.getBytes:()[B
        35: .line 750
            astore 9 /* bytes */
        36: .line 753
            aload 12 /* blob */
            aload 1 /* session */
            aload 12 /* blob */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            aload 9 /* bytes */
            invokeinterface org.hsqldb.types.BlobData.setBytes:(Lorg/hsqldb/SessionInterface;J[B)V
        37: .line 755
            aload 12 /* blob */
            areturn
        end local 12 // org.hsqldb.types.BlobData blob
        end local 10 // long blobLength
        end local 9 // byte[] bytes
        38: .line 758
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "BinaryType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 8 // boolean hasLength
        end local 6 // long length
        end local 4 // long offset
        end local 3 // org.hsqldb.types.BlobData overlay
        end local 2 // org.hsqldb.types.BlobData data
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.BinaryType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   39     0        this  Lorg/hsqldb/types/BinaryType;
            0   39     1     session  Lorg/hsqldb/Session;
            0   39     2        data  Lorg/hsqldb/types/BlobData;
            0   39     3     overlay  Lorg/hsqldb/types/BlobData;
            0   39     4      offset  J
            0   39     6      length  J
            0   39     8   hasLength  Z
           10   16     9      binary  Lorg/hsqldb/types/BinaryData;
           21   38     9       bytes  [B
           26   38    10  blobLength  J
           27   38    12        blob  Lorg/hsqldb/types/BlobData;
    MethodParameters:
           Name  Flags
      session    
      data       
      overlay    
      offset     
      length     
      hasLength  

  public java.lang.Object concat(org.hsqldb.Session, java.lang.Object, java.lang.Object);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=4
        start local 0 // org.hsqldb.types.BinaryType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object a
        start local 3 // java.lang.Object b
         0: .line 764
            aload 2 /* a */
            ifnull 1
            aload 3 /* b */
            ifnonnull 2
         1: .line 765
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 768
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
         3: .line 769
            aload 3 /* b */
            checkcast org.hsqldb.types.BlobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
         4: .line 768
            ladd
            lstore 4 /* length */
        start local 4 // long length
         5: .line 771
            lload 4 /* length */
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.precision:J
            lcmp
            ifle 7
         6: .line 772
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         7: .line 775
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.BinaryType.typeCode:I
            bipush 30
            if_icmpne 16
         8: .line 776
            aload 1 /* session */
            lload 4 /* length */
            invokevirtual org.hsqldb.Session.createBlob:(J)Lorg/hsqldb/types/BlobDataID;
            astore 6 /* blob */
        start local 6 // org.hsqldb.types.BlobData blob
         9: .line 778
            aload 6 /* blob */
            aload 1 /* session */
            lconst_0
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            lconst_0
        10: .line 779
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
        11: .line 778
            invokeinterface org.hsqldb.types.BlobData.setBytes:(Lorg/hsqldb/SessionInterface;JLorg/hsqldb/types/BlobData;JJ)V
        12: .line 780
            aload 6 /* blob */
            aload 1 /* session */
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
        13: .line 781
            aload 3 /* b */
            checkcast org.hsqldb.types.BlobData
            lconst_0
            aload 3 /* b */
            checkcast org.hsqldb.types.BlobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
        14: .line 780
            invokeinterface org.hsqldb.types.BlobData.setBytes:(Lorg/hsqldb/SessionInterface;JLorg/hsqldb/types/BlobData;JJ)V
        15: .line 783
            aload 6 /* blob */
            areturn
        end local 6 // org.hsqldb.types.BlobData blob
        16: .line 785
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.BinaryData
            dup
            aload 1 /* session */
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            aload 3 /* b */
            checkcast org.hsqldb.types.BlobData
            invokespecial org.hsqldb.types.BinaryData.<init>:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;Lorg/hsqldb/types/BlobData;)V
            areturn
        end local 4 // long length
        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.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/hsqldb/types/BinaryType;
            0   17     1  session  Lorg/hsqldb/Session;
            0   17     2        a  Ljava/lang/Object;
            0   17     3        b  Ljava/lang/Object;
            5   17     4   length  J
            9   16     6     blob  Lorg/hsqldb/types/BlobData;
    MethodParameters:
         Name  Flags
      session  
      a        
      b        

  public static org.hsqldb.types.BinaryType getBinaryType(int, long);
    descriptor: (IJ)Lorg/hsqldb/types/BinaryType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // int type
        start local 1 // long precision
         0: .line 792
            iload 0 /* type */
            lookupswitch { // 3
                   30: 2
                   60: 1
                   61: 1
              default: 3
          }
         1: .line 796
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.BinaryType
            dup
            iload 0 /* type */
            lload 1 /* precision */
            invokespecial org.hsqldb.types.BinaryType.<init>:(IJ)V
            areturn
         2: .line 799
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.BlobType
            dup
            lload 1 /* precision */
            invokespecial org.hsqldb.types.BlobType.<init>:(J)V
            areturn
         3: .line 802
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "BinaryType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // long precision
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       type  I
            0    4     1  precision  J
    MethodParameters:
           Name  Flags
      type       
      precision  
}
SourceFile: "BinaryType.java"