public class org.apache.lucene.search.join.QueryBitSetProducer implements org.apache.lucene.search.join.BitSetProducer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.search.join.QueryBitSetProducer
  super_class: java.lang.Object
{
  private final org.apache.lucene.search.Query query;
    descriptor: Lorg/apache/lucene/search/Query;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final java.util.Map<org.apache.lucene.index.IndexReader$CacheKey, org.apache.lucene.search.DocIdSet> cache;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Lorg/apache/lucene/index/IndexReader$CacheKey;Lorg/apache/lucene/search/DocIdSet;>;

  public void <init>(org.apache.lucene.search.Query);
    descriptor: (Lorg/apache/lucene/search/Query;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
        start local 1 // org.apache.lucene.search.Query query
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.apache.lucene.search.join.QueryBitSetProducer.cache:Ljava/util/Map;
         2: .line 49
            aload 0 /* this */
            aload 1 /* query */
            putfield org.apache.lucene.search.join.QueryBitSetProducer.query:Lorg/apache/lucene/search/Query;
         3: .line 50
            return
        end local 1 // org.apache.lucene.search.Query query
        end local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/lucene/search/join/QueryBitSetProducer;
            0    4     1  query  Lorg/apache/lucene/search/Query;
    MethodParameters:
       Name  Flags
      query  

  public org.apache.lucene.search.Query getQuery();
    descriptor: ()Lorg/apache/lucene/search/Query;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
         0: .line 57
            aload 0 /* this */
            getfield org.apache.lucene.search.join.QueryBitSetProducer.query:Lorg/apache/lucene/search/Query;
            areturn
        end local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/join/QueryBitSetProducer;

  public org.apache.lucene.util.BitSet getBitSet(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/util/BitSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
         0: .line 62
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            astore 2 /* reader */
        start local 2 // org.apache.lucene.index.LeafReader reader
         1: .line 63
            aload 2 /* reader */
            invokevirtual org.apache.lucene.index.LeafReader.getCoreCacheHelper:()Lorg/apache/lucene/index/IndexReader$CacheHelper;
            astore 3 /* cacheHelper */
        start local 3 // org.apache.lucene.index.IndexReader$CacheHelper cacheHelper
         2: .line 65
            aconst_null
            astore 4 /* docIdSet */
        start local 4 // org.apache.lucene.search.DocIdSet docIdSet
         3: .line 66
            aload 3 /* cacheHelper */
            ifnull 5
         4: .line 67
            aload 0 /* this */
            getfield org.apache.lucene.search.join.QueryBitSetProducer.cache:Ljava/util/Map;
            aload 3 /* cacheHelper */
            invokeinterface org.apache.lucene.index.IndexReader$CacheHelper.getKey:()Lorg/apache/lucene/index/IndexReader$CacheKey;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.search.DocIdSet
            astore 4 /* docIdSet */
         5: .line 69
      StackMap locals: org.apache.lucene.index.LeafReader org.apache.lucene.index.IndexReader$CacheHelper org.apache.lucene.search.DocIdSet
      StackMap stack:
            aload 4 /* docIdSet */
            ifnonnull 18
         6: .line 70
            aload 1 /* context */
            invokestatic org.apache.lucene.index.ReaderUtil.getTopLevelContext:(Lorg/apache/lucene/index/IndexReaderContext;)Lorg/apache/lucene/index/IndexReaderContext;
            astore 5 /* topLevelContext */
        start local 5 // org.apache.lucene.index.IndexReaderContext topLevelContext
         7: .line 71
            new org.apache.lucene.search.IndexSearcher
            dup
            aload 5 /* topLevelContext */
            invokespecial org.apache.lucene.search.IndexSearcher.<init>:(Lorg/apache/lucene/index/IndexReaderContext;)V
            astore 6 /* searcher */
        start local 6 // org.apache.lucene.search.IndexSearcher searcher
         8: .line 72
            aload 6 /* searcher */
            aconst_null
            invokevirtual org.apache.lucene.search.IndexSearcher.setQueryCache:(Lorg/apache/lucene/search/QueryCache;)V
         9: .line 73
            aload 6 /* searcher */
            aload 0 /* this */
            getfield org.apache.lucene.search.join.QueryBitSetProducer.query:Lorg/apache/lucene/search/Query;
            invokevirtual org.apache.lucene.search.IndexSearcher.rewrite:(Lorg/apache/lucene/search/Query;)Lorg/apache/lucene/search/Query;
            astore 7 /* rewritten */
        start local 7 // org.apache.lucene.search.Query rewritten
        10: .line 74
            aload 6 /* searcher */
            aload 7 /* rewritten */
            getstatic org.apache.lucene.search.ScoreMode.COMPLETE_NO_SCORES:Lorg/apache/lucene/search/ScoreMode;
            fconst_1
            invokevirtual org.apache.lucene.search.IndexSearcher.createWeight:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/ScoreMode;F)Lorg/apache/lucene/search/Weight;
            astore 8 /* weight */
        start local 8 // org.apache.lucene.search.Weight weight
        11: .line 75
            aload 8 /* weight */
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.scorer:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/Scorer;
            astore 9 /* s */
        start local 9 // org.apache.lucene.search.Scorer s
        12: .line 77
            aload 9 /* s */
            ifnonnull 15
        13: .line 78
            getstatic org.apache.lucene.search.DocIdSet.EMPTY:Lorg/apache/lucene/search/DocIdSet;
            astore 4 /* docIdSet */
        14: .line 79
            goto 16
        15: .line 80
      StackMap locals: org.apache.lucene.search.join.QueryBitSetProducer org.apache.lucene.index.LeafReaderContext org.apache.lucene.index.LeafReader org.apache.lucene.index.IndexReader$CacheHelper org.apache.lucene.search.DocIdSet org.apache.lucene.index.IndexReaderContext org.apache.lucene.search.IndexSearcher org.apache.lucene.search.Query org.apache.lucene.search.Weight org.apache.lucene.search.Scorer
      StackMap stack:
            new org.apache.lucene.util.BitDocIdSet
            dup
            aload 9 /* s */
            invokevirtual org.apache.lucene.search.Scorer.iterator:()Lorg/apache/lucene/search/DocIdSetIterator;
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            invokevirtual org.apache.lucene.index.LeafReader.maxDoc:()I
            invokestatic org.apache.lucene.util.BitSet.of:(Lorg/apache/lucene/search/DocIdSetIterator;I)Lorg/apache/lucene/util/BitSet;
            invokespecial org.apache.lucene.util.BitDocIdSet.<init>:(Lorg/apache/lucene/util/BitSet;)V
            astore 4 /* docIdSet */
        16: .line 82
      StackMap locals:
      StackMap stack:
            aload 3 /* cacheHelper */
            ifnull 18
        17: .line 83
            aload 0 /* this */
            getfield org.apache.lucene.search.join.QueryBitSetProducer.cache:Ljava/util/Map;
            aload 3 /* cacheHelper */
            invokeinterface org.apache.lucene.index.IndexReader$CacheHelper.getKey:()Lorg/apache/lucene/index/IndexReader$CacheKey;
            aload 4 /* docIdSet */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // org.apache.lucene.search.Scorer s
        end local 8 // org.apache.lucene.search.Weight weight
        end local 7 // org.apache.lucene.search.Query rewritten
        end local 6 // org.apache.lucene.search.IndexSearcher searcher
        end local 5 // org.apache.lucene.index.IndexReaderContext topLevelContext
        18: .line 86
      StackMap locals: org.apache.lucene.search.join.QueryBitSetProducer org.apache.lucene.index.LeafReaderContext org.apache.lucene.index.LeafReader org.apache.lucene.index.IndexReader$CacheHelper org.apache.lucene.search.DocIdSet
      StackMap stack:
            aload 4 /* docIdSet */
            getstatic org.apache.lucene.search.DocIdSet.EMPTY:Lorg/apache/lucene/search/DocIdSet;
            if_acmpne 19
            aconst_null
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 4 /* docIdSet */
            checkcast org.apache.lucene.util.BitDocIdSet
            invokevirtual org.apache.lucene.util.BitDocIdSet.bits:()Lorg/apache/lucene/util/BitSet;
      StackMap locals:
      StackMap stack: org.apache.lucene.util.BitSet
        20: areturn
        end local 4 // org.apache.lucene.search.DocIdSet docIdSet
        end local 3 // org.apache.lucene.index.IndexReader$CacheHelper cacheHelper
        end local 2 // org.apache.lucene.index.LeafReader reader
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lorg/apache/lucene/search/join/QueryBitSetProducer;
            0   21     1          context  Lorg/apache/lucene/index/LeafReaderContext;
            1   21     2           reader  Lorg/apache/lucene/index/LeafReader;
            2   21     3      cacheHelper  Lorg/apache/lucene/index/IndexReader$CacheHelper;
            3   21     4         docIdSet  Lorg/apache/lucene/search/DocIdSet;
            7   18     5  topLevelContext  Lorg/apache/lucene/index/IndexReaderContext;
            8   18     6         searcher  Lorg/apache/lucene/search/IndexSearcher;
           10   18     7        rewritten  Lorg/apache/lucene/search/Query;
           11   18     8           weight  Lorg/apache/lucene/search/Weight;
           12   18     9                s  Lorg/apache/lucene/search/Scorer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
         0: .line 91
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.search.join.QueryBitSetProducer.query:Lorg/apache/lucene/search/Query;
            invokevirtual org.apache.lucene.search.Query.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/join/QueryBitSetProducer;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
        start local 1 // java.lang.Object o
         0: .line 96
            aload 1 /* o */
            ifnull 1
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 2
         1: .line 97
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.apache.lucene.search.join.QueryBitSetProducer
            astore 2 /* other */
        start local 2 // org.apache.lucene.search.join.QueryBitSetProducer other
         3: .line 100
            aload 0 /* this */
            getfield org.apache.lucene.search.join.QueryBitSetProducer.query:Lorg/apache/lucene/search/Query;
            aload 2 /* other */
            getfield org.apache.lucene.search.join.QueryBitSetProducer.query:Lorg/apache/lucene/search/Query;
            invokevirtual org.apache.lucene.search.Query.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // org.apache.lucene.search.join.QueryBitSetProducer other
        end local 1 // java.lang.Object o
        end local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/lucene/search/join/QueryBitSetProducer;
            0    4     1      o  Ljava/lang/Object;
            3    4     2  other  Lorg/apache/lucene/search/join/QueryBitSetProducer;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
         0: .line 105
            bipush 31
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.hashCode:()I
            imul
            aload 0 /* this */
            getfield org.apache.lucene.search.join.QueryBitSetProducer.query:Lorg/apache/lucene/search/Query;
            invokevirtual org.apache.lucene.search.Query.hashCode:()I
            iadd
            ireturn
        end local 0 // org.apache.lucene.search.join.QueryBitSetProducer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/join/QueryBitSetProducer;
}
SourceFile: "QueryBitSetProducer.java"
InnerClasses:
  public abstract CacheHelper = org.apache.lucene.index.IndexReader$CacheHelper of org.apache.lucene.index.IndexReader
  public final CacheKey = org.apache.lucene.index.IndexReader$CacheKey of org.apache.lucene.index.IndexReader