class org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation extends org.apache.lucene.search.DocIdSetIterator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation
  super_class: org.apache.lucene.search.DocIdSetIterator
{
  private final org.apache.lucene.search.DocIdSetIterator childApproximation;
    descriptor: Lorg/apache/lucene/search/DocIdSetIterator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  void <init>(org.apache.lucene.search.DocIdSetIterator, org.apache.lucene.util.BitSet);
    descriptor: (Lorg/apache/lucene/search/DocIdSetIterator;Lorg/apache/lucene/util/BitSet;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
        start local 1 // org.apache.lucene.search.DocIdSetIterator childApproximation
        start local 2 // org.apache.lucene.util.BitSet parentBits
         0: .line 208
            aload 0 /* this */
            invokespecial org.apache.lucene.search.DocIdSetIterator.<init>:()V
         1: .line 206
            aload 0 /* this */
            iconst_m1
            putfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.doc:I
         2: .line 209
            aload 0 /* this */
            aload 1 /* childApproximation */
            putfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.childApproximation:Lorg/apache/lucene/search/DocIdSetIterator;
         3: .line 210
            aload 0 /* this */
            aload 2 /* parentBits */
            putfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.parentBits:Lorg/apache/lucene/util/BitSet;
         4: .line 211
            return
        end local 2 // org.apache.lucene.util.BitSet parentBits
        end local 1 // org.apache.lucene.search.DocIdSetIterator childApproximation
        end local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/apache/lucene/search/join/ToParentBlockJoinQuery$ParentApproximation;
            0    5     1  childApproximation  Lorg/apache/lucene/search/DocIdSetIterator;
            0    5     2          parentBits  Lorg/apache/lucene/util/BitSet;
    MethodParameters:
                    Name  Flags
      childApproximation  
      parentBits          

  public int docID();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
         0: .line 215
            aload 0 /* this */
            getfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.doc:I
            ireturn
        end local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/join/ToParentBlockJoinQuery$ParentApproximation;

  public int nextDoc();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
         0: .line 220
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.doc:I
            iconst_1
            iadd
            invokevirtual org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.advance:(I)I
            ireturn
        end local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/join/ToParentBlockJoinQuery$ParentApproximation;
    Exceptions:
      throws java.io.IOException

  public int advance(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
        start local 1 // int target
         0: .line 225
            iload 1 /* target */
            aload 0 /* this */
            getfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.parentBits:Lorg/apache/lucene/util/BitSet;
            invokevirtual org.apache.lucene.util.BitSet.length:()I
            if_icmplt 2
         1: .line 226
            aload 0 /* this */
            ldc 2147483647
            dup_x1
            putfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.doc:I
            ireturn
         2: .line 228
      StackMap locals:
      StackMap stack:
            iload 1 /* target */
            ifne 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.parentBits:Lorg/apache/lucene/util/BitSet;
            iload 1 /* target */
            iconst_1
            isub
            invokevirtual org.apache.lucene.util.BitSet.prevSetBit:(I)I
            iconst_1
            iadd
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* firstChildTarget */
        start local 2 // int firstChildTarget
         5: .line 229
            aload 0 /* this */
            getfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.childApproximation:Lorg/apache/lucene/search/DocIdSetIterator;
            invokevirtual org.apache.lucene.search.DocIdSetIterator.docID:()I
            istore 3 /* childDoc */
        start local 3 // int childDoc
         6: .line 230
            iload 3 /* childDoc */
            iload 2 /* firstChildTarget */
            if_icmpge 8
         7: .line 231
            aload 0 /* this */
            getfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.childApproximation:Lorg/apache/lucene/search/DocIdSetIterator;
            iload 2 /* firstChildTarget */
            invokevirtual org.apache.lucene.search.DocIdSetIterator.advance:(I)I
            istore 3 /* childDoc */
         8: .line 233
      StackMap locals: int int
      StackMap stack:
            iload 3 /* childDoc */
            aload 0 /* this */
            getfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.parentBits:Lorg/apache/lucene/util/BitSet;
            invokevirtual org.apache.lucene.util.BitSet.length:()I
            iconst_1
            isub
            if_icmplt 10
         9: .line 234
            aload 0 /* this */
            ldc 2147483647
            dup_x1
            putfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.doc:I
            ireturn
        10: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.parentBits:Lorg/apache/lucene/util/BitSet;
            iload 3 /* childDoc */
            iconst_1
            iadd
            invokevirtual org.apache.lucene.util.BitSet.nextSetBit:(I)I
            dup_x1
            putfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.doc:I
            ireturn
        end local 3 // int childDoc
        end local 2 // int firstChildTarget
        end local 1 // int target
        end local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/apache/lucene/search/join/ToParentBlockJoinQuery$ParentApproximation;
            0   11     1            target  I
            5   11     2  firstChildTarget  I
            6   11     3          childDoc  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      target  

  public long cost();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
         0: .line 241
            aload 0 /* this */
            getfield org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation.childApproximation:Lorg/apache/lucene/search/DocIdSetIterator;
            invokevirtual org.apache.lucene.search.DocIdSetIterator.cost:()J
            lreturn
        end local 0 // org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/join/ToParentBlockJoinQuery$ParentApproximation;
}
SourceFile: "ToParentBlockJoinQuery.java"
NestHost: org.apache.lucene.search.join.ToParentBlockJoinQuery
InnerClasses:
  private ParentApproximation = org.apache.lucene.search.join.ToParentBlockJoinQuery$ParentApproximation of org.apache.lucene.search.join.ToParentBlockJoinQuery