public class org.apache.lucene.spatial.vector.PointVectorStrategy extends org.apache.lucene.spatial.SpatialStrategy
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.spatial.vector.PointVectorStrategy
  super_class: org.apache.lucene.spatial.SpatialStrategy
{
  public static org.apache.lucene.document.FieldType DEFAULT_FIELDTYPE;
    descriptor: Lorg/apache/lucene/document/FieldType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static final java.lang.String SUFFIX_X;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "__x"

  public static final java.lang.String SUFFIX_Y;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "__y"

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

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

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

  private final boolean hasStored;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasDocVals;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasPointVals;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, 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=3, locals=1, args_size=0
         0: .line 88
            ldc Lorg/apache/lucene/spatial/vector/PointVectorStrategy;
            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.spatial.vector.PointVectorStrategy.$assertionsDisabled:Z
         3: .line 100
            new org.apache.lucene.document.FieldType
            dup
            invokespecial org.apache.lucene.document.FieldType.<init>:()V
            astore 0 /* type */
        start local 0 // org.apache.lucene.document.FieldType type
         4: .line 101
            aload 0 /* type */
            iconst_1
            bipush 8
            invokevirtual org.apache.lucene.document.FieldType.setDimensions:(II)V
         5: .line 102
            aload 0 /* type */
            getstatic org.apache.lucene.index.DocValuesType.NUMERIC:Lorg/apache/lucene/index/DocValuesType;
            invokevirtual org.apache.lucene.document.FieldType.setDocValuesType:(Lorg/apache/lucene/index/DocValuesType;)V
         6: .line 103
            aload 0 /* type */
            iconst_0
            invokevirtual org.apache.lucene.document.FieldType.setStored:(Z)V
         7: .line 104
            aload 0 /* type */
            invokevirtual org.apache.lucene.document.FieldType.freeze:()V
         8: .line 105
            aload 0 /* type */
            putstatic org.apache.lucene.spatial.vector.PointVectorStrategy.DEFAULT_FIELDTYPE:Lorg/apache/lucene/document/FieldType;
        end local 0 // org.apache.lucene.document.FieldType type
         9: .line 109
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    9     0  type  Lorg/apache/lucene/document/FieldType;

  public static org.apache.lucene.spatial.vector.PointVectorStrategy newInstance(org.locationtech.spatial4j.context.SpatialContext, java.lang.String);
    descriptor: (Lorg/locationtech/spatial4j/context/SpatialContext;Ljava/lang/String;)Lorg/apache/lucene/spatial/vector/PointVectorStrategy;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.locationtech.spatial4j.context.SpatialContext ctx
        start local 1 // java.lang.String fieldNamePrefix
         0: .line 123
            new org.apache.lucene.spatial.vector.PointVectorStrategy
            dup
            aload 0 /* ctx */
            aload 1 /* fieldNamePrefix */
            getstatic org.apache.lucene.spatial.vector.PointVectorStrategy.DEFAULT_FIELDTYPE:Lorg/apache/lucene/document/FieldType;
            invokespecial org.apache.lucene.spatial.vector.PointVectorStrategy.<init>:(Lorg/locationtech/spatial4j/context/SpatialContext;Ljava/lang/String;Lorg/apache/lucene/document/FieldType;)V
            areturn
        end local 1 // java.lang.String fieldNamePrefix
        end local 0 // org.locationtech.spatial4j.context.SpatialContext ctx
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0              ctx  Lorg/locationtech/spatial4j/context/SpatialContext;
            0    1     1  fieldNamePrefix  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      ctx              
      fieldNamePrefix  

  public void <init>(org.locationtech.spatial4j.context.SpatialContext, java.lang.String, org.apache.lucene.document.FieldType);
    descriptor: (Lorg/locationtech/spatial4j/context/SpatialContext;Ljava/lang/String;Lorg/apache/lucene/document/FieldType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
        start local 1 // org.locationtech.spatial4j.context.SpatialContext ctx
        start local 2 // java.lang.String fieldNamePrefix
        start local 3 // org.apache.lucene.document.FieldType fieldType
         0: .line 132
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* fieldNamePrefix */
            invokespecial org.apache.lucene.spatial.SpatialStrategy.<init>:(Lorg/locationtech/spatial4j/context/SpatialContext;Ljava/lang/String;)V
         1: .line 133
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 2 /* fieldNamePrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "__x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameX:Ljava/lang/String;
         2: .line 134
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 2 /* fieldNamePrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "__y"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameY:Ljava/lang/String;
         3: .line 136
            iconst_0
            istore 4 /* numPairs */
        start local 4 // int numPairs
         4: .line 137
            aload 0 /* this */
            aload 3 /* fieldType */
            invokevirtual org.apache.lucene.document.FieldType.stored:()Z
            dup_x1
            putfield org.apache.lucene.spatial.vector.PointVectorStrategy.hasStored:Z
            ifeq 6
         5: .line 138
            iinc 4 /* numPairs */ 1
         6: .line 140
      StackMap locals: org.apache.lucene.spatial.vector.PointVectorStrategy org.locationtech.spatial4j.context.SpatialContext java.lang.String org.apache.lucene.document.FieldType int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* fieldType */
            invokevirtual org.apache.lucene.document.FieldType.docValuesType:()Lorg/apache/lucene/index/DocValuesType;
            getstatic org.apache.lucene.index.DocValuesType.NONE:Lorg/apache/lucene/index/DocValuesType;
            if_acmpeq 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack: org.apache.lucene.spatial.vector.PointVectorStrategy
         7: iconst_0
      StackMap locals: org.apache.lucene.spatial.vector.PointVectorStrategy org.locationtech.spatial4j.context.SpatialContext java.lang.String org.apache.lucene.document.FieldType int
      StackMap stack: org.apache.lucene.spatial.vector.PointVectorStrategy int
         8: dup_x1
            putfield org.apache.lucene.spatial.vector.PointVectorStrategy.hasDocVals:Z
            ifeq 10
         9: .line 141
            iinc 4 /* numPairs */ 1
        10: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* fieldType */
            invokevirtual org.apache.lucene.document.FieldType.pointDimensionCount:()I
            ifle 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack: org.apache.lucene.spatial.vector.PointVectorStrategy
        11: iconst_0
      StackMap locals: org.apache.lucene.spatial.vector.PointVectorStrategy org.locationtech.spatial4j.context.SpatialContext java.lang.String org.apache.lucene.document.FieldType int
      StackMap stack: org.apache.lucene.spatial.vector.PointVectorStrategy int
        12: dup_x1
            putfield org.apache.lucene.spatial.vector.PointVectorStrategy.hasPointVals:Z
            ifeq 14
        13: .line 144
            iinc 4 /* numPairs */ 1
        14: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* numPairs */
            iconst_2
            imul
            putfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldsLen:I
        15: .line 147
            return
        end local 4 // int numPairs
        end local 3 // org.apache.lucene.document.FieldType fieldType
        end local 2 // java.lang.String fieldNamePrefix
        end local 1 // org.locationtech.spatial4j.context.SpatialContext ctx
        end local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lorg/apache/lucene/spatial/vector/PointVectorStrategy;
            0   16     1              ctx  Lorg/locationtech/spatial4j/context/SpatialContext;
            0   16     2  fieldNamePrefix  Ljava/lang/String;
            0   16     3        fieldType  Lorg/apache/lucene/document/FieldType;
            4   16     4         numPairs  I
    MethodParameters:
                 Name  Flags
      ctx              
      fieldNamePrefix  
      fieldType        

  java.lang.String getFieldNameX();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
         0: .line 151
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameX:Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/vector/PointVectorStrategy;

  java.lang.String getFieldNameY();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
         0: .line 155
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameY:Ljava/lang/String;
            areturn
        end local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/vector/PointVectorStrategy;

  public org.apache.lucene.document.Field[] createIndexableFields(org.locationtech.spatial4j.shape.Shape);
    descriptor: (Lorg/locationtech/spatial4j/shape/Shape;)[Lorg/apache/lucene/document/Field;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Shape shape
         0: .line 160
            aload 1 /* shape */
            instanceof org.locationtech.spatial4j.shape.Point
            ifeq 2
         1: .line 161
            aload 0 /* this */
            aload 1 /* shape */
            checkcast org.locationtech.spatial4j.shape.Point
            invokevirtual org.apache.lucene.spatial.vector.PointVectorStrategy.createIndexableFields:(Lorg/locationtech/spatial4j/shape/Point;)[Lorg/apache/lucene/document/Field;
            areturn
         2: .line 162
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can only index Point, not "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* shape */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.locationtech.spatial4j.shape.Shape shape
        end local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/lucene/spatial/vector/PointVectorStrategy;
            0    3     1  shape  Lorg/locationtech/spatial4j/shape/Shape;
    MethodParameters:
       Name  Flags
      shape  

  public org.apache.lucene.document.Field[] createIndexableFields(org.locationtech.spatial4j.shape.Point);
    descriptor: (Lorg/locationtech/spatial4j/shape/Point;)[Lorg/apache/lucene/document/Field;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=4, args_size=2
        start local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Point point
         0: .line 167
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldsLen:I
            anewarray org.apache.lucene.document.Field
            astore 2 /* fields */
        start local 2 // org.apache.lucene.document.Field[] fields
         1: .line 168
            iconst_m1
            istore 3 /* idx */
        start local 3 // int idx
         2: .line 169
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.hasStored:Z
            ifeq 5
         3: .line 170
            aload 2 /* fields */
            iinc 3 /* idx */ 1
            iload 3 /* idx */
            new org.apache.lucene.document.StoredField
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameX:Ljava/lang/String;
            aload 1 /* point */
            invokeinterface org.locationtech.spatial4j.shape.Point.getX:()D
            invokespecial org.apache.lucene.document.StoredField.<init>:(Ljava/lang/String;D)V
            aastore
         4: .line 171
            aload 2 /* fields */
            iinc 3 /* idx */ 1
            iload 3 /* idx */
            new org.apache.lucene.document.StoredField
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameY:Ljava/lang/String;
            aload 1 /* point */
            invokeinterface org.locationtech.spatial4j.shape.Point.getY:()D
            invokespecial org.apache.lucene.document.StoredField.<init>:(Ljava/lang/String;D)V
            aastore
         5: .line 173
      StackMap locals: org.apache.lucene.document.Field[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.hasDocVals:Z
            ifeq 8
         6: .line 174
            aload 2 /* fields */
            iinc 3 /* idx */ 1
            iload 3 /* idx */
            new org.apache.lucene.document.DoubleDocValuesField
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameX:Ljava/lang/String;
            aload 1 /* point */
            invokeinterface org.locationtech.spatial4j.shape.Point.getX:()D
            invokespecial org.apache.lucene.document.DoubleDocValuesField.<init>:(Ljava/lang/String;D)V
            aastore
         7: .line 175
            aload 2 /* fields */
            iinc 3 /* idx */ 1
            iload 3 /* idx */
            new org.apache.lucene.document.DoubleDocValuesField
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameY:Ljava/lang/String;
            aload 1 /* point */
            invokeinterface org.locationtech.spatial4j.shape.Point.getY:()D
            invokespecial org.apache.lucene.document.DoubleDocValuesField.<init>:(Ljava/lang/String;D)V
            aastore
         8: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.hasPointVals:Z
            ifeq 11
         9: .line 178
            aload 2 /* fields */
            iinc 3 /* idx */ 1
            iload 3 /* idx */
            new org.apache.lucene.document.DoublePoint
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameX:Ljava/lang/String;
            iconst_1
            newarray 7
            dup
            iconst_0
            aload 1 /* point */
            invokeinterface org.locationtech.spatial4j.shape.Point.getX:()D
            dastore
            invokespecial org.apache.lucene.document.DoublePoint.<init>:(Ljava/lang/String;[D)V
            aastore
        10: .line 179
            aload 2 /* fields */
            iinc 3 /* idx */ 1
            iload 3 /* idx */
            new org.apache.lucene.document.DoublePoint
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameY:Ljava/lang/String;
            iconst_1
            newarray 7
            dup
            iconst_0
            aload 1 /* point */
            invokeinterface org.locationtech.spatial4j.shape.Point.getY:()D
            dastore
            invokespecial org.apache.lucene.document.DoublePoint.<init>:(Ljava/lang/String;[D)V
            aastore
        11: .line 181
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.spatial.vector.PointVectorStrategy.$assertionsDisabled:Z
            ifne 12
            iload 3 /* idx */
            aload 2 /* fields */
            arraylength
            iconst_1
            isub
            if_icmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 182
      StackMap locals:
      StackMap stack:
            aload 2 /* fields */
            areturn
        end local 3 // int idx
        end local 2 // org.apache.lucene.document.Field[] fields
        end local 1 // org.locationtech.spatial4j.shape.Point point
        end local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/apache/lucene/spatial/vector/PointVectorStrategy;
            0   13     1   point  Lorg/locationtech/spatial4j/shape/Point;
            1   13     2  fields  [Lorg/apache/lucene/document/Field;
            2   13     3     idx  I
    MethodParameters:
       Name  Flags
      point  

  public org.apache.lucene.search.DoubleValuesSource makeDistanceValueSource(org.locationtech.spatial4j.shape.Point, double);
    descriptor: (Lorg/locationtech/spatial4j/shape/Point;D)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Point queryPoint
        start local 2 // double multiplier
         0: .line 187
            new org.apache.lucene.spatial.vector.DistanceValueSource
            dup
            aload 0 /* this */
            aload 1 /* queryPoint */
            dload 2 /* multiplier */
            invokespecial org.apache.lucene.spatial.vector.DistanceValueSource.<init>:(Lorg/apache/lucene/spatial/vector/PointVectorStrategy;Lorg/locationtech/spatial4j/shape/Point;D)V
            areturn
        end local 2 // double multiplier
        end local 1 // org.locationtech.spatial4j.shape.Point queryPoint
        end local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/lucene/spatial/vector/PointVectorStrategy;
            0    1     1  queryPoint  Lorg/locationtech/spatial4j/shape/Point;
            0    1     2  multiplier  D
    MethodParameters:
            Name  Flags
      queryPoint  
      multiplier  

  public org.apache.lucene.search.Query makeQuery(org.apache.lucene.spatial.query.SpatialArgs);
    descriptor: (Lorg/apache/lucene/spatial/query/SpatialArgs;)Lorg/apache/lucene/search/Query;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
        start local 1 // org.apache.lucene.spatial.query.SpatialArgs args
         0: .line 192
            aload 1 /* args */
            invokevirtual org.apache.lucene.spatial.query.SpatialArgs.getOperation:()Lorg/apache/lucene/spatial/query/SpatialOperation;
            iconst_2
            anewarray org.apache.lucene.spatial.query.SpatialOperation
            dup
            iconst_0
         1: .line 193
            getstatic org.apache.lucene.spatial.query.SpatialOperation.Intersects:Lorg/apache/lucene/spatial/query/SpatialOperation;
            aastore
            dup
            iconst_1
         2: .line 194
            getstatic org.apache.lucene.spatial.query.SpatialOperation.IsWithin:Lorg/apache/lucene/spatial/query/SpatialOperation;
            aastore
         3: .line 192
            invokestatic org.apache.lucene.spatial.query.SpatialOperation.is:(Lorg/apache/lucene/spatial/query/SpatialOperation;[Lorg/apache/lucene/spatial/query/SpatialOperation;)Z
         4: .line 194
            ifne 6
         5: .line 195
            new org.apache.lucene.spatial.query.UnsupportedSpatialOperation
            dup
            aload 1 /* args */
            invokevirtual org.apache.lucene.spatial.query.SpatialArgs.getOperation:()Lorg/apache/lucene/spatial/query/SpatialOperation;
            invokespecial org.apache.lucene.spatial.query.UnsupportedSpatialOperation.<init>:(Lorg/apache/lucene/spatial/query/SpatialOperation;)V
            athrow
         6: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            invokevirtual org.apache.lucene.spatial.query.SpatialArgs.getShape:()Lorg/locationtech/spatial4j/shape/Shape;
            astore 2 /* shape */
        start local 2 // org.locationtech.spatial4j.shape.Shape shape
         7: .line 197
            aload 2 /* shape */
            instanceof org.locationtech.spatial4j.shape.Rectangle
            ifeq 10
         8: .line 198
            aload 2 /* shape */
            checkcast org.locationtech.spatial4j.shape.Rectangle
            astore 3 /* bbox */
        start local 3 // org.locationtech.spatial4j.shape.Rectangle bbox
         9: .line 199
            new org.apache.lucene.search.ConstantScoreQuery
            dup
            aload 0 /* this */
            aload 3 /* bbox */
            invokevirtual org.apache.lucene.spatial.vector.PointVectorStrategy.makeWithin:(Lorg/locationtech/spatial4j/shape/Rectangle;)Lorg/apache/lucene/search/Query;
            invokespecial org.apache.lucene.search.ConstantScoreQuery.<init>:(Lorg/apache/lucene/search/Query;)V
            areturn
        end local 3 // org.locationtech.spatial4j.shape.Rectangle bbox
        10: .line 200
      StackMap locals: org.locationtech.spatial4j.shape.Shape
      StackMap stack:
            aload 2 /* shape */
            instanceof org.locationtech.spatial4j.shape.Circle
            ifeq 14
        11: .line 201
            aload 2 /* shape */
            checkcast org.locationtech.spatial4j.shape.Circle
            astore 3 /* circle */
        start local 3 // org.locationtech.spatial4j.shape.Circle circle
        12: .line 202
            aload 3 /* circle */
            invokeinterface org.locationtech.spatial4j.shape.Circle.getBoundingBox:()Lorg/locationtech/spatial4j/shape/Rectangle;
            astore 4 /* bbox */
        start local 4 // org.locationtech.spatial4j.shape.Rectangle bbox
        13: .line 203
            new org.apache.lucene.spatial.vector.PointVectorStrategy$DistanceRangeQuery
            dup
            aload 0 /* this */
            aload 4 /* bbox */
            invokevirtual org.apache.lucene.spatial.vector.PointVectorStrategy.makeWithin:(Lorg/locationtech/spatial4j/shape/Rectangle;)Lorg/apache/lucene/search/Query;
            aload 0 /* this */
            aload 3 /* circle */
            invokeinterface org.locationtech.spatial4j.shape.Circle.getCenter:()Lorg/locationtech/spatial4j/shape/Point;
            invokevirtual org.apache.lucene.spatial.vector.PointVectorStrategy.makeDistanceValueSource:(Lorg/locationtech/spatial4j/shape/Point;)Lorg/apache/lucene/search/DoubleValuesSource;
            aload 3 /* circle */
            invokeinterface org.locationtech.spatial4j.shape.Circle.getRadius:()D
            invokespecial org.apache.lucene.spatial.vector.PointVectorStrategy$DistanceRangeQuery.<init>:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/DoubleValuesSource;D)V
            areturn
        end local 4 // org.locationtech.spatial4j.shape.Rectangle bbox
        end local 3 // org.locationtech.spatial4j.shape.Circle circle
        14: .line 205
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Only Rectangles and Circles are currently supported, found ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 206
            aload 2 /* shape */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 205
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.locationtech.spatial4j.shape.Shape shape
        end local 1 // org.apache.lucene.spatial.query.SpatialArgs args
        end local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/apache/lucene/spatial/vector/PointVectorStrategy;
            0   17     1    args  Lorg/apache/lucene/spatial/query/SpatialArgs;
            7   17     2   shape  Lorg/locationtech/spatial4j/shape/Shape;
            9   10     3    bbox  Lorg/locationtech/spatial4j/shape/Rectangle;
           12   14     3  circle  Lorg/locationtech/spatial4j/shape/Circle;
           13   14     4    bbox  Lorg/locationtech/spatial4j/shape/Rectangle;
    MethodParameters:
      Name  Flags
      args  

  private org.apache.lucene.search.Query makeWithin(org.locationtech.spatial4j.shape.Rectangle);
    descriptor: (Lorg/locationtech/spatial4j/shape/Rectangle;)Lorg/apache/lucene/search/Query;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Rectangle bbox
         0: .line 214
            new org.apache.lucene.search.BooleanQuery$Builder
            dup
            invokespecial org.apache.lucene.search.BooleanQuery$Builder.<init>:()V
            astore 2 /* bq */
        start local 2 // org.apache.lucene.search.BooleanQuery$Builder bq
         1: .line 215
            getstatic org.apache.lucene.search.BooleanClause$Occur.MUST:Lorg/apache/lucene/search/BooleanClause$Occur;
            astore 3 /* MUST */
        start local 3 // org.apache.lucene.search.BooleanClause$Occur MUST
         2: .line 216
            aload 1 /* bbox */
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getCrossesDateLine:()Z
            ifeq 7
         3: .line 218
            aload 2 /* bq */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameX:Ljava/lang/String;
            aconst_null
            aload 1 /* bbox */
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getMaxX:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual org.apache.lucene.spatial.vector.PointVectorStrategy.rangeQuery:(Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;)Lorg/apache/lucene/search/Query;
            getstatic org.apache.lucene.search.BooleanClause$Occur.SHOULD:Lorg/apache/lucene/search/BooleanClause$Occur;
            invokevirtual org.apache.lucene.search.BooleanQuery$Builder.add:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/BooleanClause$Occur;)Lorg/apache/lucene/search/BooleanQuery$Builder;
            pop
         4: .line 219
            aload 2 /* bq */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameX:Ljava/lang/String;
            aload 1 /* bbox */
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getMinX:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aconst_null
            invokevirtual org.apache.lucene.spatial.vector.PointVectorStrategy.rangeQuery:(Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;)Lorg/apache/lucene/search/Query;
            getstatic org.apache.lucene.search.BooleanClause$Occur.SHOULD:Lorg/apache/lucene/search/BooleanClause$Occur;
            invokevirtual org.apache.lucene.search.BooleanQuery$Builder.add:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/BooleanClause$Occur;)Lorg/apache/lucene/search/BooleanQuery$Builder;
            pop
         5: .line 220
            aload 2 /* bq */
            iconst_1
            invokevirtual org.apache.lucene.search.BooleanQuery$Builder.setMinimumNumberShouldMatch:(I)Lorg/apache/lucene/search/BooleanQuery$Builder;
            pop
         6: .line 221
            goto 8
         7: .line 222
      StackMap locals: org.apache.lucene.search.BooleanQuery$Builder org.apache.lucene.search.BooleanClause$Occur
      StackMap stack:
            aload 2 /* bq */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameX:Ljava/lang/String;
            aload 1 /* bbox */
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getMinX:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aload 1 /* bbox */
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getMaxX:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual org.apache.lucene.spatial.vector.PointVectorStrategy.rangeQuery:(Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;)Lorg/apache/lucene/search/Query;
            aload 3 /* MUST */
            invokevirtual org.apache.lucene.search.BooleanQuery$Builder.add:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/BooleanClause$Occur;)Lorg/apache/lucene/search/BooleanQuery$Builder;
            pop
         8: .line 224
      StackMap locals:
      StackMap stack:
            aload 2 /* bq */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.fieldNameY:Ljava/lang/String;
            aload 1 /* bbox */
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getMinY:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aload 1 /* bbox */
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getMaxY:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual org.apache.lucene.spatial.vector.PointVectorStrategy.rangeQuery:(Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;)Lorg/apache/lucene/search/Query;
            aload 3 /* MUST */
            invokevirtual org.apache.lucene.search.BooleanQuery$Builder.add:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/BooleanClause$Occur;)Lorg/apache/lucene/search/BooleanQuery$Builder;
            pop
         9: .line 225
            aload 2 /* bq */
            invokevirtual org.apache.lucene.search.BooleanQuery$Builder.build:()Lorg/apache/lucene/search/BooleanQuery;
            areturn
        end local 3 // org.apache.lucene.search.BooleanClause$Occur MUST
        end local 2 // org.apache.lucene.search.BooleanQuery$Builder bq
        end local 1 // org.locationtech.spatial4j.shape.Rectangle bbox
        end local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/lucene/spatial/vector/PointVectorStrategy;
            0   10     1  bbox  Lorg/locationtech/spatial4j/shape/Rectangle;
            1   10     2    bq  Lorg/apache/lucene/search/BooleanQuery$Builder;
            2   10     3  MUST  Lorg/apache/lucene/search/BooleanClause$Occur;
    MethodParameters:
      Name  Flags
      bbox  

  private org.apache.lucene.search.Query rangeQuery(java.lang.String, java.lang.Double, java.lang.Double);
    descriptor: (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;)Lorg/apache/lucene/search/Query;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
        start local 1 // java.lang.String fieldName
        start local 2 // java.lang.Double min
        start local 3 // java.lang.Double max
         0: .line 233
            aload 0 /* this */
            getfield org.apache.lucene.spatial.vector.PointVectorStrategy.hasPointVals:Z
            ifeq 6
         1: .line 234
            aload 2 /* min */
            ifnonnull 3
         2: .line 235
            ldc -Infinity
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            astore 2 /* min */
         3: .line 238
      StackMap locals:
      StackMap stack:
            aload 3 /* max */
            ifnonnull 5
         4: .line 239
            ldc Infinity
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            astore 3 /* max */
         5: .line 242
      StackMap locals:
      StackMap stack:
            aload 1 /* fieldName */
            aload 2 /* min */
            invokevirtual java.lang.Double.doubleValue:()D
            aload 3 /* max */
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic org.apache.lucene.document.DoublePoint.newRangeQuery:(Ljava/lang/String;DD)Lorg/apache/lucene/search/Query;
            areturn
         6: .line 246
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            ldc "An index is required for this operation."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Double max
        end local 2 // java.lang.Double min
        end local 1 // java.lang.String fieldName
        end local 0 // org.apache.lucene.spatial.vector.PointVectorStrategy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/lucene/spatial/vector/PointVectorStrategy;
            0    7     1  fieldName  Ljava/lang/String;
            0    7     2        min  Ljava/lang/Double;
            0    7     3        max  Ljava/lang/Double;
    MethodParameters:
           Name  Flags
      fieldName  
      min        
      max        
}
SourceFile: "PointVectorStrategy.java"
NestMembers:
  org.apache.lucene.spatial.vector.PointVectorStrategy$DistanceRangeQuery  org.apache.lucene.spatial.vector.PointVectorStrategy$DistanceRangeQuery$1  org.apache.lucene.spatial.vector.PointVectorStrategy$DistanceRangeQuery$1$1
InnerClasses:
  public Occur = org.apache.lucene.search.BooleanClause$Occur of org.apache.lucene.search.BooleanClause
  public Builder = org.apache.lucene.search.BooleanQuery$Builder of org.apache.lucene.search.BooleanQuery
  private DistanceRangeQuery = org.apache.lucene.spatial.vector.PointVectorStrategy$DistanceRangeQuery of org.apache.lucene.spatial.vector.PointVectorStrategy