class org.apache.lucene.util.packed.DirectPackedReader extends org.apache.lucene.util.packed.PackedInts$ReaderImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.lucene.util.packed.DirectPackedReader
  super_class: org.apache.lucene.util.packed.PackedInts$ReaderImpl
{
  final org.apache.lucene.store.IndexInput in;
    descriptor: Lorg/apache/lucene/store/IndexInput;
    flags: (0x0010) ACC_FINAL

  final int bitsPerValue;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final long startPointer;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  final long valueMask;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  void <init>(int, int, org.apache.lucene.store.IndexInput);
    descriptor: (IILorg/apache/lucene/store/IndexInput;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.lucene.util.packed.DirectPackedReader this
        start local 1 // int bitsPerValue
        start local 2 // int valueCount
        start local 3 // org.apache.lucene.store.IndexInput in
         0: .line 33
            aload 0 /* this */
            iload 2 /* valueCount */
            invokespecial org.apache.lucene.util.packed.PackedInts$ReaderImpl.<init>:(I)V
         1: .line 34
            aload 0 /* this */
            aload 3 /* in */
            putfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
         2: .line 35
            aload 0 /* this */
            iload 1 /* bitsPerValue */
            putfield org.apache.lucene.util.packed.DirectPackedReader.bitsPerValue:I
         3: .line 37
            aload 0 /* this */
            aload 3 /* in */
            invokevirtual org.apache.lucene.store.IndexInput.getFilePointer:()J
            putfield org.apache.lucene.util.packed.DirectPackedReader.startPointer:J
         4: .line 38
            iload 1 /* bitsPerValue */
            bipush 64
            if_icmpne 7
         5: .line 39
            aload 0 /* this */
            ldc -1
            putfield org.apache.lucene.util.packed.DirectPackedReader.valueMask:J
         6: .line 40
            goto 8
         7: .line 41
      StackMap locals: org.apache.lucene.util.packed.DirectPackedReader int int org.apache.lucene.store.IndexInput
      StackMap stack:
            aload 0 /* this */
            lconst_1
            iload 1 /* bitsPerValue */
            lshl
            lconst_1
            lsub
            putfield org.apache.lucene.util.packed.DirectPackedReader.valueMask:J
         8: .line 43
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.lucene.store.IndexInput in
        end local 2 // int valueCount
        end local 1 // int bitsPerValue
        end local 0 // org.apache.lucene.util.packed.DirectPackedReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/apache/lucene/util/packed/DirectPackedReader;
            0    9     1  bitsPerValue  I
            0    9     2    valueCount  I
            0    9     3            in  Lorg/apache/lucene/store/IndexInput;
    MethodParameters:
              Name  Flags
      bitsPerValue  
      valueCount    
      in            

  public long get(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // org.apache.lucene.util.packed.DirectPackedReader this
        start local 1 // int index
         0: .line 47
            iload 1 /* index */
            i2l
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.bitsPerValue:I
            i2l
            lmul
            lstore 2 /* majorBitPos */
        start local 2 // long majorBitPos
         1: .line 48
            lload 2 /* majorBitPos */
            iconst_3
            lushr
            lstore 4 /* elementPos */
        start local 4 // long elementPos
         2: .line 50
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.startPointer:J
            lload 4 /* elementPos */
            ladd
            invokevirtual org.apache.lucene.store.IndexInput.seek:(J)V
         3: .line 52
            lload 2 /* majorBitPos */
            ldc 7
            land
            l2i
            istore 6 /* bitPos */
        start local 6 // int bitPos
         4: .line 54
            iload 6 /* bitPos */
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.bitsPerValue:I
            iadd
            bipush 7
            iadd
            bipush -8
            iand
            istore 7 /* roundedBits */
        start local 7 // int roundedBits
         5: .line 56
            iload 7 /* roundedBits */
            iload 6 /* bitPos */
            isub
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.bitsPerValue:I
            isub
            istore 8 /* shiftRightBits */
        start local 8 // int shiftRightBits
         6: .line 59
            iload 7 /* roundedBits */
            iconst_3
            iushr
            tableswitch { // 1 - 9
                    1: 7
                    2: 9
                    3: 11
                    4: 13
                    5: 15
                    6: 17
                    7: 19
                    8: 21
                    9: 23
              default: 26
          }
         7: .line 61
      StackMap locals: org.apache.lucene.util.packed.DirectPackedReader int long long int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readByte:()B
            i2l
            lstore 9 /* rawValue */
        start local 9 // long rawValue
         8: .line 62
            goto 27
        end local 9 // long rawValue
         9: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readShort:()S
            i2l
            lstore 9 /* rawValue */
        start local 9 // long rawValue
        10: .line 65
            goto 27
        end local 9 // long rawValue
        11: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readShort:()S
            i2l
            bipush 8
            lshl
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readByte:()B
            i2l
            ldc 255
            land
            lor
            lstore 9 /* rawValue */
        start local 9 // long rawValue
        12: .line 68
            goto 27
        end local 9 // long rawValue
        13: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readInt:()I
            i2l
            lstore 9 /* rawValue */
        start local 9 // long rawValue
        14: .line 71
            goto 27
        end local 9 // long rawValue
        15: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readInt:()I
            i2l
            bipush 8
            lshl
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readByte:()B
            i2l
            ldc 255
            land
            lor
            lstore 9 /* rawValue */
        start local 9 // long rawValue
        16: .line 74
            goto 27
        end local 9 // long rawValue
        17: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readInt:()I
            i2l
            bipush 16
            lshl
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readShort:()S
            i2l
            ldc 65535
            land
            lor
            lstore 9 /* rawValue */
        start local 9 // long rawValue
        18: .line 77
            goto 27
        end local 9 // long rawValue
        19: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readInt:()I
            i2l
            bipush 24
            lshl
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readShort:()S
            i2l
            ldc 65535
            land
            bipush 8
            lshl
            lor
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readByte:()B
            i2l
            ldc 255
            land
            lor
            lstore 9 /* rawValue */
        start local 9 // long rawValue
        20: .line 80
            goto 27
        end local 9 // long rawValue
        21: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readLong:()J
            lstore 9 /* rawValue */
        start local 9 // long rawValue
        22: .line 83
            goto 27
        end local 9 // long rawValue
        23: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readLong:()J
            bipush 8
            iload 8 /* shiftRightBits */
            isub
            lshl
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.in:Lorg/apache/lucene/store/IndexInput;
            invokevirtual org.apache.lucene.store.IndexInput.readByte:()B
            i2l
            ldc 255
            land
            iload 8 /* shiftRightBits */
            lushr
            lor
            lstore 9 /* rawValue */
        start local 9 // long rawValue
        24: .line 88
            iconst_0
            istore 8 /* shiftRightBits */
        25: .line 89
            goto 27
        end local 9 // long rawValue
        26: .line 91
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "bitsPerValue too large: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.bitsPerValue:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        start local 9 // long rawValue
        27: .line 93
      StackMap locals: long
      StackMap stack:
            lload 9 /* rawValue */
            iload 8 /* shiftRightBits */
            lushr
            aload 0 /* this */
            getfield org.apache.lucene.util.packed.DirectPackedReader.valueMask:J
            land
        28: lreturn
        end local 9 // long rawValue
        end local 8 // int shiftRightBits
        end local 7 // int roundedBits
        end local 6 // int bitPos
        29: .line 95
      StackMap locals: org.apache.lucene.util.packed.DirectPackedReader int long long
      StackMap stack: java.io.IOException
            astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        30: .line 96
            new java.lang.RuntimeException
            dup
            aload 6 /* ioe */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException ioe
        end local 4 // long elementPos
        end local 2 // long majorBitPos
        end local 1 // int index
        end local 0 // org.apache.lucene.util.packed.DirectPackedReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   31     0            this  Lorg/apache/lucene/util/packed/DirectPackedReader;
            0   31     1           index  I
            1   31     2     majorBitPos  J
            2   31     4      elementPos  J
            4   29     6          bitPos  I
            5   29     7     roundedBits  I
            6   29     8  shiftRightBits  I
            8    9     9        rawValue  J
           10   11     9        rawValue  J
           12   13     9        rawValue  J
           14   15     9        rawValue  J
           16   17     9        rawValue  J
           18   19     9        rawValue  J
           20   21     9        rawValue  J
           22   23     9        rawValue  J
           24   26     9        rawValue  J
           27   29     9        rawValue  J
           30   31     6             ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2    28      29  Class java.io.IOException
    MethodParameters:
       Name  Flags
      index  

  public long ramBytesUsed();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.util.packed.DirectPackedReader this
         0: .line 102
            lconst_0
            lreturn
        end local 0 // org.apache.lucene.util.packed.DirectPackedReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/util/packed/DirectPackedReader;
}
SourceFile: "DirectPackedReader.java"
InnerClasses:
  abstract ReaderImpl = org.apache.lucene.util.packed.PackedInts$ReaderImpl of org.apache.lucene.util.packed.PackedInts