public final class org.apache.lucene.index.IndexSorter$DoubleSorter 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$DoubleSorter
  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.Double missingValue;
    descriptor: Ljava/lang/Double;
    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$NumericDocValuesProvider valuesProvider;
    descriptor: Lorg/apache/lucene/index/IndexSorter$NumericDocValuesProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.String, java.lang.Double, boolean, org.apache.lucene.index.IndexSorter$NumericDocValuesProvider);
    descriptor: (Ljava/lang/String;Ljava/lang/Double;ZLorg/apache/lucene/index/IndexSorter$NumericDocValuesProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.apache.lucene.index.IndexSorter$DoubleSorter this
        start local 1 // java.lang.String providerName
        start local 2 // java.lang.Double missingValue
        start local 3 // boolean reverse
        start local 4 // org.apache.lucene.index.IndexSorter$NumericDocValuesProvider valuesProvider
         0: .line 318
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 319
            aload 0 /* this */
            aload 1 /* providerName */
            putfield org.apache.lucene.index.IndexSorter$DoubleSorter.providerName:Ljava/lang/String;
         2: .line 320
            aload 0 /* this */
            aload 2 /* missingValue */
            putfield org.apache.lucene.index.IndexSorter$DoubleSorter.missingValue:Ljava/lang/Double;
         3: .line 321
            aload 0 /* this */
            iload 3 /* reverse */
            ifeq 4
            iconst_m1
            goto 5
      StackMap locals: org.apache.lucene.index.IndexSorter$DoubleSorter java.lang.String java.lang.Double int org.apache.lucene.index.IndexSorter$NumericDocValuesProvider
      StackMap stack: org.apache.lucene.index.IndexSorter$DoubleSorter
         4: iconst_1
      StackMap locals: org.apache.lucene.index.IndexSorter$DoubleSorter java.lang.String java.lang.Double int org.apache.lucene.index.IndexSorter$NumericDocValuesProvider
      StackMap stack: org.apache.lucene.index.IndexSorter$DoubleSorter int
         5: putfield org.apache.lucene.index.IndexSorter$DoubleSorter.reverseMul:I
         6: .line 322
            aload 0 /* this */
            aload 4 /* valuesProvider */
            putfield org.apache.lucene.index.IndexSorter$DoubleSorter.valuesProvider:Lorg/apache/lucene/index/IndexSorter$NumericDocValuesProvider;
         7: .line 323
            return
        end local 4 // org.apache.lucene.index.IndexSorter$NumericDocValuesProvider valuesProvider
        end local 3 // boolean reverse
        end local 2 // java.lang.Double missingValue
        end local 1 // java.lang.String providerName
        end local 0 // org.apache.lucene.index.IndexSorter$DoubleSorter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/apache/lucene/index/IndexSorter$DoubleSorter;
            0    8     1    providerName  Ljava/lang/String;
            0    8     2    missingValue  Ljava/lang/Double;
            0    8     3         reverse  Z
            0    8     4  valuesProvider  Lorg/apache/lucene/index/IndexSorter$NumericDocValuesProvider;
    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=7, args_size=2
        start local 0 // org.apache.lucene.index.IndexSorter$DoubleSorter this
        start local 1 // java.util.List readers
         0: .line 327
            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 329
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$DoubleSorter.missingValue:Ljava/lang/Double;
            ifnull 4
         2: .line 330
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$DoubleSorter.missingValue:Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            dstore 3 /* missingValue */
        start local 3 // double missingValue
         3: .line 331
            goto 5
        end local 3 // double missingValue
         4: .line 332
      StackMap locals: org.apache.lucene.index.IndexSorter$ComparableProvider[]
      StackMap stack:
            dconst_0
            dstore 3 /* missingValue */
        start local 3 // double missingValue
         5: .line 335
      StackMap locals: double
      StackMap stack:
            iconst_0
            istore 5 /* readerIndex */
        start local 5 // int readerIndex
         6: goto 10
         7: .line 336
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$DoubleSorter.valuesProvider:Lorg/apache/lucene/index/IndexSorter$NumericDocValuesProvider;
            aload 1 /* readers */
            iload 5 /* readerIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.index.LeafReader
            invokeinterface org.apache.lucene.index.IndexSorter$NumericDocValuesProvider.get:(Lorg/apache/lucene/index/LeafReader;)Lorg/apache/lucene/index/NumericDocValues;
            astore 6 /* values */
        start local 6 // org.apache.lucene.index.NumericDocValues values
         8: .line 338
            aload 2 /* providers */
            iload 5 /* readerIndex */
            dload 3 /* missingValue */
            aload 6 /* values */
            invokedynamic getAsComparableLong(DLorg/apache/lucene/index/NumericDocValues;)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$DoubleSorter.lambda$0(DLorg/apache/lucene/index/NumericDocValues;I)J (6)
                  (I)J
            aastore
        end local 6 // org.apache.lucene.index.NumericDocValues values
         9: .line 335
            iinc 5 /* readerIndex */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* readerIndex */
            aload 1 /* readers */
            invokeinterface java.util.List.size:()I
            if_icmplt 7
        end local 5 // int readerIndex
        11: .line 346
            aload 2 /* providers */
            areturn
        end local 3 // double missingValue
        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$DoubleSorter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/apache/lucene/index/IndexSorter$DoubleSorter;
            0   12     1       readers  Ljava/util/List<+Lorg/apache/lucene/index/LeafReader;>;
            1   12     2     providers  [Lorg/apache/lucene/index/IndexSorter$ComparableProvider;
            3    4     3  missingValue  D
            5   12     3  missingValue  D
            6   11     5   readerIndex  I
            8    9     6        values  Lorg/apache/lucene/index/NumericDocValues;
    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=4, locals=6, args_size=3
        start local 0 // org.apache.lucene.index.IndexSorter$DoubleSorter this
        start local 1 // org.apache.lucene.index.LeafReader reader
        start local 2 // int maxDoc
         0: .line 351
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$DoubleSorter.valuesProvider:Lorg/apache/lucene/index/IndexSorter$NumericDocValuesProvider;
            aload 1 /* reader */
            invokeinterface org.apache.lucene.index.IndexSorter$NumericDocValuesProvider.get:(Lorg/apache/lucene/index/LeafReader;)Lorg/apache/lucene/index/NumericDocValues;
            astore 3 /* dvs */
        start local 3 // org.apache.lucene.index.NumericDocValues dvs
         1: .line 352
            iload 2 /* maxDoc */
            newarray 7
            astore 4 /* values */
        start local 4 // double[] values
         2: .line 353
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$DoubleSorter.missingValue:Ljava/lang/Double;
            ifnull 4
         3: .line 354
            aload 4 /* values */
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$DoubleSorter.missingValue:Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic java.util.Arrays.fill:([DD)V
         4: .line 357
      StackMap locals: org.apache.lucene.index.NumericDocValues double[]
      StackMap stack:
            aload 3 /* dvs */
            invokevirtual org.apache.lucene.index.NumericDocValues.nextDoc:()I
            istore 5 /* docID */
        start local 5 // int docID
         5: .line 358
            iload 5 /* docID */
            ldc 2147483647
            if_icmpne 7
         6: .line 359
            goto 9
         7: .line 361
      StackMap locals: int
      StackMap stack:
            aload 4 /* values */
            iload 5 /* docID */
            aload 3 /* dvs */
            invokevirtual org.apache.lucene.index.NumericDocValues.longValue:()J
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dastore
        end local 5 // int docID
         8: .line 356
            goto 4
         9: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* values */
            invokedynamic compare(Lorg/apache/lucene/index/IndexSorter$DoubleSorter;[D)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$DoubleSorter.lambda$1([DII)I (7)
                  (II)I
            areturn
        end local 4 // double[] values
        end local 3 // org.apache.lucene.index.NumericDocValues dvs
        end local 2 // int maxDoc
        end local 1 // org.apache.lucene.index.LeafReader reader
        end local 0 // org.apache.lucene.index.IndexSorter$DoubleSorter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/apache/lucene/index/IndexSorter$DoubleSorter;
            0   10     1  reader  Lorg/apache/lucene/index/LeafReader;
            0   10     2  maxDoc  I
            1   10     3     dvs  Lorg/apache/lucene/index/NumericDocValues;
            2   10     4  values  [D
            5    8     5   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$DoubleSorter this
         0: .line 369
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$DoubleSorter.providerName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.index.IndexSorter$DoubleSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexSorter$DoubleSorter;

  private static long lambda$0(double, org.apache.lucene.index.NumericDocValues, int);
    descriptor: (DLorg/apache/lucene/index/NumericDocValues;I)J
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=6, args_size=3
        start local 3 // int docID
         0: .line 339
            dload 0
            dstore 4 /* value */
        start local 4 // double value
         1: .line 340
            aload 2
            iload 3 /* docID */
            invokevirtual org.apache.lucene.index.NumericDocValues.advanceExact:(I)Z
            ifeq 3
         2: .line 341
            aload 2
            invokevirtual org.apache.lucene.index.NumericDocValues.longValue:()J
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dstore 4 /* value */
         3: .line 343
      StackMap locals: double
      StackMap stack:
            dload 4 /* value */
            invokestatic org.apache.lucene.util.NumericUtils.doubleToSortableLong:(D)J
            lreturn
        end local 4 // double value
        end local 3 // int docID
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     3  docID  I
            1    4     4  value  D
    Exceptions:
      throws java.io.IOException

  private int lambda$1(double[], int, int);
    descriptor: ([DII)I
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.lucene.index.IndexSorter$DoubleSorter this
        start local 2 // int docID1
        start local 3 // int docID2
         0: .line 364
            aload 0 /* this */
            getfield org.apache.lucene.index.IndexSorter$DoubleSorter.reverseMul:I
            aload 1
            iload 2 /* docID1 */
            daload
            aload 1
            iload 3 /* docID2 */
            daload
            invokestatic java.lang.Double.compare:(DD)I
            imul
            ireturn
        end local 3 // int docID2
        end local 2 // int docID1
        end local 0 // org.apache.lucene.index.IndexSorter$DoubleSorter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/lucene/index/IndexSorter$DoubleSorter;
            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 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 final DoubleSorter = org.apache.lucene.index.IndexSorter$DoubleSorter of org.apache.lucene.index.IndexSorter
  public abstract NumericDocValuesProvider = org.apache.lucene.index.IndexSorter$NumericDocValuesProvider of org.apache.lucene.index.IndexSorter