public final class org.apache.lucene.index.IndexSorter$StringSorter implements org.apache.lucene.index.IndexSorter
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.lucene.index.IndexSorter$StringSorter
  super_class: java.lang.Object
{
  private final java.lang.String providerName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final org.apache.lucene.index.IndexSorter$SortedDocValuesProvider valuesProvider;
    descriptor: Lorg/apache/lucene/index/IndexSorter$SortedDocValuesProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.String, java.lang.Object, boolean, org.apache.lucene.index.IndexSorter$SortedDocValuesProvider);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;ZLorg/apache/lucene/index/IndexSorter$SortedDocValuesProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
        start local 1 // java.lang.String providerName
        start local 2 // java.lang.Object missingValue
        start local 3 // boolean reverse
        start local 4 // org.apache.lucene.index.IndexSorter$SortedDocValuesProvider valuesProvider
         0: .line 384
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 385
            aload 0 /* this */
            aload 1 /* providerName */
            putfield org.apache.lucene.index.IndexSorter$StringSorter.providerName:Ljava/lang/String;
         2: .line 386
            aload 0 /* this */
            aload 2 /* missingValue */
            putfield org.apache.lucene.index.IndexSorter$StringSorter.missingValue:Ljava/lang/Object;
         3: .line 387
            aload 0 /* this */
            iload 3 /* reverse */
            ifeq 4
            iconst_m1
            goto 5
      StackMap locals: org.apache.lucene.index.IndexSorter$StringSorter java.lang.String java.lang.Object int org.apache.lucene.index.IndexSorter$SortedDocValuesProvider
      StackMap stack: org.apache.lucene.index.IndexSorter$StringSorter
         4: iconst_1
      StackMap locals: org.apache.lucene.index.IndexSorter$StringSorter java.lang.String java.lang.Object int org.apache.lucene.index.IndexSorter$SortedDocValuesProvider
      StackMap stack: org.apache.lucene.index.IndexSorter$StringSorter int
         5: putfield org.apache.lucene.index.IndexSorter$StringSorter.reverseMul:I
         6: .line 388
            aload 0 /* this */
            aload 4 /* valuesProvider */
            putfield org.apache.lucene.index.IndexSorter$StringSorter.valuesProvider:Lorg/apache/lucene/index/IndexSorter$SortedDocValuesProvider;
         7: .line 389
            return
        end local 4 // org.apache.lucene.index.IndexSorter$SortedDocValuesProvider valuesProvider
        end local 3 // boolean reverse
        end local 2 // java.lang.Object missingValue
        end local 1 // java.lang.String providerName
        end local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/apache/lucene/index/IndexSorter$StringSorter;
            0    8     1    providerName  Ljava/lang/String;
            0    8     2    missingValue  Ljava/lang/Object;
            0    8     3         reverse  Z
            0    8     4  valuesProvider  Lorg/apache/lucene/index/IndexSorter$SortedDocValuesProvider;
    MethodParameters:
                Name  Flags
      providerName    
      missingValue    
      reverse         
      valuesProvider  

  public org.apache.lucene.index.IndexSorter$ComparableProvider[] getComparableProviders(java.util.List<? extends org.apache.lucene.index.LeafReader>);
    descriptor: (Ljava/util/List;)[Lorg/apache/lucene/index/IndexSorter$ComparableProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
        start local 1 // java.util.List readers
         0: .line 393
            aload 1 /* readers */
            invokeinterface java.util.List.size:()I
            anewarray org.apache.lucene.index.IndexSorter$ComparableProvider
            astore 2 /* providers */
        start local 2 // org.apache.lucene.index.IndexSorter$ComparableProvider[] providers
         1: .line 394
            aload 1 /* readers */
            invokeinterface java.util.List.size:()I
            anewarray org.apache.lucene.index.SortedDocValues
            astore 3 /* values */
        start local 3 // org.apache.lucene.index.SortedDocValues[] values
         2: .line 395
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 396
      StackMap locals: org.apache.lucene.index.IndexSorter$ComparableProvider[] org.apache.lucene.index.SortedDocValues[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$StringSorter.valuesProvider:Lorg/apache/lucene/index/IndexSorter$SortedDocValuesProvider;
            aload 1 /* readers */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.LeafReader
            invokeinterface org.apache.lucene.index.IndexSorter$SortedDocValuesProvider.get:(Lorg/apache/lucene/index/LeafReader;)Lorg/apache/lucene/index/SortedDocValues;
            astore 5 /* sorted */
        start local 5 // org.apache.lucene.index.SortedDocValues sorted
         5: .line 397
            aload 3 /* values */
            iload 4 /* i */
            aload 5 /* sorted */
            aastore
        end local 5 // org.apache.lucene.index.SortedDocValues sorted
         6: .line 395
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 1 /* readers */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 4 // int i
         8: .line 399
            aconst_null
            aload 3 /* values */
            ldc 0.25
            invokestatic org.apache.lucene.index.OrdinalMap.build:(Lorg/apache/lucene/index/IndexReader$CacheKey;[Lorg/apache/lucene/index/SortedDocValues;F)Lorg/apache/lucene/index/OrdinalMap;
            astore 4 /* ordinalMap */
        start local 4 // org.apache.lucene.index.OrdinalMap ordinalMap
         9: .line 401
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$StringSorter.missingValue:Ljava/lang/Object;
            getstatic org.apache.lucene.search.SortField.STRING_LAST:Ljava/lang/Object;
            if_acmpne 12
        10: .line 402
            ldc 2147483647
            istore 5 /* missingOrd */
        start local 5 // int missingOrd
        11: .line 403
            goto 13
        end local 5 // int missingOrd
        12: .line 404
      StackMap locals: org.apache.lucene.index.IndexSorter$StringSorter java.util.List org.apache.lucene.index.IndexSorter$ComparableProvider[] org.apache.lucene.index.SortedDocValues[] org.apache.lucene.index.OrdinalMap
      StackMap stack:
            ldc -2147483648
            istore 5 /* missingOrd */
        start local 5 // int missingOrd
        13: .line 407
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 6 /* readerIndex */
        start local 6 // int readerIndex
        14: goto 19
        15: .line 408
      StackMap locals: int
      StackMap stack:
            aload 3 /* values */
            iload 6 /* readerIndex */
            aaload
            astore 7 /* readerValues */
        start local 7 // org.apache.lucene.index.SortedDocValues readerValues
        16: .line 409
            aload 4 /* ordinalMap */
            iload 6 /* readerIndex */
            invokevirtual org.apache.lucene.index.OrdinalMap.getGlobalOrds:(I)Lorg/apache/lucene/util/LongValues;
            astore 8 /* globalOrds */
        start local 8 // org.apache.lucene.util.LongValues globalOrds
        17: .line 410
            aload 2 /* providers */
            iload 6 /* readerIndex */
            aload 7 /* readerValues */
            aload 8 /* globalOrds */
            iload 5 /* missingOrd */
            invokedynamic getAsComparableLong(Lorg/apache/lucene/index/SortedDocValues;Lorg/apache/lucene/util/LongValues;I)Lorg/apache/lucene/index/IndexSorter$ComparableProvider;
              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:
                  (I)J
                  org/apache/lucene/index/IndexSorter$StringSorter.lambda$0(Lorg/apache/lucene/index/SortedDocValues;Lorg/apache/lucene/util/LongValues;II)J (6)
                  (I)J
            aastore
        end local 8 // org.apache.lucene.util.LongValues globalOrds
        end local 7 // org.apache.lucene.index.SortedDocValues readerValues
        18: .line 407
            iinc 6 /* readerIndex */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* readerIndex */
            aload 1 /* readers */
            invokeinterface java.util.List.size:()I
            if_icmplt 15
        end local 6 // int readerIndex
        20: .line 419
            aload 2 /* providers */
            areturn
        end local 5 // int missingOrd
        end local 4 // org.apache.lucene.index.OrdinalMap ordinalMap
        end local 3 // org.apache.lucene.index.SortedDocValues[] values
        end local 2 // org.apache.lucene.index.IndexSorter$ComparableProvider[] providers
        end local 1 // java.util.List readers
        end local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lorg/apache/lucene/index/IndexSorter$StringSorter;
            0   21     1       readers  Ljava/util/List<+Lorg/apache/lucene/index/LeafReader;>;
            1   21     2     providers  [Lorg/apache/lucene/index/IndexSorter$ComparableProvider;
            2   21     3        values  [Lorg/apache/lucene/index/SortedDocValues;
            3    8     4             i  I
            5    6     5        sorted  Lorg/apache/lucene/index/SortedDocValues;
            9   21     4    ordinalMap  Lorg/apache/lucene/index/OrdinalMap;
           11   12     5    missingOrd  I
           13   21     5    missingOrd  I
           14   20     6   readerIndex  I
           16   18     7  readerValues  Lorg/apache/lucene/index/SortedDocValues;
           17   18     8    globalOrds  Lorg/apache/lucene/util/LongValues;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/List<+Lorg/apache/lucene/index/LeafReader;>;)[Lorg/apache/lucene/index/IndexSorter$ComparableProvider;
    MethodParameters:
         Name  Flags
      readers  

  public org.apache.lucene.index.IndexSorter$DocComparator getDocComparator(org.apache.lucene.index.LeafReader, int);
    descriptor: (Lorg/apache/lucene/index/LeafReader;I)Lorg/apache/lucene/index/IndexSorter$DocComparator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
        start local 1 // org.apache.lucene.index.LeafReader reader
        start local 2 // int maxDoc
         0: .line 424
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$StringSorter.valuesProvider:Lorg/apache/lucene/index/IndexSorter$SortedDocValuesProvider;
            aload 1 /* reader */
            invokeinterface org.apache.lucene.index.IndexSorter$SortedDocValuesProvider.get:(Lorg/apache/lucene/index/LeafReader;)Lorg/apache/lucene/index/SortedDocValues;
            astore 3 /* sorted */
        start local 3 // org.apache.lucene.index.SortedDocValues sorted
         1: .line 426
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$StringSorter.missingValue:Ljava/lang/Object;
            getstatic org.apache.lucene.search.SortField.STRING_LAST:Ljava/lang/Object;
            if_acmpne 4
         2: .line 427
            ldc 2147483647
            istore 4 /* missingOrd */
        start local 4 // int missingOrd
         3: .line 428
            goto 5
        end local 4 // int missingOrd
         4: .line 429
      StackMap locals: org.apache.lucene.index.SortedDocValues
      StackMap stack:
            ldc -2147483648
            istore 4 /* missingOrd */
        start local 4 // int missingOrd
         5: .line 432
      StackMap locals: int
      StackMap stack:
            iload 2 /* maxDoc */
            newarray 10
            astore 5 /* ords */
        start local 5 // int[] ords
         6: .line 433
            aload 5 /* ords */
            iload 4 /* missingOrd */
            invokestatic java.util.Arrays.fill:([II)V
         7: .line 435
            goto 9
        start local 6 // int docID
         8: .line 436
      StackMap locals: int[] int
      StackMap stack:
            aload 5 /* ords */
            iload 6 /* docID */
            aload 3 /* sorted */
            invokevirtual org.apache.lucene.index.SortedDocValues.ordValue:()I
            iastore
        end local 6 // int docID
         9: .line 435
      StackMap locals:
      StackMap stack:
            aload 3 /* sorted */
            invokevirtual org.apache.lucene.index.SortedDocValues.nextDoc:()I
            dup
            istore 6 /* docID */
        start local 6 // int docID
        10: ldc 2147483647
            if_icmpne 8
        11: .line 439
            aload 0 /* this */
            aload 5 /* ords */
            invokedynamic compare(Lorg/apache/lucene/index/IndexSorter$StringSorter;[I)Lorg/apache/lucene/index/IndexSorter$DocComparator;
              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:
                  (II)I
                  org/apache/lucene/index/IndexSorter$StringSorter.lambda$1([III)I (7)
                  (II)I
            areturn
        end local 6 // int docID
        end local 5 // int[] ords
        end local 4 // int missingOrd
        end local 3 // org.apache.lucene.index.SortedDocValues sorted
        end local 2 // int maxDoc
        end local 1 // org.apache.lucene.index.LeafReader reader
        end local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/apache/lucene/index/IndexSorter$StringSorter;
            0   12     1      reader  Lorg/apache/lucene/index/LeafReader;
            0   12     2      maxDoc  I
            1   12     3      sorted  Lorg/apache/lucene/index/SortedDocValues;
            3    4     4  missingOrd  I
            5   12     4  missingOrd  I
            6   12     5        ords  [I
            8    9     6       docID  I
           10   12     6       docID  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      reader  
      maxDoc  

  public java.lang.String getProviderName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
         0: .line 444
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$StringSorter.providerName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexSorter$StringSorter;

  private static long lambda$0(org.apache.lucene.index.SortedDocValues, org.apache.lucene.util.LongValues, int, int);
    descriptor: (Lorg/apache/lucene/index/SortedDocValues;Lorg/apache/lucene/util/LongValues;II)J
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 3 // int docID
         0: .line 411
            aload 0
            iload 3 /* docID */
            invokevirtual org.apache.lucene.index.SortedDocValues.advanceExact:(I)Z
            ifeq 2
         1: .line 413
            aload 1
            aload 0
            invokevirtual org.apache.lucene.index.SortedDocValues.ordValue:()I
            i2l
            invokevirtual org.apache.lucene.util.LongValues.get:(J)J
            lreturn
         2: .line 415
      StackMap locals:
      StackMap stack:
            iload 2
            i2l
            lreturn
        end local 3 // int docID
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     3  docID  I
    Exceptions:
      throws java.io.IOException

  private int lambda$1(int[], int, int);
    descriptor: ([III)I
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
        start local 2 // int docID1
        start local 3 // int docID2
         0: .line 439
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$StringSorter.reverseMul:I
            aload 1
            iload 2 /* docID1 */
            iaload
            aload 1
            iload 3 /* docID2 */
            iaload
            invokestatic java.lang.Integer.compare:(II)I
            imul
            ireturn
        end local 3 // int docID2
        end local 2 // int docID1
        end local 0 // org.apache.lucene.index.IndexSorter$StringSorter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/lucene/index/IndexSorter$StringSorter;
            0    1     2  docID1  I
            0    1     3  docID2  I
}
SourceFile: "IndexSorter.java"
NestHost: org.apache.lucene.index.IndexSorter
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final CacheKey = org.apache.lucene.index.IndexReader$CacheKey of org.apache.lucene.index.IndexReader
  public abstract ComparableProvider = org.apache.lucene.index.IndexSorter$ComparableProvider of org.apache.lucene.index.IndexSorter
  public abstract DocComparator = org.apache.lucene.index.IndexSorter$DocComparator of org.apache.lucene.index.IndexSorter
  public abstract SortedDocValuesProvider = org.apache.lucene.index.IndexSorter$SortedDocValuesProvider of org.apache.lucene.index.IndexSorter
  public final StringSorter = org.apache.lucene.index.IndexSorter$StringSorter of org.apache.lucene.index.IndexSorter