public abstract class org.apache.lucene.search.DoubleValuesSource implements org.apache.lucene.search.SegmentCacheable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.lucene.search.DoubleValuesSource
  super_class: java.lang.Object
{
  public static final org.apache.lucene.search.DoubleValuesSource SCORES;
    descriptor: Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  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=2, locals=0, args_size=0
         0: .line 48
            ldc Lorg/apache/lucene/search/DoubleValuesSource;
            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.DoubleValuesSource.$assertionsDisabled:Z
         3: .line 220
            new org.apache.lucene.search.DoubleValuesSource$1
            dup
            invokespecial org.apache.lucene.search.DoubleValuesSource$1.<init>:()V
            putstatic org.apache.lucene.search.DoubleValuesSource.SCORES:Lorg/apache/lucene/search/DoubleValuesSource;
         4: .line 261
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.DoubleValuesSource this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.lucene.search.DoubleValuesSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/DoubleValuesSource;

  public abstract org.apache.lucene.search.DoubleValues getValues(org.apache.lucene.index.LeafReaderContext, org.apache.lucene.search.DoubleValues);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;Lorg/apache/lucene/search/DoubleValues;)Lorg/apache/lucene/search/DoubleValues;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      ctx     
      scores  

  public abstract boolean needsScores();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.apache.lucene.search.Explanation explain(org.apache.lucene.index.LeafReaderContext, int, org.apache.lucene.search.Explanation);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;ILorg/apache/lucene/search/Explanation;)Lorg/apache/lucene/search/Explanation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.lucene.search.DoubleValuesSource this
        start local 1 // org.apache.lucene.index.LeafReaderContext ctx
        start local 2 // int docId
        start local 3 // org.apache.lucene.search.Explanation scoreExplanation
         0: .line 72
            aload 0 /* this */
            aload 1 /* ctx */
            aload 3 /* scoreExplanation */
            invokevirtual org.apache.lucene.search.Explanation.getValue:()Ljava/lang/Number;
            invokevirtual java.lang.Number.doubleValue:()D
            invokestatic org.apache.lucene.search.DoubleValuesSource.constant:(D)Lorg/apache/lucene/search/DoubleValuesSource;
            aload 1 /* ctx */
            aconst_null
            invokevirtual org.apache.lucene.search.DoubleValuesSource.getValues:(Lorg/apache/lucene/index/LeafReaderContext;Lorg/apache/lucene/search/DoubleValues;)Lorg/apache/lucene/search/DoubleValues;
            invokevirtual org.apache.lucene.search.DoubleValuesSource.getValues:(Lorg/apache/lucene/index/LeafReaderContext;Lorg/apache/lucene/search/DoubleValues;)Lorg/apache/lucene/search/DoubleValues;
            astore 4 /* dv */
        start local 4 // org.apache.lucene.search.DoubleValues dv
         1: .line 73
            aload 4 /* dv */
            iload 2 /* docId */
            invokevirtual org.apache.lucene.search.DoubleValues.advanceExact:(I)Z
            ifeq 3
         2: .line 74
            aload 4 /* dv */
            invokevirtual org.apache.lucene.search.DoubleValues.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aload 0 /* this */
            invokevirtual org.apache.lucene.search.DoubleValuesSource.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;
            areturn
         3: .line 75
      StackMap locals: org.apache.lucene.search.DoubleValues
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.search.DoubleValuesSource.toString:()Ljava/lang/String;
            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 4 // org.apache.lucene.search.DoubleValues dv
        end local 3 // org.apache.lucene.search.Explanation scoreExplanation
        end local 2 // int docId
        end local 1 // org.apache.lucene.index.LeafReaderContext ctx
        end local 0 // org.apache.lucene.search.DoubleValuesSource this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/apache/lucene/search/DoubleValuesSource;
            0    4     1               ctx  Lorg/apache/lucene/index/LeafReaderContext;
            0    4     2             docId  I
            0    4     3  scoreExplanation  Lorg/apache/lucene/search/Explanation;
            1    4     4                dv  Lorg/apache/lucene/search/DoubleValues;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      ctx               
      docId             
      scoreExplanation  

  public abstract org.apache.lucene.search.DoubleValuesSource rewrite(org.apache.lucene.search.IndexSearcher);
    descriptor: (Lorg/apache/lucene/search/IndexSearcher;)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      reader  

  public org.apache.lucene.search.SortField getSortField(boolean);
    descriptor: (Z)Lorg/apache/lucene/search/SortField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.DoubleValuesSource this
        start local 1 // boolean reverse
         0: .line 98
            new org.apache.lucene.search.DoubleValuesSource$DoubleValuesSortField
            dup
            aload 0 /* this */
            iload 1 /* reverse */
            invokespecial org.apache.lucene.search.DoubleValuesSource$DoubleValuesSortField.<init>:(Lorg/apache/lucene/search/DoubleValuesSource;Z)V
            areturn
        end local 1 // boolean reverse
        end local 0 // org.apache.lucene.search.DoubleValuesSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/lucene/search/DoubleValuesSource;
            0    1     1  reverse  Z
    MethodParameters:
         Name  Flags
      reverse  

  public abstract int hashCode();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      obj   

  public abstract java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public final org.apache.lucene.search.LongValuesSource toLongValuesSource();
    descriptor: ()Lorg/apache/lucene/search/LongValuesSource;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.DoubleValuesSource this
         0: .line 114
            new org.apache.lucene.search.DoubleValuesSource$LongDoubleValuesSource
            dup
            aload 0 /* this */
            invokespecial org.apache.lucene.search.DoubleValuesSource$LongDoubleValuesSource.<init>:(Lorg/apache/lucene/search/DoubleValuesSource;)V
            areturn
        end local 0 // org.apache.lucene.search.DoubleValuesSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/DoubleValuesSource;

  public static org.apache.lucene.search.DoubleValuesSource fromField(java.lang.String, java.util.function.LongToDoubleFunction);
    descriptor: (Ljava/lang/String;Ljava/util/function/LongToDoubleFunction;)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String field
        start local 1 // java.util.function.LongToDoubleFunction decoder
         0: .line 183
            new org.apache.lucene.search.DoubleValuesSource$FieldValuesSource
            dup
            aload 0 /* field */
            aload 1 /* decoder */
            invokespecial org.apache.lucene.search.DoubleValuesSource$FieldValuesSource.<init>:(Ljava/lang/String;Ljava/util/function/LongToDoubleFunction;)V
            areturn
        end local 1 // java.util.function.LongToDoubleFunction decoder
        end local 0 // java.lang.String field
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0    field  Ljava/lang/String;
            0    1     1  decoder  Ljava/util/function/LongToDoubleFunction;
    MethodParameters:
         Name  Flags
      field    
      decoder  

  public static org.apache.lucene.search.DoubleValuesSource fromDoubleField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String field
         0: .line 190
            aload 0 /* field */
            invokedynamic applyAsDouble()Ljava/util/function/LongToDoubleFunction;
              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:
                  (J)D
                  java/lang/Double.longBitsToDouble(J)D (6)
                  (J)D
            invokestatic org.apache.lucene.search.DoubleValuesSource.fromField:(Ljava/lang/String;Ljava/util/function/LongToDoubleFunction;)Lorg/apache/lucene/search/DoubleValuesSource;
            areturn
        end local 0 // java.lang.String field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  field  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      field  

  public static org.apache.lucene.search.DoubleValuesSource fromFloatField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String field
         0: .line 197
            aload 0 /* field */
            invokedynamic applyAsDouble()Ljava/util/function/LongToDoubleFunction;
              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:
                  (J)D
                  org/apache/lucene/search/DoubleValuesSource.lambda$1(J)D (6)
                  (J)D
            invokestatic org.apache.lucene.search.DoubleValuesSource.fromField:(Ljava/lang/String;Ljava/util/function/LongToDoubleFunction;)Lorg/apache/lucene/search/DoubleValuesSource;
            areturn
        end local 0 // java.lang.String field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  field  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      field  

  public static org.apache.lucene.search.DoubleValuesSource fromLongField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String field
         0: .line 204
            aload 0 /* field */
            invokedynamic applyAsDouble()Ljava/util/function/LongToDoubleFunction;
              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:
                  (J)D
                  org/apache/lucene/search/DoubleValuesSource.lambda$2(J)D (6)
                  (J)D
            invokestatic org.apache.lucene.search.DoubleValuesSource.fromField:(Ljava/lang/String;Ljava/util/function/LongToDoubleFunction;)Lorg/apache/lucene/search/DoubleValuesSource;
            areturn
        end local 0 // java.lang.String field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  field  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      field  

  public static org.apache.lucene.search.DoubleValuesSource fromIntField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String field
         0: .line 211
            aload 0 /* field */
            invokestatic org.apache.lucene.search.DoubleValuesSource.fromLongField:(Ljava/lang/String;)Lorg/apache/lucene/search/DoubleValuesSource;
            areturn
        end local 0 // java.lang.String field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  field  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      field  

  public static org.apache.lucene.search.DoubleValuesSource constant(double);
    descriptor: (D)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double value
         0: .line 267
            new org.apache.lucene.search.DoubleValuesSource$ConstantValuesSource
            dup
            dload 0 /* value */
            invokespecial org.apache.lucene.search.DoubleValuesSource$ConstantValuesSource.<init>:(D)V
            areturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static org.apache.lucene.search.DoubleValues fromScorer(org.apache.lucene.search.Scorable);
    descriptor: (Lorg/apache/lucene/search/Scorable;)Lorg/apache/lucene/search/DoubleValues;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.Scorable scorer
         0: .line 341
            new org.apache.lucene.search.DoubleValuesSource$2
            dup
            aload 0 /* scorer */
            invokespecial org.apache.lucene.search.DoubleValuesSource$2.<init>:(Lorg/apache/lucene/search/Scorable;)V
            areturn
        end local 0 // org.apache.lucene.search.Scorable scorer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  scorer  Lorg/apache/lucene/search/Scorable;
    MethodParameters:
        Name  Flags
      scorer  

  private static org.apache.lucene.index.NumericDocValues asNumericDocValues(org.apache.lucene.search.DoubleValuesSource$DoubleValuesHolder, java.util.function.DoubleToLongFunction);
    descriptor: (Lorg/apache/lucene/search/DoubleValuesSource$DoubleValuesHolder;Ljava/util/function/DoubleToLongFunction;)Lorg/apache/lucene/index/NumericDocValues;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.DoubleValuesSource$DoubleValuesHolder in
        start local 1 // java.util.function.DoubleToLongFunction converter
         0: .line 515
            new org.apache.lucene.search.DoubleValuesSource$3
            dup
            aload 1 /* converter */
            aload 0 /* in */
            invokespecial org.apache.lucene.search.DoubleValuesSource$3.<init>:(Ljava/util/function/DoubleToLongFunction;Lorg/apache/lucene/search/DoubleValuesSource$DoubleValuesHolder;)V
            areturn
        end local 1 // java.util.function.DoubleToLongFunction converter
        end local 0 // org.apache.lucene.search.DoubleValuesSource$DoubleValuesHolder in
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0         in  Lorg/apache/lucene/search/DoubleValuesSource$DoubleValuesHolder;
            0    1     1  converter  Ljava/util/function/DoubleToLongFunction;
    MethodParameters:
           Name  Flags
      in         
      converter  

  public static org.apache.lucene.search.DoubleValuesSource fromQuery(org.apache.lucene.search.Query);
    descriptor: (Lorg/apache/lucene/search/Query;)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.Query query
         0: .line 552
            new org.apache.lucene.search.DoubleValuesSource$QueryDoubleValuesSource
            dup
            aload 0 /* query */
            invokespecial org.apache.lucene.search.DoubleValuesSource$QueryDoubleValuesSource.<init>:(Lorg/apache/lucene/search/Query;)V
            areturn
        end local 0 // org.apache.lucene.search.Query query
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  query  Lorg/apache/lucene/search/Query;
    MethodParameters:
       Name  Flags
      query  

  private static double lambda$1(long);
    descriptor: (J)D
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long v
         0: .line 197
            lload 0 /* v */
            l2i
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            f2d
            dreturn
        end local 0 // long v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     v  J

  private static double lambda$2(long);
    descriptor: (J)D
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long v
         0: .line 204
            lload 0 /* v */
            l2d
            dreturn
        end local 0 // long v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     v  J
}
SourceFile: "DoubleValuesSource.java"
NestMembers:
  org.apache.lucene.search.DoubleValuesSource$1  org.apache.lucene.search.DoubleValuesSource$2  org.apache.lucene.search.DoubleValuesSource$3  org.apache.lucene.search.DoubleValuesSource$ConstantValuesSource  org.apache.lucene.search.DoubleValuesSource$ConstantValuesSource$1  org.apache.lucene.search.DoubleValuesSource$DoubleValuesComparatorSource  org.apache.lucene.search.DoubleValuesSource$DoubleValuesComparatorSource$1  org.apache.lucene.search.DoubleValuesSource$DoubleValuesComparatorSource$1$1  org.apache.lucene.search.DoubleValuesSource$DoubleValuesHolder  org.apache.lucene.search.DoubleValuesSource$DoubleValuesSortField  org.apache.lucene.search.DoubleValuesSource$FieldValuesSource  org.apache.lucene.search.DoubleValuesSource$FieldValuesSource$1  org.apache.lucene.search.DoubleValuesSource$LongDoubleValuesSource  org.apache.lucene.search.DoubleValuesSource$LongDoubleValuesSource$1  org.apache.lucene.search.DoubleValuesSource$QueryDoubleValuesSource  org.apache.lucene.search.DoubleValuesSource$WeightDoubleValuesSource  org.apache.lucene.search.DoubleValuesSource$WeightDoubleValuesSource$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.apache.lucene.search.DoubleValuesSource$1
  org.apache.lucene.search.DoubleValuesSource$2
  org.apache.lucene.search.DoubleValuesSource$3
  private ConstantValuesSource = org.apache.lucene.search.DoubleValuesSource$ConstantValuesSource of org.apache.lucene.search.DoubleValuesSource
  private DoubleValuesComparatorSource = org.apache.lucene.search.DoubleValuesSource$DoubleValuesComparatorSource of org.apache.lucene.search.DoubleValuesSource
  private DoubleValuesHolder = org.apache.lucene.search.DoubleValuesSource$DoubleValuesHolder of org.apache.lucene.search.DoubleValuesSource
  private DoubleValuesSortField = org.apache.lucene.search.DoubleValuesSource$DoubleValuesSortField of org.apache.lucene.search.DoubleValuesSource
  private FieldValuesSource = org.apache.lucene.search.DoubleValuesSource$FieldValuesSource of org.apache.lucene.search.DoubleValuesSource
  private LongDoubleValuesSource = org.apache.lucene.search.DoubleValuesSource$LongDoubleValuesSource of org.apache.lucene.search.DoubleValuesSource
  private QueryDoubleValuesSource = org.apache.lucene.search.DoubleValuesSource$QueryDoubleValuesSource of org.apache.lucene.search.DoubleValuesSource
  private WeightDoubleValuesSource = org.apache.lucene.search.DoubleValuesSource$WeightDoubleValuesSource of org.apache.lucene.search.DoubleValuesSource