abstract class org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree extends org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree
  super_class: org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 29
            ldc Lorg/apache/lucene/spatial/prefix/tree/LegacyPrefixTree;
            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.prefix.tree.LegacyPrefixTree.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.locationtech.spatial4j.context.SpatialContext, int);
    descriptor: (Lorg/locationtech/spatial4j/context/SpatialContext;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree this
        start local 1 // org.locationtech.spatial4j.context.SpatialContext ctx
        start local 2 // int maxLevels
         0: .line 31
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* maxLevels */
            invokespecial org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree.<init>:(Lorg/locationtech/spatial4j/context/SpatialContext;I)V
         1: .line 32
            return
        end local 2 // int maxLevels
        end local 1 // org.locationtech.spatial4j.context.SpatialContext ctx
        end local 0 // org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/lucene/spatial/prefix/tree/LegacyPrefixTree;
            0    2     1        ctx  Lorg/locationtech/spatial4j/context/SpatialContext;
            0    2     2  maxLevels  I
    MethodParameters:
           Name  Flags
      ctx        
      maxLevels  

  public double getDistanceForLevel(int);
    descriptor: (I)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree this
        start local 1 // int level
         0: .line 35
            iload 1 /* level */
            iconst_1
            if_icmplt 1
            iload 1 /* level */
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree.getMaxLevels:()I
            if_icmple 2
         1: .line 36
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Level must be in 1 to maxLevels range"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 38
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree.ctx:Lorg/locationtech/spatial4j/context/SpatialContext;
            invokevirtual org.locationtech.spatial4j.context.SpatialContext.getWorldBounds:()Lorg/locationtech/spatial4j/shape/Rectangle;
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getCenter:()Lorg/locationtech/spatial4j/shape/Point;
            iload 1 /* level */
            invokevirtual org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree.getCell:(Lorg/locationtech/spatial4j/shape/Point;I)Lorg/apache/lucene/spatial/prefix/tree/Cell;
            astore 2 /* cell */
        start local 2 // org.apache.lucene.spatial.prefix.tree.Cell cell
         3: .line 39
            aload 2 /* cell */
            invokeinterface org.apache.lucene.spatial.prefix.tree.Cell.getShape:()Lorg/locationtech/spatial4j/shape/Shape;
            invokeinterface org.locationtech.spatial4j.shape.Shape.getBoundingBox:()Lorg/locationtech/spatial4j/shape/Rectangle;
            astore 3 /* bbox */
        start local 3 // org.locationtech.spatial4j.shape.Rectangle bbox
         4: .line 40
            aload 3 /* bbox */
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getWidth:()D
            dstore 4 /* width */
        start local 4 // double width
         5: .line 41
            aload 3 /* bbox */
            invokeinterface org.locationtech.spatial4j.shape.Rectangle.getHeight:()D
            dstore 6 /* height */
        start local 6 // double height
         6: .line 44
            dload 4 /* width */
            dload 4 /* width */
            dmul
            dload 6 /* height */
            dload 6 /* height */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dreturn
        end local 6 // double height
        end local 4 // double width
        end local 3 // org.locationtech.spatial4j.shape.Rectangle bbox
        end local 2 // org.apache.lucene.spatial.prefix.tree.Cell cell
        end local 1 // int level
        end local 0 // org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/lucene/spatial/prefix/tree/LegacyPrefixTree;
            0    7     1   level  I
            3    7     2    cell  Lorg/apache/lucene/spatial/prefix/tree/Cell;
            4    7     3    bbox  Lorg/locationtech/spatial4j/shape/Rectangle;
            5    7     4   width  D
            6    7     6  height  D
    MethodParameters:
       Name  Flags
      level  

  protected abstract org.apache.lucene.spatial.prefix.tree.Cell getCell(org.locationtech.spatial4j.shape.Point, int);
    descriptor: (Lorg/locationtech/spatial4j/shape/Point;I)Lorg/apache/lucene/spatial/prefix/tree/Cell;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      p      
      level  

  public org.apache.lucene.spatial.prefix.tree.Cell readCell(org.apache.lucene.util.BytesRef, org.apache.lucene.spatial.prefix.tree.Cell);
    descriptor: (Lorg/apache/lucene/util/BytesRef;Lorg/apache/lucene/spatial/prefix/tree/Cell;)Lorg/apache/lucene/spatial/prefix/tree/Cell;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree this
        start local 1 // org.apache.lucene.util.BytesRef term
        start local 2 // org.apache.lucene.spatial.prefix.tree.Cell scratch
         0: .line 54
            aload 2 /* scratch */
            checkcast org.apache.lucene.spatial.prefix.tree.LegacyCell
            astore 3 /* cell */
        start local 3 // org.apache.lucene.spatial.prefix.tree.LegacyCell cell
         1: .line 55
            aload 3 /* cell */
            ifnonnull 3
         2: .line 56
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree.getWorldCell:()Lorg/apache/lucene/spatial/prefix/tree/Cell;
            checkcast org.apache.lucene.spatial.prefix.tree.LegacyCell
            astore 3 /* cell */
         3: .line 57
      StackMap locals: org.apache.lucene.spatial.prefix.tree.LegacyCell
      StackMap stack:
            aload 3 /* cell */
            aload 1 /* term */
            invokevirtual org.apache.lucene.spatial.prefix.tree.LegacyCell.readCell:(Lorg/apache/lucene/util/BytesRef;)V
         4: .line 58
            aload 3 /* cell */
            areturn
        end local 3 // org.apache.lucene.spatial.prefix.tree.LegacyCell cell
        end local 2 // org.apache.lucene.spatial.prefix.tree.Cell scratch
        end local 1 // org.apache.lucene.util.BytesRef term
        end local 0 // org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/lucene/spatial/prefix/tree/LegacyPrefixTree;
            0    5     1     term  Lorg/apache/lucene/util/BytesRef;
            0    5     2  scratch  Lorg/apache/lucene/spatial/prefix/tree/Cell;
            1    5     3     cell  Lorg/apache/lucene/spatial/prefix/tree/LegacyCell;
    MethodParameters:
         Name  Flags
      term     
      scratch  

  public org.apache.lucene.spatial.prefix.tree.CellIterator getTreeCellIterator(org.locationtech.spatial4j.shape.Shape, int);
    descriptor: (Lorg/locationtech/spatial4j/shape/Shape;I)Lorg/apache/lucene/spatial/prefix/tree/CellIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree this
        start local 1 // org.locationtech.spatial4j.shape.Shape shape
        start local 2 // int detailLevel
         0: .line 63
            aload 1 /* shape */
            instanceof org.locationtech.spatial4j.shape.Point
            ifne 2
         1: .line 64
            aload 0 /* this */
            aload 1 /* shape */
            iload 2 /* detailLevel */
            invokespecial org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree.getTreeCellIterator:(Lorg/locationtech/spatial4j/shape/Shape;I)Lorg/apache/lucene/spatial/prefix/tree/CellIterator;
            areturn
         2: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* shape */
            checkcast org.locationtech.spatial4j.shape.Point
            iload 2 /* detailLevel */
            invokevirtual org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree.getCell:(Lorg/locationtech/spatial4j/shape/Point;I)Lorg/apache/lucene/spatial/prefix/tree/Cell;
            astore 3 /* cell */
        start local 3 // org.apache.lucene.spatial.prefix.tree.Cell cell
         3: .line 71
            getstatic org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree.$assertionsDisabled:Z
            ifne 4
            aload 3 /* cell */
            instanceof org.apache.lucene.spatial.prefix.tree.LegacyCell
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 72
      StackMap locals: org.apache.lucene.spatial.prefix.tree.Cell
      StackMap stack:
            aload 3 /* cell */
            aconst_null
            invokeinterface org.apache.lucene.spatial.prefix.tree.Cell.getTokenBytesNoLeaf:(Lorg/apache/lucene/util/BytesRef;)Lorg/apache/lucene/util/BytesRef;
            astore 4 /* fullBytes */
        start local 4 // org.apache.lucene.util.BytesRef fullBytes
         5: .line 74
            iload 2 /* detailLevel */
            anewarray org.apache.lucene.spatial.prefix.tree.Cell
            astore 5 /* cells */
        start local 5 // org.apache.lucene.spatial.prefix.tree.Cell[] cells
         6: .line 75
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         7: goto 12
         8: .line 76
      StackMap locals: org.apache.lucene.util.BytesRef org.apache.lucene.spatial.prefix.tree.Cell[] int
      StackMap stack:
            aload 4 /* fullBytes */
            iload 6 /* i */
            putfield org.apache.lucene.util.BytesRef.length:I
         9: .line 77
            aload 0 /* this */
            aload 4 /* fullBytes */
            aconst_null
            invokevirtual org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree.readCell:(Lorg/apache/lucene/util/BytesRef;Lorg/apache/lucene/spatial/prefix/tree/Cell;)Lorg/apache/lucene/spatial/prefix/tree/Cell;
            astore 7 /* parentCell */
        start local 7 // org.apache.lucene.spatial.prefix.tree.Cell parentCell
        10: .line 78
            aload 5 /* cells */
            iload 6 /* i */
            iconst_1
            isub
            aload 7 /* parentCell */
            aastore
        end local 7 // org.apache.lucene.spatial.prefix.tree.Cell parentCell
        11: .line 75
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 2 /* detailLevel */
            if_icmplt 8
        end local 6 // int i
        13: .line 80
            aload 5 /* cells */
            iload 2 /* detailLevel */
            iconst_1
            isub
            aload 3 /* cell */
            aastore
        14: .line 81
            new org.apache.lucene.spatial.prefix.tree.FilterCellIterator
            dup
            aload 5 /* cells */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            aconst_null
            invokespecial org.apache.lucene.spatial.prefix.tree.FilterCellIterator.<init>:(Ljava/util/Iterator;Lorg/locationtech/spatial4j/shape/Shape;)V
            areturn
        end local 5 // org.apache.lucene.spatial.prefix.tree.Cell[] cells
        end local 4 // org.apache.lucene.util.BytesRef fullBytes
        end local 3 // org.apache.lucene.spatial.prefix.tree.Cell cell
        end local 2 // int detailLevel
        end local 1 // org.locationtech.spatial4j.shape.Shape shape
        end local 0 // org.apache.lucene.spatial.prefix.tree.LegacyPrefixTree this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/apache/lucene/spatial/prefix/tree/LegacyPrefixTree;
            0   15     1        shape  Lorg/locationtech/spatial4j/shape/Shape;
            0   15     2  detailLevel  I
            3   15     3         cell  Lorg/apache/lucene/spatial/prefix/tree/Cell;
            5   15     4    fullBytes  Lorg/apache/lucene/util/BytesRef;
            6   15     5        cells  [Lorg/apache/lucene/spatial/prefix/tree/Cell;
            7   13     6            i  I
           10   11     7   parentCell  Lorg/apache/lucene/spatial/prefix/tree/Cell;
    MethodParameters:
             Name  Flags
      shape        
      detailLevel  
}
SourceFile: "LegacyPrefixTree.java"