abstract class org.apache.lucene.index.TermsHashPerField implements java.lang.Comparable<org.apache.lucene.index.TermsHashPerField>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.lucene.index.TermsHashPerField
  super_class: java.lang.Object
{
  private static final int HASH_INIT_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private final org.apache.lucene.index.TermsHashPerField nextPerField;
    descriptor: Lorg/apache/lucene/index/TermsHashPerField;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.util.IntBlockPool intPool;
    descriptor: Lorg/apache/lucene/util/IntBlockPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.apache.lucene.util.ByteBlockPool bytePool;
    descriptor: Lorg/apache/lucene/util/ByteBlockPool;
    flags: (0x0010) ACC_FINAL

  private int[] termStreamAddressBuffer;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

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

  private final int streamCount;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String fieldName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.apache.lucene.index.IndexOptions indexOptions;
    descriptor: Lorg/apache/lucene/index/IndexOptions;
    flags: (0x0010) ACC_FINAL

  private final org.apache.lucene.util.BytesRefHash bytesHash;
    descriptor: Lorg/apache/lucene/util/BytesRefHash;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  org.apache.lucene.index.ParallelPostingsArray postingsArray;
    descriptor: Lorg/apache/lucene/index/ParallelPostingsArray;
    flags: (0x0000) 

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

  private int[] sortedTermIDs;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private boolean doNextCall;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 37
            ldc Lorg/apache/lucene/index/TermsHashPerField;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.lucene.index.TermsHashPerField.$assertionsDisabled:Z
         3: .line 38
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(int, org.apache.lucene.util.IntBlockPool, org.apache.lucene.util.ByteBlockPool, org.apache.lucene.util.ByteBlockPool, org.apache.lucene.util.Counter, org.apache.lucene.index.TermsHashPerField, java.lang.String, org.apache.lucene.index.IndexOptions);
    descriptor: (ILorg/apache/lucene/util/IntBlockPool;Lorg/apache/lucene/util/ByteBlockPool;Lorg/apache/lucene/util/ByteBlockPool;Lorg/apache/lucene/util/Counter;Lorg/apache/lucene/index/TermsHashPerField;Ljava/lang/String;Lorg/apache/lucene/index/IndexOptions;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=10, args_size=9
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // int streamCount
        start local 2 // org.apache.lucene.util.IntBlockPool intPool
        start local 3 // org.apache.lucene.util.ByteBlockPool bytePool
        start local 4 // org.apache.lucene.util.ByteBlockPool termBytePool
        start local 5 // org.apache.lucene.util.Counter bytesUsed
        start local 6 // org.apache.lucene.index.TermsHashPerField nextPerField
        start local 7 // java.lang.String fieldName
        start local 8 // org.apache.lucene.index.IndexOptions indexOptions
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 64
            aload 0 /* this */
            aload 2 /* intPool */
            putfield org.apache.lucene.index.TermsHashPerField.intPool:Lorg/apache/lucene/util/IntBlockPool;
         2: .line 65
            aload 0 /* this */
            aload 3 /* bytePool */
            putfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
         3: .line 66
            aload 0 /* this */
            iload 1 /* streamCount */
            putfield org.apache.lucene.index.TermsHashPerField.streamCount:I
         4: .line 67
            aload 0 /* this */
            aload 7 /* fieldName */
            putfield org.apache.lucene.index.TermsHashPerField.fieldName:Ljava/lang/String;
         5: .line 68
            aload 0 /* this */
            aload 6 /* nextPerField */
            putfield org.apache.lucene.index.TermsHashPerField.nextPerField:Lorg/apache/lucene/index/TermsHashPerField;
         6: .line 69
            getstatic org.apache.lucene.index.TermsHashPerField.$assertionsDisabled:Z
            ifne 7
            aload 8 /* indexOptions */
            getstatic org.apache.lucene.index.IndexOptions.NONE:Lorg/apache/lucene/index/IndexOptions;
            if_acmpne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 70
      StackMap locals: org.apache.lucene.index.TermsHashPerField int org.apache.lucene.util.IntBlockPool org.apache.lucene.util.ByteBlockPool org.apache.lucene.util.ByteBlockPool org.apache.lucene.util.Counter org.apache.lucene.index.TermsHashPerField java.lang.String org.apache.lucene.index.IndexOptions
      StackMap stack:
            aload 0 /* this */
            aload 8 /* indexOptions */
            putfield org.apache.lucene.index.TermsHashPerField.indexOptions:Lorg/apache/lucene/index/IndexOptions;
         8: .line 71
            new org.apache.lucene.index.TermsHashPerField$PostingsBytesStartArray
            dup
            aload 0 /* this */
            aload 5 /* bytesUsed */
            invokespecial org.apache.lucene.index.TermsHashPerField$PostingsBytesStartArray.<init>:(Lorg/apache/lucene/index/TermsHashPerField;Lorg/apache/lucene/util/Counter;)V
            astore 9 /* byteStarts */
        start local 9 // org.apache.lucene.index.TermsHashPerField$PostingsBytesStartArray byteStarts
         9: .line 72
            aload 0 /* this */
            new org.apache.lucene.util.BytesRefHash
            dup
            aload 4 /* termBytePool */
            iconst_4
            aload 9 /* byteStarts */
            invokespecial org.apache.lucene.util.BytesRefHash.<init>:(Lorg/apache/lucene/util/ByteBlockPool;ILorg/apache/lucene/util/BytesRefHash$BytesStartArray;)V
            putfield org.apache.lucene.index.TermsHashPerField.bytesHash:Lorg/apache/lucene/util/BytesRefHash;
        10: .line 73
            return
        end local 9 // org.apache.lucene.index.TermsHashPerField$PostingsBytesStartArray byteStarts
        end local 8 // org.apache.lucene.index.IndexOptions indexOptions
        end local 7 // java.lang.String fieldName
        end local 6 // org.apache.lucene.index.TermsHashPerField nextPerField
        end local 5 // org.apache.lucene.util.Counter bytesUsed
        end local 4 // org.apache.lucene.util.ByteBlockPool termBytePool
        end local 3 // org.apache.lucene.util.ByteBlockPool bytePool
        end local 2 // org.apache.lucene.util.IntBlockPool intPool
        end local 1 // int streamCount
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/apache/lucene/index/TermsHashPerField;
            0   11     1   streamCount  I
            0   11     2       intPool  Lorg/apache/lucene/util/IntBlockPool;
            0   11     3      bytePool  Lorg/apache/lucene/util/ByteBlockPool;
            0   11     4  termBytePool  Lorg/apache/lucene/util/ByteBlockPool;
            0   11     5     bytesUsed  Lorg/apache/lucene/util/Counter;
            0   11     6  nextPerField  Lorg/apache/lucene/index/TermsHashPerField;
            0   11     7     fieldName  Ljava/lang/String;
            0   11     8  indexOptions  Lorg/apache/lucene/index/IndexOptions;
            9   11     9    byteStarts  Lorg/apache/lucene/index/TermsHashPerField$PostingsBytesStartArray;
    MethodParameters:
              Name  Flags
      streamCount   
      intPool       
      bytePool      
      termBytePool  
      bytesUsed     
      nextPerField  
      fieldName     
      indexOptions  

  void reset();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.TermsHashPerField this
         0: .line 76
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytesHash:Lorg/apache/lucene/util/BytesRefHash;
            iconst_0
            invokevirtual org.apache.lucene.util.BytesRefHash.clear:(Z)V
         1: .line 77
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.TermsHashPerField.sortedTermIDs:[I
         2: .line 78
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.nextPerField:Lorg/apache/lucene/index/TermsHashPerField;
            ifnull 4
         3: .line 79
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.nextPerField:Lorg/apache/lucene/index/TermsHashPerField;
            invokevirtual org.apache.lucene.index.TermsHashPerField.reset:()V
         4: .line 81
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/lucene/index/TermsHashPerField;

  final void initReader(org.apache.lucene.index.ByteSliceReader, int, int);
    descriptor: (Lorg/apache/lucene/index/ByteSliceReader;II)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // org.apache.lucene.index.ByteSliceReader reader
        start local 2 // int termID
        start local 3 // int stream
         0: .line 84
            getstatic org.apache.lucene.index.TermsHashPerField.$assertionsDisabled:Z
            ifne 1
            iload 3 /* stream */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamCount:I
            if_icmplt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.postingsArray:Lorg/apache/lucene/index/ParallelPostingsArray;
            getfield org.apache.lucene.index.ParallelPostingsArray.addressOffset:[I
            iload 2 /* termID */
            iaload
            istore 4 /* streamStartOffset */
        start local 4 // int streamStartOffset
         2: .line 86
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.intPool:Lorg/apache/lucene/util/IntBlockPool;
            getfield org.apache.lucene.util.IntBlockPool.buffers:[[I
            iload 4 /* streamStartOffset */
            bipush 13
            ishr
            aaload
            astore 5 /* streamAddressBuffer */
        start local 5 // int[] streamAddressBuffer
         3: .line 87
            iload 4 /* streamStartOffset */
            sipush 8191
            iand
            istore 6 /* offsetInAddressBuffer */
        start local 6 // int offsetInAddressBuffer
         4: .line 88
            aload 1 /* reader */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
         5: .line 89
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.postingsArray:Lorg/apache/lucene/index/ParallelPostingsArray;
            getfield org.apache.lucene.index.ParallelPostingsArray.byteStarts:[I
            iload 2 /* termID */
            iaload
            iload 3 /* stream */
            getstatic org.apache.lucene.util.ByteBlockPool.FIRST_LEVEL_SIZE:I
            imul
            iadd
         6: .line 90
            aload 5 /* streamAddressBuffer */
            iload 6 /* offsetInAddressBuffer */
            iload 3 /* stream */
            iadd
            iaload
         7: .line 88
            invokevirtual org.apache.lucene.index.ByteSliceReader.init:(Lorg/apache/lucene/util/ByteBlockPool;II)V
         8: .line 91
            return
        end local 6 // int offsetInAddressBuffer
        end local 5 // int[] streamAddressBuffer
        end local 4 // int streamStartOffset
        end local 3 // int stream
        end local 2 // int termID
        end local 1 // org.apache.lucene.index.ByteSliceReader reader
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lorg/apache/lucene/index/TermsHashPerField;
            0    9     1                 reader  Lorg/apache/lucene/index/ByteSliceReader;
            0    9     2                 termID  I
            0    9     3                 stream  I
            2    9     4      streamStartOffset  I
            3    9     5    streamAddressBuffer  [I
            4    9     6  offsetInAddressBuffer  I
    MethodParameters:
        Name  Flags
      reader  
      termID  
      stream  

  final void sortTerms();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.TermsHashPerField this
         0: .line 100
            getstatic org.apache.lucene.index.TermsHashPerField.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.sortedTermIDs:[I
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytesHash:Lorg/apache/lucene/util/BytesRefHash;
            invokevirtual org.apache.lucene.util.BytesRefHash.sort:()[I
            putfield org.apache.lucene.index.TermsHashPerField.sortedTermIDs:[I
         2: .line 102
            return
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/TermsHashPerField;

  final int[] getSortedTermIDs();
    descriptor: ()[I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.TermsHashPerField this
         0: .line 108
            getstatic org.apache.lucene.index.TermsHashPerField.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.sortedTermIDs:[I
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.sortedTermIDs:[I
            areturn
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/index/TermsHashPerField;

  final void reinitHash();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.TermsHashPerField this
         0: .line 113
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.index.TermsHashPerField.sortedTermIDs:[I
         1: .line 114
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytesHash:Lorg/apache/lucene/util/BytesRefHash;
            invokevirtual org.apache.lucene.util.BytesRefHash.reinit:()V
         2: .line 115
            return
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/TermsHashPerField;

  private void add(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // int textStart
        start local 2 // int docID
         0: .line 124
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytesHash:Lorg/apache/lucene/util/BytesRefHash;
            iload 1 /* textStart */
            invokevirtual org.apache.lucene.util.BytesRefHash.addByPoolOffset:(I)I
            istore 3 /* termID */
        start local 3 // int termID
         1: .line 125
            iload 3 /* termID */
            iflt 4
         2: .line 128
            aload 0 /* this */
            iload 3 /* termID */
            iload 2 /* docID */
            invokevirtual org.apache.lucene.index.TermsHashPerField.initStreamSlices:(II)V
         3: .line 129
            goto 5
         4: .line 130
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* termID */
            iload 2 /* docID */
            invokevirtual org.apache.lucene.index.TermsHashPerField.positionStreamSlice:(II)I
            pop
         5: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int termID
        end local 2 // int docID
        end local 1 // int textStart
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/lucene/index/TermsHashPerField;
            0    6     1  textStart  I
            0    6     2      docID  I
            1    6     3     termID  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      textStart  
      docID      final

  private void initStreamSlices(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // int termID
        start local 2 // int docID
         0: .line 137
            iconst_2
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamCount:I
            imul
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.intPool:Lorg/apache/lucene/util/IntBlockPool;
            getfield org.apache.lucene.util.IntBlockPool.intUpto:I
            iadd
            sipush 8192
            if_icmple 2
         1: .line 139
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.intPool:Lorg/apache/lucene/util/IntBlockPool;
            invokevirtual org.apache.lucene.util.IntBlockPool.nextBuffer:()V
         2: .line 142
      StackMap locals:
      StackMap stack:
            ldc 32768
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
            getfield org.apache.lucene.util.ByteBlockPool.byteUpto:I
            isub
            iconst_2
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamCount:I
            imul
            getstatic org.apache.lucene.util.ByteBlockPool.FIRST_LEVEL_SIZE:I
            imul
            if_icmpge 4
         3: .line 144
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
            invokevirtual org.apache.lucene.util.ByteBlockPool.nextBuffer:()V
         4: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.intPool:Lorg/apache/lucene/util/IntBlockPool;
            getfield org.apache.lucene.util.IntBlockPool.buffer:[I
            putfield org.apache.lucene.index.TermsHashPerField.termStreamAddressBuffer:[I
         5: .line 148
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.intPool:Lorg/apache/lucene/util/IntBlockPool;
            getfield org.apache.lucene.util.IntBlockPool.intUpto:I
            putfield org.apache.lucene.index.TermsHashPerField.streamAddressOffset:I
         6: .line 149
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.intPool:Lorg/apache/lucene/util/IntBlockPool;
            dup
            getfield org.apache.lucene.util.IntBlockPool.intUpto:I
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamCount:I
            iadd
            putfield org.apache.lucene.util.IntBlockPool.intUpto:I
         7: .line 151
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.postingsArray:Lorg/apache/lucene/index/ParallelPostingsArray;
            getfield org.apache.lucene.index.ParallelPostingsArray.addressOffset:[I
            iload 1 /* termID */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamAddressOffset:I
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.intPool:Lorg/apache/lucene/util/IntBlockPool;
            getfield org.apache.lucene.util.IntBlockPool.intOffset:I
            iadd
            iastore
         8: .line 153
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 13
        10: .line 156
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
            getstatic org.apache.lucene.util.ByteBlockPool.FIRST_LEVEL_SIZE:I
            invokevirtual org.apache.lucene.util.ByteBlockPool.newSlice:(I)I
            istore 4 /* upto */
        start local 4 // int upto
        11: .line 157
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.termStreamAddressBuffer:[I
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamAddressOffset:I
            iload 3 /* i */
            iadd
            iload 4 /* upto */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
            getfield org.apache.lucene.util.ByteBlockPool.byteOffset:I
            iadd
            iastore
        end local 4 // int upto
        12: .line 153
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamCount:I
            if_icmplt 10
        end local 3 // int i
        14: .line 159
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.postingsArray:Lorg/apache/lucene/index/ParallelPostingsArray;
            getfield org.apache.lucene.index.ParallelPostingsArray.byteStarts:[I
            iload 1 /* termID */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.termStreamAddressBuffer:[I
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamAddressOffset:I
            iaload
            iastore
        15: .line 160
            aload 0 /* this */
            iload 1 /* termID */
            iload 2 /* docID */
            invokevirtual org.apache.lucene.index.TermsHashPerField.newTerm:(II)V
        16: .line 161
            return
        end local 2 // int docID
        end local 1 // int termID
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/apache/lucene/index/TermsHashPerField;
            0   17     1  termID  I
            0   17     2   docID  I
            9   14     3       i  I
           11   12     4    upto  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      termID  
      docID   

  private boolean assertDocId(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // int docId
         0: .line 164
            getstatic org.apache.lucene.index.TermsHashPerField.$assertionsDisabled:Z
            ifne 1
            iload 1 /* docId */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.lastDocID:I
            if_icmpge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "docID must be >= "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.lastDocID:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " but was: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* docId */
            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
         1: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* docId */
            putfield org.apache.lucene.index.TermsHashPerField.lastDocID:I
         2: .line 166
            iconst_1
            ireturn
        end local 1 // int docId
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/lucene/index/TermsHashPerField;
            0    3     1  docId  I
    MethodParameters:
       Name  Flags
      docId  

  void add(org.apache.lucene.util.BytesRef, int);
    descriptor: (Lorg/apache/lucene/util/BytesRef;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // org.apache.lucene.util.BytesRef termBytes
        start local 2 // int docID
         0: .line 173
            getstatic org.apache.lucene.index.TermsHashPerField.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 2 /* docID */
            invokevirtual org.apache.lucene.index.TermsHashPerField.assertDocId:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytesHash:Lorg/apache/lucene/util/BytesRefHash;
            aload 1 /* termBytes */
            invokevirtual org.apache.lucene.util.BytesRefHash.add:(Lorg/apache/lucene/util/BytesRef;)I
            istore 3 /* termID */
        start local 3 // int termID
         2: .line 179
            iload 3 /* termID */
            iflt 5
         3: .line 181
            aload 0 /* this */
            iload 3 /* termID */
            iload 2 /* docID */
            invokevirtual org.apache.lucene.index.TermsHashPerField.initStreamSlices:(II)V
         4: .line 182
            goto 6
         5: .line 183
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* termID */
            iload 2 /* docID */
            invokevirtual org.apache.lucene.index.TermsHashPerField.positionStreamSlice:(II)I
            istore 3 /* termID */
         6: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.doNextCall:Z
            ifeq 8
         7: .line 186
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.nextPerField:Lorg/apache/lucene/index/TermsHashPerField;
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.postingsArray:Lorg/apache/lucene/index/ParallelPostingsArray;
            getfield org.apache.lucene.index.ParallelPostingsArray.textStarts:[I
            iload 3 /* termID */
            iaload
            iload 2 /* docID */
            invokevirtual org.apache.lucene.index.TermsHashPerField.add:(II)V
         8: .line 188
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int termID
        end local 2 // int docID
        end local 1 // org.apache.lucene.util.BytesRef termBytes
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/apache/lucene/index/TermsHashPerField;
            0    9     1  termBytes  Lorg/apache/lucene/util/BytesRef;
            0    9     2      docID  I
            2    9     3     termID  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      termBytes  
      docID      final

  private int positionStreamSlice(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // int termID
        start local 2 // int docID
         0: .line 191
            iload 1 /* termID */
            ineg
            iconst_1
            isub
            istore 1 /* termID */
         1: .line 192
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.postingsArray:Lorg/apache/lucene/index/ParallelPostingsArray;
            getfield org.apache.lucene.index.ParallelPostingsArray.addressOffset:[I
            iload 1 /* termID */
            iaload
            istore 3 /* intStart */
        start local 3 // int intStart
         2: .line 193
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.intPool:Lorg/apache/lucene/util/IntBlockPool;
            getfield org.apache.lucene.util.IntBlockPool.buffers:[[I
            iload 3 /* intStart */
            bipush 13
            ishr
            aaload
            putfield org.apache.lucene.index.TermsHashPerField.termStreamAddressBuffer:[I
         3: .line 194
            aload 0 /* this */
            iload 3 /* intStart */
            sipush 8191
            iand
            putfield org.apache.lucene.index.TermsHashPerField.streamAddressOffset:I
         4: .line 195
            aload 0 /* this */
            iload 1 /* termID */
            iload 2 /* docID */
            invokevirtual org.apache.lucene.index.TermsHashPerField.addTerm:(II)V
         5: .line 196
            iload 1 /* termID */
            ireturn
        end local 3 // int intStart
        end local 2 // int docID
        end local 1 // int termID
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/lucene/index/TermsHashPerField;
            0    6     1    termID  I
            0    6     2     docID  I
            2    6     3  intStart  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      termID  
      docID   final

  final void writeByte(int, byte);
    descriptor: (IB)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // int stream
        start local 2 // byte b
         0: .line 200
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamAddressOffset:I
            iload 1 /* stream */
            iadd
            istore 3 /* streamAddress */
        start local 3 // int streamAddress
         1: .line 201
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.termStreamAddressBuffer:[I
            iload 3 /* streamAddress */
            iaload
            istore 4 /* upto */
        start local 4 // int upto
         2: .line 202
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
            getfield org.apache.lucene.util.ByteBlockPool.buffers:[[B
            iload 4 /* upto */
            bipush 15
            ishr
            aaload
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         3: .line 203
            getstatic org.apache.lucene.index.TermsHashPerField.$assertionsDisabled:Z
            ifne 4
            aload 5 /* bytes */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 204
      StackMap locals: int int byte[]
      StackMap stack:
            iload 4 /* upto */
            sipush 32767
            iand
            istore 6 /* offset */
        start local 6 // int offset
         5: .line 205
            aload 5 /* bytes */
            iload 6 /* offset */
            baload
            ifeq 9
         6: .line 207
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
            aload 5 /* bytes */
            iload 6 /* offset */
            invokevirtual org.apache.lucene.util.ByteBlockPool.allocSlice:([BI)I
            istore 6 /* offset */
         7: .line 208
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
            getfield org.apache.lucene.util.ByteBlockPool.buffer:[B
            astore 5 /* bytes */
         8: .line 209
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.termStreamAddressBuffer:[I
            iload 3 /* streamAddress */
            iload 6 /* offset */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytePool:Lorg/apache/lucene/util/ByteBlockPool;
            getfield org.apache.lucene.util.ByteBlockPool.byteOffset:I
            iadd
            iastore
         9: .line 211
      StackMap locals: int
      StackMap stack:
            aload 5 /* bytes */
            iload 6 /* offset */
            iload 2 /* b */
            bastore
        10: .line 212
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.termStreamAddressBuffer:[I
            iload 3 /* streamAddress */
            dup2
            iaload
            iconst_1
            iadd
            iastore
        11: .line 213
            return
        end local 6 // int offset
        end local 5 // byte[] bytes
        end local 4 // int upto
        end local 3 // int streamAddress
        end local 2 // byte b
        end local 1 // int stream
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/apache/lucene/index/TermsHashPerField;
            0   12     1         stream  I
            0   12     2              b  B
            1   12     3  streamAddress  I
            2   12     4           upto  I
            3   12     5          bytes  [B
            5   12     6         offset  I
    MethodParameters:
        Name  Flags
      stream  
      b       

  final void writeBytes(int, byte[], int, int);
    descriptor: (I[BII)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // int stream
        start local 2 // byte[] b
        start local 3 // int offset
        start local 4 // int len
         0: .line 217
            iload 3 /* offset */
            iload 4 /* len */
            iadd
            istore 5 /* end */
        start local 5 // int end
         1: .line 218
            iload 3 /* offset */
            istore 6 /* i */
        start local 6 // int i
         2: goto 5
         3: .line 219
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* stream */
            aload 2 /* b */
            iload 6 /* i */
            baload
            invokevirtual org.apache.lucene.index.TermsHashPerField.writeByte:(IB)V
         4: .line 218
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 6 /* i */
            iload 5 /* end */
            if_icmplt 3
        end local 6 // int i
         6: .line 220
            return
        end local 5 // int end
        end local 4 // int len
        end local 3 // int offset
        end local 2 // byte[] b
        end local 1 // int stream
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/lucene/index/TermsHashPerField;
            0    7     1  stream  I
            0    7     2       b  [B
            0    7     3  offset  I
            0    7     4     len  I
            1    7     5     end  I
            2    6     6       i  I
    MethodParameters:
        Name  Flags
      stream  
      b       
      offset  
      len     

  final void writeVInt(int, int);
    descriptor: (II)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // int stream
        start local 2 // int i
         0: .line 223
            getstatic org.apache.lucene.index.TermsHashPerField.$assertionsDisabled:Z
            ifne 3
            iload 1 /* stream */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.streamCount:I
            if_icmplt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* stream */
            iload 2 /* i */
            bipush 127
            iand
            sipush 128
            ior
            i2b
            invokevirtual org.apache.lucene.index.TermsHashPerField.writeByte:(IB)V
         2: .line 226
            iload 2 /* i */
            bipush 7
            iushr
            istore 2 /* i */
         3: .line 224
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            bipush -128
            iand
            ifne 1
         4: .line 228
            aload 0 /* this */
            iload 1 /* stream */
            iload 2 /* i */
            i2b
            invokevirtual org.apache.lucene.index.TermsHashPerField.writeByte:(IB)V
         5: .line 229
            return
        end local 2 // int i
        end local 1 // int stream
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/lucene/index/TermsHashPerField;
            0    6     1  stream  I
            0    6     2       i  I
    MethodParameters:
        Name  Flags
      stream  
      i       

  final org.apache.lucene.index.TermsHashPerField getNextPerField();
    descriptor: ()Lorg/apache/lucene/index/TermsHashPerField;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.TermsHashPerField this
         0: .line 232
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.nextPerField:Lorg/apache/lucene/index/TermsHashPerField;
            areturn
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/TermsHashPerField;

  final java.lang.String getFieldName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.TermsHashPerField this
         0: .line 236
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.fieldName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/TermsHashPerField;

  public final int compareTo(org.apache.lucene.index.TermsHashPerField);
    descriptor: (Lorg/apache/lucene/index/TermsHashPerField;)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // org.apache.lucene.index.TermsHashPerField other
         0: .line 288
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.fieldName:Ljava/lang/String;
            aload 1 /* other */
            getfield org.apache.lucene.index.TermsHashPerField.fieldName:Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // org.apache.lucene.index.TermsHashPerField other
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/lucene/index/TermsHashPerField;
            0    1     1  other  Lorg/apache/lucene/index/TermsHashPerField;
    MethodParameters:
       Name  Flags
      other  

  void finish();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.TermsHashPerField this
         0: .line 294
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.nextPerField:Lorg/apache/lucene/index/TermsHashPerField;
            ifnull 2
         1: .line 295
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.nextPerField:Lorg/apache/lucene/index/TermsHashPerField;
            invokevirtual org.apache.lucene.index.TermsHashPerField.finish:()V
         2: .line 297
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/index/TermsHashPerField;
    Exceptions:
      throws java.io.IOException

  final int getNumTerms();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.TermsHashPerField this
         0: .line 300
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.bytesHash:Lorg/apache/lucene/util/BytesRefHash;
            invokevirtual org.apache.lucene.util.BytesRefHash.size:()I
            ireturn
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/TermsHashPerField;

  boolean start(org.apache.lucene.index.IndexableField, boolean);
    descriptor: (Lorg/apache/lucene/index/IndexableField;Z)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.lucene.index.TermsHashPerField this
        start local 1 // org.apache.lucene.index.IndexableField field
        start local 2 // boolean first
         0: .line 307
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.nextPerField:Lorg/apache/lucene/index/TermsHashPerField;
            ifnull 2
         1: .line 308
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.index.TermsHashPerField.nextPerField:Lorg/apache/lucene/index/TermsHashPerField;
            aload 1 /* field */
            iload 2 /* first */
            invokevirtual org.apache.lucene.index.TermsHashPerField.start:(Lorg/apache/lucene/index/IndexableField;Z)Z
            putfield org.apache.lucene.index.TermsHashPerField.doNextCall:Z
         2: .line 310
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // boolean first
        end local 1 // org.apache.lucene.index.IndexableField field
        end local 0 // org.apache.lucene.index.TermsHashPerField this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/lucene/index/TermsHashPerField;
            0    3     1  field  Lorg/apache/lucene/index/IndexableField;
            0    3     2  first  Z
    MethodParameters:
       Name  Flags
      field  
      first  

  abstract void newTerm(int, int);
    descriptor: (II)V
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      termID  
      docID   final

  abstract void addTerm(int, int);
    descriptor: (II)V
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      termID  
      docID   final

  abstract void newPostingsArray();
    descriptor: ()V
    flags: (0x0400) ACC_ABSTRACT

  abstract org.apache.lucene.index.ParallelPostingsArray createPostingsArray(int);
    descriptor: (I)Lorg/apache/lucene/index/ParallelPostingsArray;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      size  

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.lucene.index.TermsHashPerField
            invokevirtual org.apache.lucene.index.TermsHashPerField.compareTo:(Lorg/apache/lucene/index/TermsHashPerField;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Lorg/apache/lucene/index/TermsHashPerField;>;
SourceFile: "TermsHashPerField.java"
NestMembers:
  org.apache.lucene.index.TermsHashPerField$PostingsBytesStartArray
InnerClasses:
  private final PostingsBytesStartArray = org.apache.lucene.index.TermsHashPerField$PostingsBytesStartArray of org.apache.lucene.index.TermsHashPerField
  public abstract BytesStartArray = org.apache.lucene.util.BytesRefHash$BytesStartArray of org.apache.lucene.util.BytesRefHash