abstract class org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree
super_class: java.lang.Object
{
private final org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node rootNode;
descriptor: Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected static final org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge[] EMPTY_ARRAY;
descriptor: [Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge
putstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.EMPTY_ARRAY:[Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.util.List<org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokeinterface java.util.List.size:()I
anewarray org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree java.util.List org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node[] int top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge
astore 4
start local 4 5: aload 2
iload 3
iinc 3 1
new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node
dup
aload 4
aload 0
aload 4
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.getMinimum:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;)D
aload 0
aload 4
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.getMaximum:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;)D
invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;DD)V
aastore
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 2
invokedynamic compare()Ljava/util/Comparator;
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:
(Ljava/lang/Object;Ljava/lang/Object;)I
org/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree.lambda$0(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;)I (6)
(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;)I
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
8: aload 0
aload 2
iconst_0
aload 2
arraylength
iconst_1
isub
invokestatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.createTree:([Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;II)Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.rootNode:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
0 10 1 allEdges Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;>;
2 10 2 edges [Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
3 10 3 i I
5 6 4 edge Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
Signature: (Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;>;)V
MethodParameters:
Name Flags
allEdges final
private static org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node createTree(org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node[], int, int);
descriptor: ([Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;II)Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
if_icmple 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iload 1
iload 2
iadd
iconst_1
iushr
istore 3
start local 3 3: aload 0
iload 3
aaload
astore 4
start local 4 4: aload 4
aload 0
iload 1
iload 3
iconst_1
isub
invokestatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.createTree:([Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;II)Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.left:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
5: aload 4
aload 0
iload 3
iconst_1
iadd
iload 2
invokestatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.createTree:([Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;II)Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.right:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
6: aload 4
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.left:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
ifnull 8
7: aload 4
aload 4
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.max:D
aload 4
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.left:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.max:D
invokestatic java.lang.Math.max:(DD)D
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.max:D
8: StackMap locals: int org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node
StackMap stack:
aload 4
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.right:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
ifnull 10
9: aload 4
aload 4
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.max:D
aload 4
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.right:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.max:D
invokestatic java.lang.Math.max:(DD)D
putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.max:D
10: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 edges [Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
0 11 1 low I
0 11 2 high I
3 11 3 mid I
4 11 4 newNode Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
MethodParameters:
Name Flags
edges final
low final
high final
protected abstract double getMinimum(org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge);
descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;)D
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
edge final
protected abstract double getMaximum(org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge);
descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;)D
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
edge final
public boolean traverse(org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator, double);
descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;D)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
dload 2
dload 2
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;DD)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
0 1 1 edgeIterator Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;
0 1 2 value D
MethodParameters:
Name Flags
edgeIterator final
value final
public boolean traverse(org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator, double, double);
descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;DD)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.rootNode:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.rootNode:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
aload 1
dload 2
dload 4
invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;DD)Z
ireturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
0 3 1 edgeIterator Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;
0 3 2 minValue D
0 3 4 maxValue D
MethodParameters:
Name Flags
edgeIterator final
minValue final
maxValue final
private static int lambda$0(org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node, org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node);
descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.low:D
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.low:D
invokestatic java.lang.Double.compare:(DD)I
istore 2
start local 2 1: iload 2
ifne 3
2: aload 0
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.max:D
aload 1
getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node.max:D
invokestatic java.lang.Double.compare:(DD)I
istore 2
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 left Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
0 4 1 right Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Node;
1 4 2 ret I
}
SourceFile: "GeoComplexPolygon.java"
NestHost: org.apache.lucene.spatial3d.geom.GeoComplexPolygon
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private Edge = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
private abstract EdgeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
private Node = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
private abstract Tree = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree of org.apache.lucene.spatial3d.geom.GeoComplexPolygon