public abstract class org.h2.value.ValueCollectionBase extends org.h2.value.Value
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.h2.value.ValueCollectionBase
  super_class: org.h2.value.Value
{
  final org.h2.value.Value[] values;
    descriptor: [Lorg/h2/value/Value;
    flags: (0x0010) ACC_FINAL

  private org.h2.value.TypeInfo type;
    descriptor: Lorg/h2/value/TypeInfo;
    flags: (0x0002) ACC_PRIVATE

  private int hash;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  void <init>(org.h2.value.Value[]);
    descriptor: ([Lorg/h2/value/Value;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.ValueCollectionBase this
        start local 1 // org.h2.value.Value[] values
         0: .line 28
            aload 0 /* this */
            invokespecial org.h2.value.Value.<init>:()V
         1: .line 29
            aload 0 /* this */
            aload 1 /* values */
            putfield org.h2.value.ValueCollectionBase.values:[Lorg/h2/value/Value;
         2: .line 30
            return
        end local 1 // org.h2.value.Value[] values
        end local 0 // org.h2.value.ValueCollectionBase this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/h2/value/ValueCollectionBase;
            0    3     1  values  [Lorg/h2/value/Value;
    MethodParameters:
        Name  Flags
      values  

  public org.h2.value.Value[] getList();
    descriptor: ()[Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueCollectionBase this
         0: .line 33
            aload 0 /* this */
            getfield org.h2.value.ValueCollectionBase.values:[Lorg/h2/value/Value;
            areturn
        end local 0 // org.h2.value.ValueCollectionBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueCollectionBase;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.h2.value.ValueCollectionBase this
         0: .line 38
            aload 0 /* this */
            getfield org.h2.value.ValueCollectionBase.hash:I
            ifeq 2
         1: .line 39
            aload 0 /* this */
            getfield org.h2.value.ValueCollectionBase.hash:I
            ireturn
         2: .line 41
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.ValueCollectionBase.getValueType:()I
            istore 1 /* h */
        start local 1 // int h
         3: .line 42
            aload 0 /* this */
            getfield org.h2.value.ValueCollectionBase.values:[Lorg/h2/value/Value;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: org.h2.value.ValueCollectionBase int top int int org.h2.value.Value[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* v */
        start local 2 // org.h2.value.Value v
         5: .line 43
            iload 1 /* h */
            bipush 31
            imul
            aload 2 /* v */
            invokevirtual org.h2.value.Value.hashCode:()I
            iadd
            istore 1 /* h */
        end local 2 // org.h2.value.Value v
         6: .line 42
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 4
         8: .line 45
            aload 0 /* this */
            iload 1 /* h */
            putfield org.h2.value.ValueCollectionBase.hash:I
         9: .line 46
            iload 1 /* h */
            ireturn
        end local 1 // int h
        end local 0 // org.h2.value.ValueCollectionBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/h2/value/ValueCollectionBase;
            3   10     1     h  I
            5    6     2     v  Lorg/h2/value/Value;

  public org.h2.value.TypeInfo getType();
    descriptor: ()Lorg/h2/value/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, args_size=1
        start local 0 // org.h2.value.ValueCollectionBase this
         0: .line 51
            aload 0 /* this */
            getfield org.h2.value.ValueCollectionBase.type:Lorg/h2/value/TypeInfo;
            astore 1 /* type */
        start local 1 // org.h2.value.TypeInfo type
         1: .line 52
            aload 1 /* type */
            ifnonnull 14
         2: .line 53
            lconst_0
            lstore 2 /* precision */
        start local 2 // long precision
         3: lconst_0
            lstore 4 /* displaySize */
        start local 4 // long displaySize
         4: .line 54
            aload 0 /* this */
            getfield org.h2.value.ValueCollectionBase.values:[Lorg/h2/value/Value;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 10
      StackMap locals: org.h2.value.ValueCollectionBase org.h2.value.TypeInfo long long top int int org.h2.value.Value[]
      StackMap stack:
         5: aload 9
            iload 7
            aaload
            astore 6 /* v */
        start local 6 // org.h2.value.Value v
         6: .line 55
            aload 6 /* v */
            invokevirtual org.h2.value.Value.getType:()Lorg/h2/value/TypeInfo;
            astore 10 /* t */
        start local 10 // org.h2.value.TypeInfo t
         7: .line 56
            lload 2 /* precision */
            aload 10 /* t */
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            ladd
            lstore 2 /* precision */
         8: .line 57
            lload 4 /* displaySize */
            aload 10 /* t */
            invokevirtual org.h2.value.TypeInfo.getDisplaySize:()I
            i2l
            ladd
            lstore 4 /* displaySize */
        end local 10 // org.h2.value.TypeInfo t
        end local 6 // org.h2.value.Value v
         9: .line 54
            iinc 7 1
      StackMap locals:
      StackMap stack:
        10: iload 7
            iload 8
            if_icmplt 5
        11: .line 59
            aload 0 /* this */
            new org.h2.value.TypeInfo
            dup
            aload 0 /* this */
            invokevirtual org.h2.value.ValueCollectionBase.getValueType:()I
            lload 2 /* precision */
            iconst_0
            lload 4 /* displaySize */
            invokestatic org.h2.util.MathUtils.convertLongToInt:(J)I
        12: .line 60
            aconst_null
            invokespecial org.h2.value.TypeInfo.<init>:(IJIILorg/h2/value/ExtTypeInfo;)V
            dup
            astore 1 /* type */
        13: .line 59
            putfield org.h2.value.ValueCollectionBase.type:Lorg/h2/value/TypeInfo;
        end local 4 // long displaySize
        end local 2 // long precision
        14: .line 62
      StackMap locals: org.h2.value.ValueCollectionBase org.h2.value.TypeInfo
      StackMap stack:
            aload 1 /* type */
            areturn
        end local 1 // org.h2.value.TypeInfo type
        end local 0 // org.h2.value.ValueCollectionBase this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/h2/value/ValueCollectionBase;
            1   15     1         type  Lorg/h2/value/TypeInfo;
            3   14     2    precision  J
            4   14     4  displaySize  J
            6    9     6            v  Lorg/h2/value/Value;
            7    9    10            t  Lorg/h2/value/TypeInfo;

  public int compareWithNull(org.h2.value.Value, boolean, org.h2.engine.Mode, org.h2.value.CompareMode);
    descriptor: (Lorg/h2/value/Value;ZLorg/h2/engine/Mode;Lorg/h2/value/CompareMode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=18, args_size=5
        start local 0 // org.h2.value.ValueCollectionBase this
        start local 1 // org.h2.value.Value v
        start local 2 // boolean forEquality
        start local 3 // org.h2.engine.Mode databaseMode
        start local 4 // org.h2.value.CompareMode compareMode
         0: .line 67
            aload 1 /* v */
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            if_acmpne 2
         1: .line 68
            ldc -2147483648
            ireturn
         2: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 5 /* l */
        start local 5 // org.h2.value.ValueCollectionBase l
         3: .line 71
            aload 5 /* l */
            invokevirtual org.h2.value.ValueCollectionBase.getValueType:()I
            istore 6 /* leftType */
        start local 6 // int leftType
         4: .line 72
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getValueType:()I
            istore 7 /* rightType */
        start local 7 // int rightType
         5: .line 73
            iload 7 /* rightType */
            bipush 17
            if_icmpeq 7
            iload 7 /* rightType */
            bipush 39
            if_icmpeq 7
         6: .line 74
            aload 1 /* v */
            iload 6 /* leftType */
            invokevirtual org.h2.value.Value.getDataConversionError:(I)Lorg/h2/message/DbException;
            athrow
         7: .line 76
      StackMap locals: org.h2.value.ValueCollectionBase int int
      StackMap stack:
            aload 1 /* v */
            checkcast org.h2.value.ValueCollectionBase
            astore 8 /* r */
        start local 8 // org.h2.value.ValueCollectionBase r
         8: .line 77
            aload 5 /* l */
            getfield org.h2.value.ValueCollectionBase.values:[Lorg/h2/value/Value;
            astore 9 /* leftArray */
        start local 9 // org.h2.value.Value[] leftArray
         9: aload 8 /* r */
            getfield org.h2.value.ValueCollectionBase.values:[Lorg/h2/value/Value;
            astore 10 /* rightArray */
        start local 10 // org.h2.value.Value[] rightArray
        10: .line 78
            aload 9 /* leftArray */
            arraylength
            istore 11 /* leftLength */
        start local 11 // int leftLength
        11: aload 10 /* rightArray */
            arraylength
            istore 12 /* rightLength */
        start local 12 // int rightLength
        12: .line 79
            iload 11 /* leftLength */
            iload 12 /* rightLength */
            if_icmpeq 17
        13: .line 80
            iload 6 /* leftType */
            bipush 39
            if_icmpeq 14
            iload 7 /* rightType */
            bipush 39
            if_icmpne 15
        14: .line 81
      StackMap locals: org.h2.value.ValueCollectionBase org.h2.value.Value int org.h2.engine.Mode org.h2.value.CompareMode org.h2.value.ValueCollectionBase int int org.h2.value.ValueCollectionBase org.h2.value.Value[] org.h2.value.Value[] int int
      StackMap stack:
            sipush 21002
            invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
            athrow
        15: .line 83
      StackMap locals:
      StackMap stack:
            iload 2 /* forEquality */
            ifeq 17
        16: .line 84
            iconst_1
            ireturn
        17: .line 87
      StackMap locals:
      StackMap stack:
            iload 2 /* forEquality */
            ifeq 33
        18: .line 88
            iconst_0
            istore 13 /* hasNull */
        start local 13 // boolean hasNull
        19: .line 89
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        20: goto 29
        21: .line 90
      StackMap locals: int int
      StackMap stack:
            aload 9 /* leftArray */
            iload 14 /* i */
            aaload
            astore 15 /* v1 */
        start local 15 // org.h2.value.Value v1
        22: .line 91
            aload 10 /* rightArray */
            iload 14 /* i */
            aaload
            astore 16 /* v2 */
        start local 16 // org.h2.value.Value v2
        23: .line 92
            aload 15 /* v1 */
            aload 16 /* v2 */
            iload 2 /* forEquality */
            aload 3 /* databaseMode */
            aload 4 /* compareMode */
            invokevirtual org.h2.value.Value.compareWithNull:(Lorg/h2/value/Value;ZLorg/h2/engine/Mode;Lorg/h2/value/CompareMode;)I
            istore 17 /* comp */
        start local 17 // int comp
        24: .line 93
            iload 17 /* comp */
            ifeq 28
        25: .line 94
            iload 17 /* comp */
            ldc -2147483648
            if_icmpeq 27
        26: .line 95
            iload 17 /* comp */
            ireturn
        27: .line 97
      StackMap locals: org.h2.value.Value org.h2.value.Value int
      StackMap stack:
            iconst_1
            istore 13 /* hasNull */
        end local 17 // int comp
        end local 16 // org.h2.value.Value v2
        end local 15 // org.h2.value.Value v1
        28: .line 89
      StackMap locals:
      StackMap stack:
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 14 /* i */
            iload 11 /* leftLength */
            if_icmplt 21
        end local 14 // int i
        30: .line 100
            iload 13 /* hasNull */
            ifeq 31
            ldc -2147483648
            goto 32
      StackMap locals:
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: ireturn
        end local 13 // boolean hasNull
        33: .line 102
      StackMap locals:
      StackMap stack:
            iload 11 /* leftLength */
            iload 12 /* rightLength */
            invokestatic java.lang.Math.min:(II)I
            istore 13 /* len */
        start local 13 // int len
        34: .line 103
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        35: goto 42
        36: .line 104
      StackMap locals: int int
      StackMap stack:
            aload 9 /* leftArray */
            iload 14 /* i */
            aaload
            astore 15 /* v1 */
        start local 15 // org.h2.value.Value v1
        37: .line 105
            aload 10 /* rightArray */
            iload 14 /* i */
            aaload
            astore 16 /* v2 */
        start local 16 // org.h2.value.Value v2
        38: .line 106
            aload 15 /* v1 */
            aload 16 /* v2 */
            iload 2 /* forEquality */
            aload 3 /* databaseMode */
            aload 4 /* compareMode */
            invokevirtual org.h2.value.Value.compareWithNull:(Lorg/h2/value/Value;ZLorg/h2/engine/Mode;Lorg/h2/value/CompareMode;)I
            istore 17 /* comp */
        start local 17 // int comp
        39: .line 107
            iload 17 /* comp */
            ifeq 41
        40: .line 108
            iload 17 /* comp */
            ireturn
        end local 17 // int comp
        end local 16 // org.h2.value.Value v2
        end local 15 // org.h2.value.Value v1
        41: .line 103
      StackMap locals:
      StackMap stack:
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 14 /* i */
            iload 13 /* len */
            if_icmplt 36
        end local 14 // int i
        43: .line 111
            iload 11 /* leftLength */
            iload 12 /* rightLength */
            invokestatic java.lang.Integer.compare:(II)I
            ireturn
        end local 13 // int len
        end local 12 // int rightLength
        end local 11 // int leftLength
        end local 10 // org.h2.value.Value[] rightArray
        end local 9 // org.h2.value.Value[] leftArray
        end local 8 // org.h2.value.ValueCollectionBase r
        end local 7 // int rightType
        end local 6 // int leftType
        end local 5 // org.h2.value.ValueCollectionBase l
        end local 4 // org.h2.value.CompareMode compareMode
        end local 3 // org.h2.engine.Mode databaseMode
        end local 2 // boolean forEquality
        end local 1 // org.h2.value.Value v
        end local 0 // org.h2.value.ValueCollectionBase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   44     0          this  Lorg/h2/value/ValueCollectionBase;
            0   44     1             v  Lorg/h2/value/Value;
            0   44     2   forEquality  Z
            0   44     3  databaseMode  Lorg/h2/engine/Mode;
            0   44     4   compareMode  Lorg/h2/value/CompareMode;
            3   44     5             l  Lorg/h2/value/ValueCollectionBase;
            4   44     6      leftType  I
            5   44     7     rightType  I
            8   44     8             r  Lorg/h2/value/ValueCollectionBase;
            9   44     9     leftArray  [Lorg/h2/value/Value;
           10   44    10    rightArray  [Lorg/h2/value/Value;
           11   44    11    leftLength  I
           12   44    12   rightLength  I
           19   33    13       hasNull  Z
           20   30    14             i  I
           22   28    15            v1  Lorg/h2/value/Value;
           23   28    16            v2  Lorg/h2/value/Value;
           24   28    17          comp  I
           34   44    13           len  I
           35   43    14             i  I
           37   41    15            v1  Lorg/h2/value/Value;
           38   41    16            v2  Lorg/h2/value/Value;
           39   41    17          comp  I
    MethodParameters:
              Name  Flags
      v             
      forEquality   
      databaseMode  
      compareMode   

  public boolean containsNull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.h2.value.ValueCollectionBase this
         0: .line 116
            aload 0 /* this */
            getfield org.h2.value.ValueCollectionBase.values:[Lorg/h2/value/Value;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: org.h2.value.ValueCollectionBase top int int org.h2.value.Value[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* v */
        start local 1 // org.h2.value.Value v
         2: .line 117
            aload 1 /* v */
            invokevirtual org.h2.value.Value.containsNull:()Z
            ifeq 4
         3: .line 118
            iconst_1
            ireturn
        end local 1 // org.h2.value.Value v
         4: .line 116
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 121
            iconst_0
            ireturn
        end local 0 // org.h2.value.ValueCollectionBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/h2/value/ValueCollectionBase;
            2    4     1     v  Lorg/h2/value/Value;

  public int getMemory();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.h2.value.ValueCollectionBase this
         0: .line 126
            bipush 72
            istore 1 /* memory */
        start local 1 // int memory
         1: .line 127
            aload 0 /* this */
            getfield org.h2.value.ValueCollectionBase.values:[Lorg/h2/value/Value;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.h2.value.ValueCollectionBase int top int int org.h2.value.Value[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* v */
        start local 2 // org.h2.value.Value v
         3: .line 128
            iload 1 /* memory */
            aload 2 /* v */
            invokevirtual org.h2.value.Value.getMemory:()I
            bipush 8
            iadd
            iadd
            istore 1 /* memory */
        end local 2 // org.h2.value.Value v
         4: .line 127
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 130
            iload 1 /* memory */
            ireturn
        end local 1 // int memory
        end local 0 // org.h2.value.ValueCollectionBase this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/h2/value/ValueCollectionBase;
            1    7     1  memory  I
            3    4     2       v  Lorg/h2/value/Value;
}
SourceFile: "ValueCollectionBase.java"