class org.apache.lucene.search.SynonymQuery$SynonymWeight extends org.apache.lucene.search.Weight
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.lucene.search.SynonymQuery$SynonymWeight
  super_class: org.apache.lucene.search.Weight
{
  private final org.apache.lucene.index.TermStates[] termStates;
    descriptor: [Lorg/apache/lucene/index/TermStates;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.search.similarities.Similarity similarity;
    descriptor: Lorg/apache/lucene/search/similarities/Similarity;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.search.similarities.Similarity$SimScorer simWeight;
    descriptor: Lorg/apache/lucene/search/similarities/Similarity$SimScorer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.search.ScoreMode scoreMode;
    descriptor: Lorg/apache/lucene/search/ScoreMode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.apache.lucene.search.SynonymQuery this$0;
    descriptor: Lorg/apache/lucene/search/SynonymQuery;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  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 222
            ldc Lorg/apache/lucene/search/SynonymQuery;
            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.search.SynonymQuery$SynonymWeight.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.apache.lucene.search.SynonymQuery, org.apache.lucene.search.Query, org.apache.lucene.search.IndexSearcher, org.apache.lucene.search.ScoreMode, float);
    descriptor: (Lorg/apache/lucene/search/SynonymQuery;Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/IndexSearcher;Lorg/apache/lucene/search/ScoreMode;F)V
    flags: (0x0000) 
    Code:
      stack=8, locals=14, args_size=6
        start local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
        start local 2 // org.apache.lucene.search.Query query
        start local 3 // org.apache.lucene.search.IndexSearcher searcher
        start local 4 // org.apache.lucene.search.ScoreMode scoreMode
        start local 5 // float boost
         0: .line 228
            aload 0 /* this */
            aload 1
            putfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
         1: .line 229
            aload 0 /* this */
            aload 2 /* query */
            invokespecial org.apache.lucene.search.Weight.<init>:(Lorg/apache/lucene/search/Query;)V
         2: .line 230
            getstatic org.apache.lucene.search.SynonymQuery$SynonymWeight.$assertionsDisabled:Z
            ifne 3
            aload 4 /* scoreMode */
            invokevirtual org.apache.lucene.search.ScoreMode.needsScores:()Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 231
      StackMap locals: org.apache.lucene.search.SynonymQuery$SynonymWeight org.apache.lucene.search.SynonymQuery org.apache.lucene.search.Query org.apache.lucene.search.IndexSearcher org.apache.lucene.search.ScoreMode float
      StackMap stack:
            aload 0 /* this */
            aload 4 /* scoreMode */
            putfield org.apache.lucene.search.SynonymQuery$SynonymWeight.scoreMode:Lorg/apache/lucene/search/ScoreMode;
         4: .line 232
            aload 3 /* searcher */
            aload 1
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            iconst_0
            aaload
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.term:Lorg/apache/lucene/index/Term;
            invokevirtual org.apache.lucene.index.Term.field:()Ljava/lang/String;
            invokevirtual org.apache.lucene.search.IndexSearcher.collectionStatistics:(Ljava/lang/String;)Lorg/apache/lucene/search/CollectionStatistics;
            astore 6 /* collectionStats */
        start local 6 // org.apache.lucene.search.CollectionStatistics collectionStats
         5: .line 233
            lconst_0
            lstore 7 /* docFreq */
        start local 7 // long docFreq
         6: .line 234
            lconst_0
            lstore 9 /* totalTermFreq */
        start local 9 // long totalTermFreq
         7: .line 235
            aload 0 /* this */
            aload 1
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            arraylength
            anewarray org.apache.lucene.index.TermStates
            putfield org.apache.lucene.search.SynonymQuery$SynonymWeight.termStates:[Lorg/apache/lucene/index/TermStates;
         8: .line 236
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         9: goto 17
        10: .line 237
      StackMap locals: org.apache.lucene.search.SynonymQuery$SynonymWeight org.apache.lucene.search.SynonymQuery org.apache.lucene.search.Query org.apache.lucene.search.IndexSearcher org.apache.lucene.search.ScoreMode float org.apache.lucene.search.CollectionStatistics long long int
      StackMap stack:
            aload 3 /* searcher */
            invokevirtual org.apache.lucene.search.IndexSearcher.getTopReaderContext:()Lorg/apache/lucene/index/IndexReaderContext;
            aload 1
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            iload 11 /* i */
            aaload
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.term:Lorg/apache/lucene/index/Term;
            iconst_1
            invokestatic org.apache.lucene.index.TermStates.build:(Lorg/apache/lucene/index/IndexReaderContext;Lorg/apache/lucene/index/Term;Z)Lorg/apache/lucene/index/TermStates;
            astore 12 /* ts */
        start local 12 // org.apache.lucene.index.TermStates ts
        11: .line 238
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.termStates:[Lorg/apache/lucene/index/TermStates;
            iload 11 /* i */
            aload 12 /* ts */
            aastore
        12: .line 239
            aload 12 /* ts */
            invokevirtual org.apache.lucene.index.TermStates.docFreq:()I
            ifle 16
        13: .line 240
            aload 3 /* searcher */
            aload 1
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            iload 11 /* i */
            aaload
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.term:Lorg/apache/lucene/index/Term;
            aload 12 /* ts */
            invokevirtual org.apache.lucene.index.TermStates.docFreq:()I
            aload 12 /* ts */
            invokevirtual org.apache.lucene.index.TermStates.totalTermFreq:()J
            invokevirtual org.apache.lucene.search.IndexSearcher.termStatistics:(Lorg/apache/lucene/index/Term;IJ)Lorg/apache/lucene/search/TermStatistics;
            astore 13 /* termStats */
        start local 13 // org.apache.lucene.search.TermStatistics termStats
        14: .line 241
            aload 13 /* termStats */
            invokevirtual org.apache.lucene.search.TermStatistics.docFreq:()J
            lload 7 /* docFreq */
            invokestatic java.lang.Math.max:(JJ)J
            lstore 7 /* docFreq */
        15: .line 242
            lload 9 /* totalTermFreq */
            aload 13 /* termStats */
            invokevirtual org.apache.lucene.search.TermStatistics.totalTermFreq:()J
            ladd
            lstore 9 /* totalTermFreq */
        end local 13 // org.apache.lucene.search.TermStatistics termStats
        end local 12 // org.apache.lucene.index.TermStates ts
        16: .line 236
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 11 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.termStates:[Lorg/apache/lucene/index/TermStates;
            arraylength
            if_icmplt 10
        end local 11 // int i
        18: .line 245
            aload 0 /* this */
            aload 3 /* searcher */
            invokevirtual org.apache.lucene.search.IndexSearcher.getSimilarity:()Lorg/apache/lucene/search/similarities/Similarity;
            putfield org.apache.lucene.search.SynonymQuery$SynonymWeight.similarity:Lorg/apache/lucene/search/similarities/Similarity;
        19: .line 246
            lload 7 /* docFreq */
            lconst_0
            lcmp
            ifle 23
        20: .line 247
            new org.apache.lucene.search.TermStatistics
            dup
            new org.apache.lucene.util.BytesRef
            dup
            ldc "synonym pseudo-term"
            invokespecial org.apache.lucene.util.BytesRef.<init>:(Ljava/lang/CharSequence;)V
            lload 7 /* docFreq */
            lload 9 /* totalTermFreq */
            invokespecial org.apache.lucene.search.TermStatistics.<init>:(Lorg/apache/lucene/util/BytesRef;JJ)V
            astore 11 /* pseudoStats */
        start local 11 // org.apache.lucene.search.TermStatistics pseudoStats
        21: .line 248
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.similarity:Lorg/apache/lucene/search/similarities/Similarity;
            fload 5 /* boost */
            aload 6 /* collectionStats */
            iconst_1
            anewarray org.apache.lucene.search.TermStatistics
            dup
            iconst_0
            aload 11 /* pseudoStats */
            aastore
            invokevirtual org.apache.lucene.search.similarities.Similarity.scorer:(FLorg/apache/lucene/search/CollectionStatistics;[Lorg/apache/lucene/search/TermStatistics;)Lorg/apache/lucene/search/similarities/Similarity$SimScorer;
            putfield org.apache.lucene.search.SynonymQuery$SynonymWeight.simWeight:Lorg/apache/lucene/search/similarities/Similarity$SimScorer;
        end local 11 // org.apache.lucene.search.TermStatistics pseudoStats
        22: .line 249
            goto 24
        23: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.search.SynonymQuery$SynonymWeight.simWeight:Lorg/apache/lucene/search/similarities/Similarity$SimScorer;
        24: .line 252
      StackMap locals:
      StackMap stack:
            return
        end local 9 // long totalTermFreq
        end local 7 // long docFreq
        end local 6 // org.apache.lucene.search.CollectionStatistics collectionStats
        end local 5 // float boost
        end local 4 // org.apache.lucene.search.ScoreMode scoreMode
        end local 3 // org.apache.lucene.search.IndexSearcher searcher
        end local 2 // org.apache.lucene.search.Query query
        end local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Lorg/apache/lucene/search/SynonymQuery$SynonymWeight;
            0   25     2            query  Lorg/apache/lucene/search/Query;
            0   25     3         searcher  Lorg/apache/lucene/search/IndexSearcher;
            0   25     4        scoreMode  Lorg/apache/lucene/search/ScoreMode;
            0   25     5            boost  F
            5   25     6  collectionStats  Lorg/apache/lucene/search/CollectionStatistics;
            6   25     7          docFreq  J
            7   25     9    totalTermFreq  J
            9   18    11                i  I
           11   16    12               ts  Lorg/apache/lucene/index/TermStates;
           14   16    13        termStats  Lorg/apache/lucene/search/TermStatistics;
           21   22    11      pseudoStats  Lorg/apache/lucene/search/TermStatistics;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      this$0     final
      query      
      searcher   
      scoreMode  
      boost      

  public void extractTerms(java.util.Set<org.apache.lucene.index.Term>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
        start local 1 // java.util.Set terms
         0: .line 256
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.apache.lucene.search.SynonymQuery$SynonymWeight java.util.Set top int int org.apache.lucene.search.SynonymQuery$TermAndBoost[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* term */
        start local 2 // org.apache.lucene.search.SynonymQuery$TermAndBoost term
         2: .line 257
            aload 1 /* terms */
            aload 2 /* term */
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.term:Lorg/apache/lucene/index/Term;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.apache.lucene.search.SynonymQuery$TermAndBoost term
         3: .line 256
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 259
            return
        end local 1 // java.util.Set terms
        end local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/lucene/search/SynonymQuery$SynonymWeight;
            0    6     1  terms  Ljava/util/Set<Lorg/apache/lucene/index/Term;>;
            2    3     2   term  Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
    Signature: (Ljava/util/Set<Lorg/apache/lucene/index/Term;>;)V
    MethodParameters:
       Name  Flags
      terms  

  public org.apache.lucene.search.Matches matches(org.apache.lucene.index.LeafReaderContext, int);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;I)Lorg/apache/lucene/search/Matches;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
        start local 2 // int doc
         0: .line 263
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            iconst_0
            aaload
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.term:Lorg/apache/lucene/index/Term;
            invokevirtual org.apache.lucene.index.Term.field:()Ljava/lang/String;
            astore 3 /* field */
        start local 3 // java.lang.String field
         1: .line 264
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            aload 3 /* field */
            invokevirtual org.apache.lucene.index.LeafReader.terms:(Ljava/lang/String;)Lorg/apache/lucene/index/Terms;
            astore 4 /* indexTerms */
        start local 4 // org.apache.lucene.index.Terms indexTerms
         2: .line 265
            aload 4 /* indexTerms */
            ifnull 3
            aload 4 /* indexTerms */
            invokevirtual org.apache.lucene.index.Terms.hasPositions:()Z
            ifne 4
         3: .line 266
      StackMap locals: java.lang.String org.apache.lucene.index.Terms
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            iload 2 /* doc */
            invokespecial org.apache.lucene.search.Weight.matches:(Lorg/apache/lucene/index/LeafReaderContext;I)Lorg/apache/lucene/search/Matches;
            areturn
         4: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         5: .line 269
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/apache/lucene/search/SynonymQuery$TermAndBoost.getTerm()Lorg/apache/lucene/index/Term; (5)
                  (Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;)Lorg/apache/lucene/index/Term;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         6: .line 270
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         7: .line 268
            astore 5 /* termList */
        start local 5 // java.util.List termList
         8: .line 271
            aload 3 /* field */
            aload 0 /* this */
            aload 1 /* context */
            iload 2 /* doc */
            aload 3 /* field */
            aload 5 /* termList */
            invokedynamic get(Lorg/apache/lucene/search/SynonymQuery$SynonymWeight;Lorg/apache/lucene/index/LeafReaderContext;ILjava/lang/String;Ljava/util/List;)Lorg/apache/lucene/util/IOSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/lucene/search/SynonymQuery$SynonymWeight.lambda$1(Lorg/apache/lucene/index/LeafReaderContext;ILjava/lang/String;Ljava/util/List;)Lorg/apache/lucene/search/MatchesIterator; (7)
                  ()Lorg/apache/lucene/search/MatchesIterator;
            invokestatic org.apache.lucene.search.MatchesUtils.forField:(Ljava/lang/String;Lorg/apache/lucene/util/IOSupplier;)Lorg/apache/lucene/search/Matches;
            areturn
        end local 5 // java.util.List termList
        end local 4 // org.apache.lucene.index.Terms indexTerms
        end local 3 // java.lang.String field
        end local 2 // int doc
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/apache/lucene/search/SynonymQuery$SynonymWeight;
            0    9     1     context  Lorg/apache/lucene/index/LeafReaderContext;
            0    9     2         doc  I
            1    9     3       field  Ljava/lang/String;
            2    9     4  indexTerms  Lorg/apache/lucene/index/Terms;
            8    9     5    termList  Ljava/util/List<Lorg/apache/lucene/index/Term;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  
      doc      

  public org.apache.lucene.search.Explanation explain(org.apache.lucene.index.LeafReaderContext, int);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;I)Lorg/apache/lucene/search/Explanation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
        start local 2 // int doc
         0: .line 276
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.SynonymQuery$SynonymWeight.scorer:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/Scorer;
            astore 3 /* scorer */
        start local 3 // org.apache.lucene.search.Scorer scorer
         1: .line 277
            aload 3 /* scorer */
            ifnull 21
         2: .line 278
            aload 3 /* scorer */
            invokevirtual org.apache.lucene.search.Scorer.iterator:()Lorg/apache/lucene/search/DocIdSetIterator;
            iload 2 /* doc */
            invokevirtual org.apache.lucene.search.DocIdSetIterator.advance:(I)I
            istore 4 /* newDoc */
        start local 4 // int newDoc
         3: .line 279
            iload 4 /* newDoc */
            iload 2 /* doc */
            if_icmpne 21
         4: .line 281
            aload 3 /* scorer */
            instanceof org.apache.lucene.search.SynonymQuery$SynonymScorer
            ifeq 7
         5: .line 282
            aload 3 /* scorer */
            checkcast org.apache.lucene.search.SynonymQuery$SynonymScorer
            invokevirtual org.apache.lucene.search.SynonymQuery$SynonymScorer.freq:()F
            fstore 5 /* freq */
        start local 5 // float freq
         6: .line 283
            goto 12
        end local 5 // float freq
      StackMap locals: org.apache.lucene.search.Scorer int
      StackMap stack:
         7: aload 3 /* scorer */
            instanceof org.apache.lucene.search.SynonymQuery$FreqBoostTermScorer
            ifeq 10
         8: .line 284
            aload 3 /* scorer */
            checkcast org.apache.lucene.search.SynonymQuery$FreqBoostTermScorer
            invokevirtual org.apache.lucene.search.SynonymQuery$FreqBoostTermScorer.freq:()F
            fstore 5 /* freq */
        start local 5 // float freq
         9: .line 285
            goto 12
        end local 5 // float freq
        10: .line 286
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.search.SynonymQuery$SynonymWeight.$assertionsDisabled:Z
            ifne 11
            aload 3 /* scorer */
            instanceof org.apache.lucene.search.TermScorer
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 287
      StackMap locals:
      StackMap stack:
            aload 3 /* scorer */
            checkcast org.apache.lucene.search.TermScorer
            invokevirtual org.apache.lucene.search.TermScorer.freq:()I
            i2f
            fstore 5 /* freq */
        start local 5 // float freq
        12: .line 289
      StackMap locals: float
      StackMap stack:
            new org.apache.lucene.search.LeafSimScorer
            dup
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.simWeight:Lorg/apache/lucene/search/similarities/Similarity$SimScorer;
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            iconst_0
            aaload
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.term:Lorg/apache/lucene/index/Term;
            invokevirtual org.apache.lucene.index.Term.field:()Ljava/lang/String;
            iconst_1
            invokespecial org.apache.lucene.search.LeafSimScorer.<init>:(Lorg/apache/lucene/search/similarities/Similarity$SimScorer;Lorg/apache/lucene/index/LeafReader;Ljava/lang/String;Z)V
            astore 6 /* docScorer */
        start local 6 // org.apache.lucene.search.LeafSimScorer docScorer
        13: .line 290
            fload 5 /* freq */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            new java.lang.StringBuilder
            dup
            ldc "termFreq="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            fload 5 /* freq */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray org.apache.lucene.search.Explanation
            invokestatic org.apache.lucene.search.Explanation.match:(Ljava/lang/Number;Ljava/lang/String;[Lorg/apache/lucene/search/Explanation;)Lorg/apache/lucene/search/Explanation;
            astore 7 /* freqExplanation */
        start local 7 // org.apache.lucene.search.Explanation freqExplanation
        14: .line 291
            aload 6 /* docScorer */
            iload 2 /* doc */
            aload 7 /* freqExplanation */
            invokevirtual org.apache.lucene.search.LeafSimScorer.explain:(ILorg/apache/lucene/search/Explanation;)Lorg/apache/lucene/search/Explanation;
            astore 8 /* scoreExplanation */
        start local 8 // org.apache.lucene.search.Explanation scoreExplanation
        15: .line 293
            aload 8 /* scoreExplanation */
            invokevirtual org.apache.lucene.search.Explanation.getValue:()Ljava/lang/Number;
        16: .line 294
            new java.lang.StringBuilder
            dup
            ldc "weight("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.lucene.search.SynonymQuery$SynonymWeight.getQuery:()Lorg/apache/lucene/search/Query;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* doc */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 295
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.similarity:Lorg/apache/lucene/search/similarities/Similarity;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "], result of:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 294
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray org.apache.lucene.search.Explanation
            dup
            iconst_0
        19: .line 296
            aload 8 /* scoreExplanation */
            aastore
        20: .line 292
            invokestatic org.apache.lucene.search.Explanation.match:(Ljava/lang/Number;Ljava/lang/String;[Lorg/apache/lucene/search/Explanation;)Lorg/apache/lucene/search/Explanation;
            areturn
        end local 8 // org.apache.lucene.search.Explanation scoreExplanation
        end local 7 // org.apache.lucene.search.Explanation freqExplanation
        end local 6 // org.apache.lucene.search.LeafSimScorer docScorer
        end local 5 // float freq
        end local 4 // int newDoc
        21: .line 299
      StackMap locals:
      StackMap stack:
            ldc "no matching term"
            iconst_0
            anewarray org.apache.lucene.search.Explanation
            invokestatic org.apache.lucene.search.Explanation.noMatch:(Ljava/lang/String;[Lorg/apache/lucene/search/Explanation;)Lorg/apache/lucene/search/Explanation;
            areturn
        end local 3 // org.apache.lucene.search.Scorer scorer
        end local 2 // int doc
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Lorg/apache/lucene/search/SynonymQuery$SynonymWeight;
            0   22     1           context  Lorg/apache/lucene/index/LeafReaderContext;
            0   22     2               doc  I
            1   22     3            scorer  Lorg/apache/lucene/search/Scorer;
            3   21     4            newDoc  I
            6    7     5              freq  F
            9   10     5              freq  F
           12   21     5              freq  F
           13   21     6         docScorer  Lorg/apache/lucene/search/LeafSimScorer;
           14   21     7   freqExplanation  Lorg/apache/lucene/search/Explanation;
           15   21     8  scoreExplanation  Lorg/apache/lucene/search/Explanation;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  
      doc      

  public org.apache.lucene.search.Scorer scorer(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/Scorer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=2
        start local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
         0: .line 304
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* iterators */
        start local 2 // java.util.List iterators
         1: .line 305
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* impacts */
        start local 3 // java.util.List impacts
         2: .line 306
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* termBoosts */
        start local 4 // java.util.List termBoosts
         3: .line 307
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 19
         5: .line 308
      StackMap locals: org.apache.lucene.search.SynonymQuery$SynonymWeight org.apache.lucene.index.LeafReaderContext java.util.List java.util.List java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.termStates:[Lorg/apache/lucene/index/TermStates;
            iload 5 /* i */
            aaload
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.TermStates.get:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/index/TermState;
            astore 6 /* state */
        start local 6 // org.apache.lucene.index.TermState state
         6: .line 309
            aload 6 /* state */
            ifnull 18
         7: .line 310
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            iload 5 /* i */
            aaload
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.term:Lorg/apache/lucene/index/Term;
            invokevirtual org.apache.lucene.index.Term.field:()Ljava/lang/String;
            invokevirtual org.apache.lucene.index.LeafReader.terms:(Ljava/lang/String;)Lorg/apache/lucene/index/Terms;
            invokevirtual org.apache.lucene.index.Terms.iterator:()Lorg/apache/lucene/index/TermsEnum;
            astore 7 /* termsEnum */
        start local 7 // org.apache.lucene.index.TermsEnum termsEnum
         8: .line 311
            aload 7 /* termsEnum */
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            iload 5 /* i */
            aaload
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.term:Lorg/apache/lucene/index/Term;
            invokevirtual org.apache.lucene.index.Term.bytes:()Lorg/apache/lucene/util/BytesRef;
            aload 6 /* state */
            invokevirtual org.apache.lucene.index.TermsEnum.seekExact:(Lorg/apache/lucene/util/BytesRef;Lorg/apache/lucene/index/TermState;)V
         9: .line 312
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.scoreMode:Lorg/apache/lucene/search/ScoreMode;
            getstatic org.apache.lucene.search.ScoreMode.TOP_SCORES:Lorg/apache/lucene/search/ScoreMode;
            if_acmpne 14
        10: .line 313
            aload 7 /* termsEnum */
            bipush 8
            invokevirtual org.apache.lucene.index.TermsEnum.impacts:(I)Lorg/apache/lucene/index/ImpactsEnum;
            astore 8 /* impactsEnum */
        start local 8 // org.apache.lucene.index.ImpactsEnum impactsEnum
        11: .line 314
            aload 2 /* iterators */
            aload 8 /* impactsEnum */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 315
            aload 3 /* impacts */
            aload 8 /* impactsEnum */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.apache.lucene.index.ImpactsEnum impactsEnum
        13: .line 316
            goto 17
        14: .line 317
      StackMap locals: org.apache.lucene.index.TermState org.apache.lucene.index.TermsEnum
      StackMap stack:
            aload 7 /* termsEnum */
            aconst_null
            bipush 8
            invokevirtual org.apache.lucene.index.TermsEnum.postings:(Lorg/apache/lucene/index/PostingsEnum;I)Lorg/apache/lucene/index/PostingsEnum;
            astore 8 /* postingsEnum */
        start local 8 // org.apache.lucene.index.PostingsEnum postingsEnum
        15: .line 318
            aload 2 /* iterators */
            aload 8 /* postingsEnum */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 319
            aload 3 /* impacts */
            new org.apache.lucene.index.SlowImpactsEnum
            dup
            aload 8 /* postingsEnum */
            invokespecial org.apache.lucene.index.SlowImpactsEnum.<init>:(Lorg/apache/lucene/index/PostingsEnum;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.apache.lucene.index.PostingsEnum postingsEnum
        17: .line 321
      StackMap locals:
      StackMap stack:
            aload 4 /* termBoosts */
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            iload 5 /* i */
            aaload
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.boost:F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.apache.lucene.index.TermsEnum termsEnum
        end local 6 // org.apache.lucene.index.TermState state
        18: .line 307
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            arraylength
            if_icmplt 5
        end local 5 // int i
        20: .line 325
            aload 2 /* iterators */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 22
        21: .line 326
            aconst_null
            areturn
        22: .line 329
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.search.LeafSimScorer
            dup
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.simWeight:Lorg/apache/lucene/search/similarities/Similarity$SimScorer;
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.this$0:Lorg/apache/lucene/search/SynonymQuery;
            getfield org.apache.lucene.search.SynonymQuery.terms:[Lorg/apache/lucene/search/SynonymQuery$TermAndBoost;
            iconst_0
            aaload
            getfield org.apache.lucene.search.SynonymQuery$TermAndBoost.term:Lorg/apache/lucene/index/Term;
            invokevirtual org.apache.lucene.index.Term.field:()Ljava/lang/String;
            iconst_1
            invokespecial org.apache.lucene.search.LeafSimScorer.<init>:(Lorg/apache/lucene/search/similarities/Similarity$SimScorer;Lorg/apache/lucene/index/LeafReader;Ljava/lang/String;Z)V
            astore 5 /* simScorer */
        start local 5 // org.apache.lucene.search.LeafSimScorer simScorer
        23: .line 332
            aload 2 /* iterators */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 33
        24: .line 334
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.scoreMode:Lorg/apache/lucene/search/ScoreMode;
            getstatic org.apache.lucene.search.ScoreMode.TOP_SCORES:Lorg/apache/lucene/search/ScoreMode;
            if_acmpne 27
        25: .line 335
            new org.apache.lucene.search.TermScorer
            dup
            aload 0 /* this */
            aload 3 /* impacts */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.ImpactsEnum
            aload 5 /* simScorer */
            invokespecial org.apache.lucene.search.TermScorer.<init>:(Lorg/apache/lucene/search/Weight;Lorg/apache/lucene/index/ImpactsEnum;Lorg/apache/lucene/search/LeafSimScorer;)V
            astore 6 /* scorer */
        start local 6 // org.apache.lucene.search.TermScorer scorer
        26: .line 336
            goto 28
        end local 6 // org.apache.lucene.search.TermScorer scorer
        27: .line 337
      StackMap locals: org.apache.lucene.search.LeafSimScorer
      StackMap stack:
            new org.apache.lucene.search.TermScorer
            dup
            aload 0 /* this */
            aload 2 /* iterators */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.PostingsEnum
            aload 5 /* simScorer */
            invokespecial org.apache.lucene.search.TermScorer.<init>:(Lorg/apache/lucene/search/Weight;Lorg/apache/lucene/index/PostingsEnum;Lorg/apache/lucene/search/LeafSimScorer;)V
            astore 6 /* scorer */
        start local 6 // org.apache.lucene.search.TermScorer scorer
        28: .line 339
      StackMap locals: org.apache.lucene.search.TermScorer
      StackMap stack:
            aload 4 /* termBoosts */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
            fstore 7 /* boost */
        start local 7 // float boost
        29: .line 340
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.scoreMode:Lorg/apache/lucene/search/ScoreMode;
            getstatic org.apache.lucene.search.ScoreMode.COMPLETE_NO_SCORES:Lorg/apache/lucene/search/ScoreMode;
            if_acmpeq 30
            fload 7 /* boost */
            fconst_1
            fcmpl
            ifne 31
      StackMap locals: float
      StackMap stack:
        30: aload 6 /* scorer */
            goto 32
      StackMap locals:
      StackMap stack:
        31: new org.apache.lucene.search.SynonymQuery$FreqBoostTermScorer
            dup
            fload 7 /* boost */
            aload 6 /* scorer */
            aload 5 /* simScorer */
            invokespecial org.apache.lucene.search.SynonymQuery$FreqBoostTermScorer.<init>:(FLorg/apache/lucene/search/TermScorer;Lorg/apache/lucene/search/LeafSimScorer;)V
      StackMap locals:
      StackMap stack: org.apache.lucene.search.Scorer
        32: areturn
        end local 7 // float boost
        end local 6 // org.apache.lucene.search.TermScorer scorer
        33: .line 344
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.search.DisiPriorityQueue
            dup
            aload 2 /* iterators */
            invokeinterface java.util.List.size:()I
            invokespecial org.apache.lucene.search.DisiPriorityQueue.<init>:(I)V
            astore 6 /* queue */
        start local 6 // org.apache.lucene.search.DisiPriorityQueue queue
        34: .line 345
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        35: goto 42
        36: .line 346
      StackMap locals: org.apache.lucene.search.DisiPriorityQueue int
      StackMap stack:
            aload 2 /* iterators */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.PostingsEnum
            astore 8 /* postings */
        start local 8 // org.apache.lucene.index.PostingsEnum postings
        37: .line 347
            new org.apache.lucene.search.TermScorer
            dup
            aload 0 /* this */
            aload 8 /* postings */
            aload 5 /* simScorer */
            invokespecial org.apache.lucene.search.TermScorer.<init>:(Lorg/apache/lucene/search/Weight;Lorg/apache/lucene/index/PostingsEnum;Lorg/apache/lucene/search/LeafSimScorer;)V
            astore 9 /* termScorer */
        start local 9 // org.apache.lucene.search.TermScorer termScorer
        38: .line 348
            aload 4 /* termBoosts */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
            fstore 10 /* boost */
        start local 10 // float boost
        39: .line 349
            new org.apache.lucene.search.SynonymQuery$DisiWrapperFreq
            dup
            aload 9 /* termScorer */
            fload 10 /* boost */
            invokespecial org.apache.lucene.search.SynonymQuery$DisiWrapperFreq.<init>:(Lorg/apache/lucene/search/Scorer;F)V
            astore 11 /* wrapper */
        start local 11 // org.apache.lucene.search.SynonymQuery$DisiWrapperFreq wrapper
        40: .line 350
            aload 6 /* queue */
            aload 11 /* wrapper */
            invokevirtual org.apache.lucene.search.DisiPriorityQueue.add:(Lorg/apache/lucene/search/DisiWrapper;)Lorg/apache/lucene/search/DisiWrapper;
            pop
        end local 11 // org.apache.lucene.search.SynonymQuery$DisiWrapperFreq wrapper
        end local 10 // float boost
        end local 9 // org.apache.lucene.search.TermScorer termScorer
        end local 8 // org.apache.lucene.index.PostingsEnum postings
        41: .line 345
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 7 /* i */
            aload 2 /* iterators */
            invokeinterface java.util.List.size:()I
            if_icmplt 36
        end local 7 // int i
        43: .line 354
            new org.apache.lucene.search.DisjunctionDISIApproximation
            dup
            aload 6 /* queue */
            invokespecial org.apache.lucene.search.DisjunctionDISIApproximation.<init>:(Lorg/apache/lucene/search/DisiPriorityQueue;)V
            astore 7 /* iterator */
        start local 7 // org.apache.lucene.search.DocIdSetIterator iterator
        44: .line 356
            aload 3 /* impacts */
            invokeinterface java.util.List.size:()I
            newarray 6
            astore 8 /* boosts */
        start local 8 // float[] boosts
        45: .line 357
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        46: goto 49
        47: .line 358
      StackMap locals: org.apache.lucene.search.SynonymQuery$SynonymWeight org.apache.lucene.index.LeafReaderContext java.util.List java.util.List java.util.List org.apache.lucene.search.LeafSimScorer org.apache.lucene.search.DisiPriorityQueue org.apache.lucene.search.DocIdSetIterator float[] int
      StackMap stack:
            aload 8 /* boosts */
            iload 9 /* i */
            aload 4 /* termBoosts */
            iload 9 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
            fastore
        48: .line 357
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 9 /* i */
            aload 8 /* boosts */
            arraylength
            if_icmplt 47
        end local 9 // int i
        50: .line 360
            aload 3 /* impacts */
            iconst_0
            anewarray org.apache.lucene.index.ImpactsEnum
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.lucene.index.ImpactsEnum[]
            aload 8 /* boosts */
            invokestatic org.apache.lucene.search.SynonymQuery.mergeImpacts:([Lorg/apache/lucene/index/ImpactsEnum;[F)Lorg/apache/lucene/index/ImpactsSource;
            astore 9 /* impactsSource */
        start local 9 // org.apache.lucene.index.ImpactsSource impactsSource
        51: .line 361
            new org.apache.lucene.search.ImpactsDISI
            dup
            aload 7 /* iterator */
            aload 9 /* impactsSource */
            aload 5 /* simScorer */
            invokevirtual org.apache.lucene.search.LeafSimScorer.getSimScorer:()Lorg/apache/lucene/search/similarities/Similarity$SimScorer;
            invokespecial org.apache.lucene.search.ImpactsDISI.<init>:(Lorg/apache/lucene/search/DocIdSetIterator;Lorg/apache/lucene/index/ImpactsSource;Lorg/apache/lucene/search/similarities/Similarity$SimScorer;)V
            astore 10 /* impactsDisi */
        start local 10 // org.apache.lucene.search.ImpactsDISI impactsDisi
        52: .line 363
            aload 0 /* this */
            getfield org.apache.lucene.search.SynonymQuery$SynonymWeight.scoreMode:Lorg/apache/lucene/search/ScoreMode;
            getstatic org.apache.lucene.search.ScoreMode.TOP_SCORES:Lorg/apache/lucene/search/ScoreMode;
            if_acmpne 54
        53: .line 364
            aload 10 /* impactsDisi */
            astore 7 /* iterator */
        54: .line 367
      StackMap locals: org.apache.lucene.search.SynonymQuery$SynonymWeight org.apache.lucene.index.LeafReaderContext java.util.List java.util.List java.util.List org.apache.lucene.search.LeafSimScorer org.apache.lucene.search.DisiPriorityQueue org.apache.lucene.search.DocIdSetIterator float[] org.apache.lucene.index.ImpactsSource org.apache.lucene.search.ImpactsDISI
      StackMap stack:
            new org.apache.lucene.search.SynonymQuery$SynonymScorer
            dup
            aload 0 /* this */
            aload 6 /* queue */
            aload 7 /* iterator */
            aload 10 /* impactsDisi */
            aload 5 /* simScorer */
            invokespecial org.apache.lucene.search.SynonymQuery$SynonymScorer.<init>:(Lorg/apache/lucene/search/Weight;Lorg/apache/lucene/search/DisiPriorityQueue;Lorg/apache/lucene/search/DocIdSetIterator;Lorg/apache/lucene/search/ImpactsDISI;Lorg/apache/lucene/search/LeafSimScorer;)V
            areturn
        end local 10 // org.apache.lucene.search.ImpactsDISI impactsDisi
        end local 9 // org.apache.lucene.index.ImpactsSource impactsSource
        end local 8 // float[] boosts
        end local 7 // org.apache.lucene.search.DocIdSetIterator iterator
        end local 6 // org.apache.lucene.search.DisiPriorityQueue queue
        end local 5 // org.apache.lucene.search.LeafSimScorer simScorer
        end local 4 // java.util.List termBoosts
        end local 3 // java.util.List impacts
        end local 2 // java.util.List iterators
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   55     0           this  Lorg/apache/lucene/search/SynonymQuery$SynonymWeight;
            0   55     1        context  Lorg/apache/lucene/index/LeafReaderContext;
            1   55     2      iterators  Ljava/util/List<Lorg/apache/lucene/index/PostingsEnum;>;
            2   55     3        impacts  Ljava/util/List<Lorg/apache/lucene/index/ImpactsEnum;>;
            3   55     4     termBoosts  Ljava/util/List<Ljava/lang/Float;>;
            4   20     5              i  I
            6   18     6          state  Lorg/apache/lucene/index/TermState;
            8   18     7      termsEnum  Lorg/apache/lucene/index/TermsEnum;
           11   13     8    impactsEnum  Lorg/apache/lucene/index/ImpactsEnum;
           15   17     8   postingsEnum  Lorg/apache/lucene/index/PostingsEnum;
           23   55     5      simScorer  Lorg/apache/lucene/search/LeafSimScorer;
           26   27     6         scorer  Lorg/apache/lucene/search/TermScorer;
           28   33     6         scorer  Lorg/apache/lucene/search/TermScorer;
           29   33     7          boost  F
           34   55     6          queue  Lorg/apache/lucene/search/DisiPriorityQueue;
           35   43     7              i  I
           37   41     8       postings  Lorg/apache/lucene/index/PostingsEnum;
           38   41     9     termScorer  Lorg/apache/lucene/search/TermScorer;
           39   41    10          boost  F
           40   41    11        wrapper  Lorg/apache/lucene/search/SynonymQuery$DisiWrapperFreq;
           44   55     7       iterator  Lorg/apache/lucene/search/DocIdSetIterator;
           45   55     8         boosts  [F
           46   50     9              i  I
           51   55     9  impactsSource  Lorg/apache/lucene/index/ImpactsSource;
           52   55    10    impactsDisi  Lorg/apache/lucene/search/ImpactsDISI;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  

  public boolean isCacheable(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext ctx
         0: .line 372
            iconst_1
            ireturn
        end local 1 // org.apache.lucene.index.LeafReaderContext ctx
        end local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/SynonymQuery$SynonymWeight;
            0    1     1   ctx  Lorg/apache/lucene/index/LeafReaderContext;
    MethodParameters:
      Name  Flags
      ctx   

  private org.apache.lucene.search.MatchesIterator lambda$1(org.apache.lucene.index.LeafReaderContext, int, java.lang.String, java.util.List);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;ILjava/lang/String;Ljava/util/List;)Lorg/apache/lucene/search/MatchesIterator;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
         0: .line 271
            aload 1
            iload 2
            aload 0 /* this */
            invokevirtual org.apache.lucene.search.SynonymQuery$SynonymWeight.getQuery:()Lorg/apache/lucene/search/Query;
            aload 3
            aload 4
            invokestatic org.apache.lucene.search.DisjunctionMatchesIterator.fromTerms:(Lorg/apache/lucene/index/LeafReaderContext;ILorg/apache/lucene/search/Query;Ljava/lang/String;Ljava/util/List;)Lorg/apache/lucene/search/MatchesIterator;
            areturn
        end local 0 // org.apache.lucene.search.SynonymQuery$SynonymWeight this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/SynonymQuery$SynonymWeight;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "SynonymQuery.java"
NestHost: org.apache.lucene.search.SynonymQuery
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private DisiWrapperFreq = org.apache.lucene.search.SynonymQuery$DisiWrapperFreq of org.apache.lucene.search.SynonymQuery
  private FreqBoostTermScorer = org.apache.lucene.search.SynonymQuery$FreqBoostTermScorer of org.apache.lucene.search.SynonymQuery
  private SynonymScorer = org.apache.lucene.search.SynonymQuery$SynonymScorer of org.apache.lucene.search.SynonymQuery
  SynonymWeight = org.apache.lucene.search.SynonymQuery$SynonymWeight of org.apache.lucene.search.SynonymQuery
  private TermAndBoost = org.apache.lucene.search.SynonymQuery$TermAndBoost of org.apache.lucene.search.SynonymQuery
  public abstract SimScorer = org.apache.lucene.search.similarities.Similarity$SimScorer of org.apache.lucene.search.similarities.Similarity