public final class org.apache.lucene.geo.Tessellator
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.lucene.geo.Tessellator
super_class: java.lang.Object
{
private static final int VERTEX_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 80
private static volatile int[] $SWITCH_TABLE$org$apache$lucene$geo$Tessellator$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/geo/Tessellator;
public static final java.util.List<org.apache.lucene.geo.Tessellator$Triangle> tessellate(org.apache.lucene.geo.Polygon);
descriptor: (Lorg/apache/lucene/geo/Polygon;)Ljava/util/List;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.lucene.geo.Polygon.getPolyLons:()[D
aload 0
invokevirtual org.apache.lucene.geo.Polygon.getPolyLats:()[D
aload 0
invokevirtual org.apache.lucene.geo.Polygon.getWindingOrder:()Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
iconst_1
1: iconst_0
getstatic org.apache.lucene.geo.GeoUtils$WindingOrder.CW:Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
2: invokestatic org.apache.lucene.geo.Tessellator.createDoublyLinkedList:([D[DLorg/apache/lucene/geo/GeoUtils$WindingOrder;ZILorg/apache/lucene/geo/GeoUtils$WindingOrder;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "Malformed shape detected in Tessellator!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 0
invokevirtual org.apache.lucene.geo.Polygon.numHoles:()I
ifle 7
6: aload 0
aload 1
invokestatic org.apache.lucene.geo.Tessellator.eliminateHoles:(Lorg/apache/lucene/geo/Polygon;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
7: StackMap locals:
StackMap stack:
bipush 80
aload 0
invokevirtual org.apache.lucene.geo.Polygon.numPoints:()I
isub
istore 3
start local 3 8: iconst_0
istore 4
start local 4 9: goto 12
10: StackMap locals: org.apache.lucene.geo.Polygon org.apache.lucene.geo.Tessellator$Node top int int
StackMap stack:
iload 3
aload 0
iload 4
invokevirtual org.apache.lucene.geo.Polygon.getHole:(I)Lorg/apache/lucene/geo/Polygon;
invokevirtual org.apache.lucene.geo.Polygon.numPoints:()I
isub
istore 3
11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 3
iflt 13
iload 4
aload 0
invokevirtual org.apache.lucene.geo.Polygon.numHoles:()I
if_icmplt 10
end local 4 13: StackMap locals:
StackMap stack:
iload 3
ifge 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 2
start local 2 16: iload 2
ifeq 18
17: aload 1
invokestatic org.apache.lucene.geo.Tessellator.sortByMorton:(Lorg/apache/lucene/geo/Tessellator$Node;)V
end local 3 18: StackMap locals: org.apache.lucene.geo.Polygon org.apache.lucene.geo.Tessellator$Node int
StackMap stack:
aload 0
aload 1
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
getstatic org.apache.lucene.geo.Tessellator$State.INIT:Lorg/apache/lucene/geo/Tessellator$State;
iload 2
invokestatic org.apache.lucene.geo.Tessellator.earcutLinkedList:(Ljava/lang/Object;Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List;Lorg/apache/lucene/geo/Tessellator$State;Z)Ljava/util/List;
astore 3
start local 3 19: aload 3
invokeinterface java.util.List.size:()I
ifne 21
20: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unable to Tessellate shape ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]. Possible malformed shape detected."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals: java.util.List
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 polygon Lorg/apache/lucene/geo/Polygon;
3 22 1 outerNode Lorg/apache/lucene/geo/Tessellator$Node;
16 22 2 mortonOptimized Z
8 18 3 threshold I
9 13 4 i I
19 22 3 result Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;
Signature: (Lorg/apache/lucene/geo/Polygon;)Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;
MethodParameters:
Name Flags
polygon final
public static final java.util.List<org.apache.lucene.geo.Tessellator$Triangle> tessellate(org.apache.lucene.geo.XYPolygon);
descriptor: (Lorg/apache/lucene/geo/XYPolygon;)Ljava/util/List;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.lucene.geo.XYPolygon.getPolyX:()[F
invokestatic org.apache.lucene.geo.XYEncodingUtils.floatArrayToDoubleArray:([F)[D
aload 0
invokevirtual org.apache.lucene.geo.XYPolygon.getPolyY:()[F
invokestatic org.apache.lucene.geo.XYEncodingUtils.floatArrayToDoubleArray:([F)[D
1: aload 0
invokevirtual org.apache.lucene.geo.XYPolygon.getWindingOrder:()Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
iconst_0
iconst_0
getstatic org.apache.lucene.geo.GeoUtils$WindingOrder.CW:Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
2: invokestatic org.apache.lucene.geo.Tessellator.createDoublyLinkedList:([D[DLorg/apache/lucene/geo/GeoUtils$WindingOrder;ZILorg/apache/lucene/geo/GeoUtils$WindingOrder;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "Malformed shape detected in Tessellator!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 0
invokevirtual org.apache.lucene.geo.XYPolygon.numHoles:()I
ifle 7
6: aload 0
aload 1
invokestatic org.apache.lucene.geo.Tessellator.eliminateHoles:(Lorg/apache/lucene/geo/XYPolygon;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
7: StackMap locals:
StackMap stack:
bipush 80
aload 0
invokevirtual org.apache.lucene.geo.XYPolygon.numPoints:()I
isub
istore 3
start local 3 8: iconst_0
istore 4
start local 4 9: goto 12
10: StackMap locals: org.apache.lucene.geo.XYPolygon org.apache.lucene.geo.Tessellator$Node top int int
StackMap stack:
iload 3
aload 0
iload 4
invokevirtual org.apache.lucene.geo.XYPolygon.getHole:(I)Lorg/apache/lucene/geo/XYPolygon;
invokevirtual org.apache.lucene.geo.XYPolygon.numPoints:()I
isub
istore 3
11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 3
iflt 13
iload 4
aload 0
invokevirtual org.apache.lucene.geo.XYPolygon.numHoles:()I
if_icmplt 10
end local 4 13: StackMap locals:
StackMap stack:
iload 3
ifge 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 2
start local 2 16: iload 2
ifeq 18
17: aload 1
invokestatic org.apache.lucene.geo.Tessellator.sortByMorton:(Lorg/apache/lucene/geo/Tessellator$Node;)V
end local 3 18: StackMap locals: org.apache.lucene.geo.XYPolygon org.apache.lucene.geo.Tessellator$Node int
StackMap stack:
aload 0
aload 1
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
getstatic org.apache.lucene.geo.Tessellator$State.INIT:Lorg/apache/lucene/geo/Tessellator$State;
iload 2
invokestatic org.apache.lucene.geo.Tessellator.earcutLinkedList:(Ljava/lang/Object;Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List;Lorg/apache/lucene/geo/Tessellator$State;Z)Ljava/util/List;
astore 3
start local 3 19: aload 3
invokeinterface java.util.List.size:()I
ifne 21
20: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unable to Tessellate shape ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]. Possible malformed shape detected."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals: java.util.List
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 polygon Lorg/apache/lucene/geo/XYPolygon;
3 22 1 outerNode Lorg/apache/lucene/geo/Tessellator$Node;
16 22 2 mortonOptimized Z
8 18 3 threshold I
9 13 4 i I
19 22 3 result Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;
Signature: (Lorg/apache/lucene/geo/XYPolygon;)Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;
MethodParameters:
Name Flags
polygon final
private static final org.apache.lucene.geo.Tessellator$Node createDoublyLinkedList(double[], double[], org.apache.lucene.geo.GeoUtils$WindingOrder, boolean, int, org.apache.lucene.geo.GeoUtils$WindingOrder);
descriptor: ([D[DLorg/apache/lucene/geo/GeoUtils$WindingOrder;ZILorg/apache/lucene/geo/GeoUtils$WindingOrder;)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: aload 5
aload 2
if_acmpne 8
2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: org.apache.lucene.geo.Tessellator$Node int
StackMap stack:
aload 0
aload 1
iload 4
iinc 4 1
iload 7
aload 6
iload 3
invokestatic org.apache.lucene.geo.Tessellator.insertNode:([D[DIILorg/apache/lucene/geo/Tessellator$Node;Z)Lorg/apache/lucene/geo/Tessellator$Node;
astore 6
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
aload 0
arraylength
if_icmplt 4
end local 7 7: goto 13
8: StackMap locals:
StackMap stack:
aload 0
arraylength
iconst_1
isub
istore 7
start local 7 9: goto 12
10: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 4
iinc 4 1
iload 7
aload 6
iload 3
invokestatic org.apache.lucene.geo.Tessellator.insertNode:([D[DIILorg/apache/lucene/geo/Tessellator$Node;Z)Lorg/apache/lucene/geo/Tessellator$Node;
astore 6
11: iinc 7 -1
StackMap locals:
StackMap stack:
12: iload 7
ifge 10
end local 7 13: StackMap locals:
StackMap stack:
aload 6
ifnull 16
aload 6
aload 6
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 16
14: aload 6
iconst_1
invokestatic org.apache.lucene.geo.Tessellator.removeNode:(Lorg/apache/lucene/geo/Tessellator$Node;Z)V
15: aload 6
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 6
16: StackMap locals:
StackMap stack:
aload 6
aconst_null
invokestatic org.apache.lucene.geo.Tessellator.filterPoints:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 x [D
0 17 1 y [D
0 17 2 polyWindingOrder Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
0 17 3 isGeo Z
0 17 4 startIndex I
0 17 5 windingOrder Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
1 17 6 lastNode Lorg/apache/lucene/geo/Tessellator$Node;
3 7 7 i I
9 13 7 i I
MethodParameters:
Name Flags
x final
y final
polyWindingOrder final
isGeo
startIndex
windingOrder final
private static final org.apache.lucene.geo.Tessellator$Node eliminateHoles(org.apache.lucene.geo.XYPolygon, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/XYPolygon;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 2: aload 0
invokevirtual org.apache.lucene.geo.XYPolygon.getHoles:()[Lorg/apache/lucene/geo/XYPolygon;
astore 4
start local 4 3: aload 0
invokevirtual org.apache.lucene.geo.XYPolygon.numPoints:()I
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 15
6: StackMap locals: org.apache.lucene.geo.XYPolygon org.apache.lucene.geo.Tessellator$Node java.util.List java.util.Map org.apache.lucene.geo.XYPolygon[] int int
StackMap stack:
aload 4
iload 6
aaload
invokevirtual org.apache.lucene.geo.XYPolygon.getPolyX:()[F
invokestatic org.apache.lucene.geo.XYEncodingUtils.floatArrayToDoubleArray:([F)[D
7: aload 4
iload 6
aaload
invokevirtual org.apache.lucene.geo.XYPolygon.getPolyY:()[F
invokestatic org.apache.lucene.geo.XYEncodingUtils.floatArrayToDoubleArray:([F)[D
aload 4
iload 6
aaload
invokevirtual org.apache.lucene.geo.XYPolygon.getWindingOrder:()Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
iconst_0
iload 5
getstatic org.apache.lucene.geo.GeoUtils$WindingOrder.CCW:Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
8: invokestatic org.apache.lucene.geo.Tessellator.createDoublyLinkedList:([D[DLorg/apache/lucene/geo/GeoUtils$WindingOrder;ZILorg/apache/lucene/geo/GeoUtils$WindingOrder;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 7
start local 7 9: aload 7
ifnull 13
10: aload 7
invokestatic org.apache.lucene.geo.Tessellator.fetchLeftmost:(Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 8
start local 8 11: aload 2
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 3
aload 8
aload 4
iload 6
aaload
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 13: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
iload 5
aload 4
iload 6
aaload
invokevirtual org.apache.lucene.geo.XYPolygon.numPoints:()I
iadd
istore 5
end local 7 14: iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
aload 0
invokevirtual org.apache.lucene.geo.XYPolygon.numHoles:()I
if_icmplt 6
end local 6 16: aload 2
aload 3
aload 1
invokestatic org.apache.lucene.geo.Tessellator.eliminateHoles:(Ljava/util/List;Ljava/util/Map;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 polygon Lorg/apache/lucene/geo/XYPolygon;
0 17 1 outerNode Lorg/apache/lucene/geo/Tessellator$Node;
1 17 2 holeList Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Node;>;
2 17 3 holeListPolygons Ljava/util/Map<Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/XYPolygon;>;
3 17 4 holes [Lorg/apache/lucene/geo/XYPolygon;
4 17 5 nodeIndex I
5 16 6 i I
9 14 7 list Lorg/apache/lucene/geo/Tessellator$Node;
11 13 8 leftMost Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
polygon final
outerNode
private static final org.apache.lucene.geo.Tessellator$Node eliminateHoles(org.apache.lucene.geo.Polygon, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Polygon;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 2: aload 0
invokevirtual org.apache.lucene.geo.Polygon.getHoles:()[Lorg/apache/lucene/geo/Polygon;
astore 4
start local 4 3: aload 0
invokevirtual org.apache.lucene.geo.Polygon.numPoints:()I
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 15
6: StackMap locals: org.apache.lucene.geo.Polygon org.apache.lucene.geo.Tessellator$Node java.util.List java.util.Map org.apache.lucene.geo.Polygon[] int int
StackMap stack:
aload 4
iload 6
aaload
invokevirtual org.apache.lucene.geo.Polygon.getPolyLons:()[D
aload 4
iload 6
aaload
invokevirtual org.apache.lucene.geo.Polygon.getPolyLats:()[D
aload 4
iload 6
aaload
invokevirtual org.apache.lucene.geo.Polygon.getWindingOrder:()Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
iconst_1
iload 5
getstatic org.apache.lucene.geo.GeoUtils$WindingOrder.CCW:Lorg/apache/lucene/geo/GeoUtils$WindingOrder;
invokestatic org.apache.lucene.geo.Tessellator.createDoublyLinkedList:([D[DLorg/apache/lucene/geo/GeoUtils$WindingOrder;ZILorg/apache/lucene/geo/GeoUtils$WindingOrder;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 7
start local 7 7: aload 7
aload 7
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
if_acmpne 9
8: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Points are all coplanar in hole: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
iload 6
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 7
ifnull 13
10: aload 7
invokestatic org.apache.lucene.geo.Tessellator.fetchLeftmost:(Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 8
start local 8 11: aload 2
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 3
aload 8
aload 4
iload 6
aaload
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 13: StackMap locals:
StackMap stack:
iload 5
aload 4
iload 6
aaload
invokevirtual org.apache.lucene.geo.Polygon.numPoints:()I
iadd
istore 5
end local 7 14: iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
aload 0
invokevirtual org.apache.lucene.geo.Polygon.numHoles:()I
if_icmplt 6
end local 6 16: aload 2
aload 3
aload 1
invokestatic org.apache.lucene.geo.Tessellator.eliminateHoles:(Ljava/util/List;Ljava/util/Map;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 polygon Lorg/apache/lucene/geo/Polygon;
0 17 1 outerNode Lorg/apache/lucene/geo/Tessellator$Node;
1 17 2 holeList Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Node;>;
2 17 3 holeListPolygons Ljava/util/Map<Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Polygon;>;
3 17 4 holes [Lorg/apache/lucene/geo/Polygon;
4 17 5 nodeIndex I
5 16 6 i I
7 14 7 list Lorg/apache/lucene/geo/Tessellator$Node;
11 13 8 leftMost Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
polygon final
outerNode
private static final org.apache.lucene.geo.Tessellator$Node eliminateHoles(java.util.List<org.apache.lucene.geo.Tessellator$Node>, java.util.Map<org.apache.lucene.geo.Tessellator$Node, ?>, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Ljava/util/List;Ljava/util/Map;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=10, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 0
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/geo/Tessellator.lambda$0(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)I (6)
(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)I
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
1: iconst_0
istore 3
start local 3 2: goto 20
3: StackMap locals: int
StackMap stack:
aload 0
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.lucene.geo.Tessellator$Node
astore 4
start local 4 4: aload 1
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 13
start local 13 5: aload 13
instanceof org.apache.lucene.geo.Polygon
ifeq 12
6: aload 13
checkcast org.apache.lucene.geo.Polygon
astore 14
start local 14 7: aload 14
getfield org.apache.lucene.geo.Polygon.minLon:D
dstore 5
start local 5 8: aload 14
getfield org.apache.lucene.geo.Polygon.maxLon:D
dstore 7
start local 7 9: aload 14
getfield org.apache.lucene.geo.Polygon.minLat:D
dstore 9
start local 9 10: aload 14
getfield org.apache.lucene.geo.Polygon.maxLat:D
dstore 11
end local 14 start local 11 11: goto 17
end local 11 end local 9 end local 7 end local 5 12: StackMap locals: java.util.List java.util.Map org.apache.lucene.geo.Tessellator$Node int org.apache.lucene.geo.Tessellator$Node top top top top top top top top java.lang.Object
StackMap stack:
aload 13
checkcast org.apache.lucene.geo.XYPolygon
astore 14
start local 14 13: aload 14
getfield org.apache.lucene.geo.XYPolygon.minX:F
f2d
dstore 5
start local 5 14: aload 14
getfield org.apache.lucene.geo.XYPolygon.maxX:F
f2d
dstore 7
start local 7 15: aload 14
getfield org.apache.lucene.geo.XYPolygon.minY:F
f2d
dstore 9
start local 9 16: aload 14
getfield org.apache.lucene.geo.XYPolygon.maxY:F
f2d
dstore 11
end local 14 start local 11 17: StackMap locals: java.util.List java.util.Map org.apache.lucene.geo.Tessellator$Node int org.apache.lucene.geo.Tessellator$Node double double double double java.lang.Object
StackMap stack:
aload 4
aload 2
dload 5
dload 7
dload 9
dload 11
invokestatic org.apache.lucene.geo.Tessellator.eliminateHole:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;DDDD)V
18: aload 2
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokestatic org.apache.lucene.geo.Tessellator.filterPoints:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
end local 13 end local 11 end local 9 end local 7 end local 5 end local 4 19: iinc 3 1
StackMap locals: java.util.List java.util.Map org.apache.lucene.geo.Tessellator$Node int
StackMap stack:
20: iload 3
aload 0
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 3 21: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 holeList Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Node;>;
0 22 1 holeListPolygons Ljava/util/Map<Lorg/apache/lucene/geo/Tessellator$Node;*>;
0 22 2 outerNode Lorg/apache/lucene/geo/Tessellator$Node;
2 21 3 i I
4 19 4 holeNode Lorg/apache/lucene/geo/Tessellator$Node;
8 12 5 holeMinX D
14 19 5 holeMinX D
9 12 7 holeMaxX D
15 19 7 holeMaxX D
10 12 9 holeMinY D
16 19 9 holeMinY D
11 12 11 holeMaxY D
17 19 11 holeMaxY D
5 19 13 h Ljava/lang/Object;
7 11 14 holePoly Lorg/apache/lucene/geo/Polygon;
13 17 14 holePoly Lorg/apache/lucene/geo/XYPolygon;
Signature: (Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Node;>;Ljava/util/Map<Lorg/apache/lucene/geo/Tessellator$Node;*>;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
holeList
holeListPolygons final
outerNode
private static final void eliminateHole(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node, double, double, double, double);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;DDDD)V
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=12, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 6 start local 8 0: aload 1
astore 10
start local 10 1: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dload 6
dload 8
dload 2
dload 4
invokestatic org.apache.lucene.geo.Rectangle.containsPoint:(DDDDDD)Z
ifeq 7
2: aload 0
aload 10
invokestatic org.apache.lucene.geo.Tessellator.getSharedVertex:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 11
start local 11 3: aload 11
ifnull 7
4: aload 10
aload 11
iconst_1
invokestatic org.apache.lucene.geo.Tessellator.splitPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Lorg/apache/lucene/geo/Tessellator$Node;
astore 12
start local 12 5: aload 12
aload 12
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokestatic org.apache.lucene.geo.Tessellator.filterPoints:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
pop
6: return
end local 12 end local 11 7: StackMap locals:
StackMap stack:
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 10
8: aload 10
aload 1
if_acmpne 1
9: aload 0
aload 1
invokestatic org.apache.lucene.geo.Tessellator.fetchHoleBridge:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
10: aload 1
ifnull 16
11: aload 1
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifne 12
aload 0
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifne 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: istore 11
start local 11 14: aload 1
aload 0
iload 11
invokestatic org.apache.lucene.geo.Tessellator.splitPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Lorg/apache/lucene/geo/Tessellator$Node;
astore 12
start local 12 15: aload 12
aload 12
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokestatic org.apache.lucene.geo.Tessellator.filterPoints:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
pop
end local 12 end local 11 16: StackMap locals:
StackMap stack:
return
end local 10 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 holeNode Lorg/apache/lucene/geo/Tessellator$Node;
0 17 1 outerNode Lorg/apache/lucene/geo/Tessellator$Node;
0 17 2 holeMinX D
0 17 4 holeMaxX D
0 17 6 holeMinY D
0 17 8 holeMaxY D
1 17 10 next Lorg/apache/lucene/geo/Tessellator$Node;
3 7 11 sharedVertex Lorg/apache/lucene/geo/Tessellator$Node;
5 7 12 node Lorg/apache/lucene/geo/Tessellator$Node;
14 16 11 fromPolygon Z
15 16 12 node Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
holeNode final
outerNode
holeMinX
holeMaxX
holeMinY
holeMaxY
private static final org.apache.lucene.geo.Tessellator$Node fetchHoleBridge(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=16, locals=20, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: ldc -Infinity
dstore 3
start local 3 2: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dstore 5
start local 5 3: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dstore 7
start local 7 4: aconst_null
astore 9
start local 9 5: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double org.apache.lucene.geo.Tessellator$Node
StackMap stack:
dload 7
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dcmpg
ifgt 15
dload 7
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dcmpl
iflt 15
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dcmpl
ifeq 15
6: aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dload 7
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dsub
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dsub
dmul
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dsub
ddiv
dadd
dstore 10
start local 10 7: dload 10
dload 5
dcmpg
ifgt 15
dload 10
dload 3
dcmpl
ifle 15
8: dload 10
dstore 3
9: dload 10
dload 5
dcmpl
ifne 12
10: dload 7
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dcmpl
ifne 11
aload 2
areturn
11: StackMap locals: double
StackMap stack:
dload 7
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dcmpl
ifne 12
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
areturn
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dcmpg
ifge 13
aload 2
goto 14
StackMap locals:
StackMap stack:
13: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
StackMap locals:
StackMap stack: org.apache.lucene.geo.Tessellator$Node
14: astore 9
end local 10 15: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
16: aload 2
aload 1
if_acmpne 5
17: aload 9
ifnonnull 19
18: aconst_null
areturn
19: StackMap locals:
StackMap stack:
dload 5
dload 3
dcmpl
ifne 21
20: aload 9
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
areturn
21: StackMap locals:
StackMap stack:
aload 9
astore 10
start local 10 22: aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dstore 11
start local 11 23: aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dstore 13
start local 13 24: ldc Infinity
dstore 15
start local 15 25: aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
26: goto 47
27: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double
StackMap stack:
dload 5
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dcmpl
iflt 46
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dload 11
dcmpl
iflt 46
dload 5
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dcmpl
ifeq 46
28: aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dload 7
dload 13
dcmpg
ifge 29
dload 5
goto 30
StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double
StackMap stack: double double
29: dload 3
StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double
StackMap stack: double double double
30: dload 7
dload 11
dload 13
dload 7
dload 13
dcmpg
ifge 31
dload 3
goto 32
StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double
StackMap stack: double double double double double double
31: dload 5
StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double
StackMap stack: double double double double double double double
32: dload 7
invokestatic org.apache.lucene.geo.Tessellator.pointInEar:(DDDDDDDD)Z
ifeq 46
33: dload 7
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dsub
invokestatic java.lang.Math.abs:(D)D
dload 5
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dsub
ddiv
dstore 17
start local 17 34: aload 2
aload 9
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 42
aload 2
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isLocallyInside:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 42
35: aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
36: aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
37: invokestatic org.apache.lucene.geo.GeoUtils.lineCrossesLine:(DDDDDDDD)Z
istore 19
start local 19 38: iload 19
ifne 46
39: aload 2
astore 9
40: dload 17
dstore 15
end local 19 41: goto 46
StackMap locals: double
StackMap stack:
42: dload 17
dload 15
dcmpg
iflt 43
dload 17
dload 15
dcmpl
ifne 46
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dcmpl
ifle 46
StackMap locals:
StackMap stack:
43: aload 2
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isLocallyInside:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 46
44: aload 2
astore 9
45: dload 17
dstore 15
end local 17 46: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
47: StackMap locals:
StackMap stack:
aload 2
aload 10
if_acmpne 27
48: aload 9
areturn
end local 15 end local 13 end local 11 end local 10 end local 9 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 holeNode Lorg/apache/lucene/geo/Tessellator$Node;
0 49 1 outerNode Lorg/apache/lucene/geo/Tessellator$Node;
1 49 2 p Lorg/apache/lucene/geo/Tessellator$Node;
2 49 3 qx D
3 49 5 hx D
4 49 7 hy D
5 49 9 connection Lorg/apache/lucene/geo/Tessellator$Node;
7 15 10 x D
22 49 10 stop Lorg/apache/lucene/geo/Tessellator$Node;
23 49 11 mx D
24 49 13 my D
25 49 15 tanMin D
34 46 17 tan D
38 41 19 crosses Z
MethodParameters:
Name Flags
holeNode final
outerNode final
private static org.apache.lucene.geo.Tessellator$Node getSharedVertex(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=16, locals=4, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 2
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 7
2: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
3: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
4: invokestatic org.apache.lucene.geo.GeoUtils.lineCrossesLine:(DDDDDDDD)Z
istore 3
start local 3 5: iload 3
ifne 7
6: aload 2
areturn
end local 3 7: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
8: aload 2
aload 0
if_acmpne 1
9: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 polygon Lorg/apache/lucene/geo/Tessellator$Node;
0 10 1 vertex Lorg/apache/lucene/geo/Tessellator$Node;
1 10 2 next Lorg/apache/lucene/geo/Tessellator$Node;
5 7 3 crosses Z
MethodParameters:
Name Flags
polygon final
vertex final
private static final org.apache.lucene.geo.Tessellator$Node fetchLeftmost(org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dcmpg
iflt 3
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dcmpl
ifne 4
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dcmpg
ifge 4
3: StackMap locals:
StackMap stack:
aload 1
astore 2
4: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
5: aload 1
aload 0
if_acmpne 2
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 start Lorg/apache/lucene/geo/Tessellator$Node;
1 7 1 node Lorg/apache/lucene/geo/Tessellator$Node;
2 7 2 leftMost Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
start final
private static final java.util.List<org.apache.lucene.geo.Tessellator$Triangle> earcutLinkedList(, org.apache.lucene.geo.Tessellator$Node, java.util.List<org.apache.lucene.geo.Tessellator$Triangle>, org.apache.lucene.geo.Tessellator$State, boolean);
descriptor: (Ljava/lang/Object;Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List;Lorg/apache/lucene/geo/Tessellator$State;Z)Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=12, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: StackMap locals:
StackMap stack:
aload 1
ifnull 1
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
if_acmpne 2
1: StackMap locals:
StackMap stack:
aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 1
astore 5
start local 5 3: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
astore 6
start local 6 4: aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 7
start local 7 5: aload 6
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 6
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 7
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 7
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
iflt 6
iconst_1
goto 7
StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 8
start local 8 8: iload 8
ifne 17
aload 1
iload 4
invokestatic org.apache.lucene.geo.Tessellator.isEar:(Lorg/apache/lucene/geo/Tessellator$Node;Z)Z
ifeq 17
9: aload 6
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
istore 9
start local 9 10: aload 1
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
istore 10
start local 10 11: aload 6
aload 7
iload 4
invokestatic org.apache.lucene.geo.Tessellator.isEdgeFromPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Z
istore 11
start local 11 12: aload 2
new org.apache.lucene.geo.Tessellator$Triangle
dup
aload 6
iload 9
aload 1
iload 10
aload 7
iload 11
invokespecial org.apache.lucene.geo.Tessellator$Triangle.<init>:(Lorg/apache/lucene/geo/Tessellator$Node;ZLorg/apache/lucene/geo/Tessellator$Node;ZLorg/apache/lucene/geo/Tessellator$Node;Z)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: aload 1
iload 11
invokestatic org.apache.lucene.geo.Tessellator.removeNode:(Lorg/apache/lucene/geo/Tessellator$Node;Z)V
14: aload 7
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
15: aload 7
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 5
16: goto 29
end local 11 end local 10 end local 9 17: StackMap locals: int
StackMap stack:
aload 7
astore 1
18: aload 1
aload 5
if_acmpne 29
19: invokestatic org.apache.lucene.geo.Tessellator.$SWITCH_TABLE$org$apache$lucene$geo$Tessellator$State:()[I
aload 3
invokevirtual org.apache.lucene.geo.Tessellator$State.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 20
2: 23
3: 26
default: 28
}
20: StackMap locals:
StackMap stack:
aload 1
aconst_null
invokestatic org.apache.lucene.geo.Tessellator.filterPoints:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
21: getstatic org.apache.lucene.geo.Tessellator$State.CURE:Lorg/apache/lucene/geo/Tessellator$State;
astore 3
22: goto 0
23: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 4
invokestatic org.apache.lucene.geo.Tessellator.cureLocalIntersections:(Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List;Z)Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
24: getstatic org.apache.lucene.geo.Tessellator$State.SPLIT:Lorg/apache/lucene/geo/Tessellator$State;
astore 3
25: goto 0
26: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 4
invokestatic org.apache.lucene.geo.Tessellator.splitEarcut:(Ljava/lang/Object;Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List;Z)Z
ifne 30
27: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unable to Tessellate shape ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]. Possible malformed shape detected."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
goto 30
end local 8 29: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
if_acmpne 3
end local 7 end local 6 end local 5 30: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 polygon Ljava/lang/Object;
0 31 1 currEar Lorg/apache/lucene/geo/Tessellator$Node;
0 31 2 tessellation Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;
0 31 3 state Lorg/apache/lucene/geo/Tessellator$State;
0 31 4 mortonOptimized Z
3 30 5 stop Lorg/apache/lucene/geo/Tessellator$Node;
4 30 6 prevNode Lorg/apache/lucene/geo/Tessellator$Node;
5 30 7 nextNode Lorg/apache/lucene/geo/Tessellator$Node;
8 29 8 isReflex Z
10 17 9 abFromPolygon Z
11 17 10 bcFromPolygon Z
12 17 11 caFromPolygon Z
Signature: (Ljava/lang/Object;Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;Lorg/apache/lucene/geo/Tessellator$State;Z)Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;
MethodParameters:
Name Flags
polygon
currEar
tessellation final
state
mortonOptimized final
private static final boolean isEar(org.apache.lucene.geo.Tessellator$Node, boolean);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Z)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=16, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: aload 0
invokestatic org.apache.lucene.geo.Tessellator.mortonIsEar:(Lorg/apache/lucene/geo/Tessellator$Node;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
start local 2 3: goto 11
4: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.pointInEar:(DDDDDDDD)Z
ifeq 10
5: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
6: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
7: invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
8: dconst_0
dcmpl
iflt 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
11: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
if_acmpne 4
12: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 ear Lorg/apache/lucene/geo/Tessellator$Node;
0 13 1 mortonOptimized Z
3 13 2 node Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
ear final
mortonOptimized final
private static final boolean mortonIsEar(org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=16, locals=11, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.x:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.x:I
invokestatic java.lang.StrictMath.min:(II)I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.x:I
invokestatic java.lang.StrictMath.min:(II)I
ldc -2147483648
ixor
istore 1
start local 1 1: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.y:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.y:I
invokestatic java.lang.StrictMath.min:(II)I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.y:I
invokestatic java.lang.StrictMath.min:(II)I
ldc -2147483648
ixor
istore 2
start local 2 2: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.x:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.x:I
invokestatic java.lang.StrictMath.max:(II)I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.x:I
invokestatic java.lang.StrictMath.max:(II)I
ldc -2147483648
ixor
istore 3
start local 3 3: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.y:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.y:I
invokestatic java.lang.StrictMath.max:(II)I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.y:I
invokestatic java.lang.StrictMath.max:(II)I
ldc -2147483648
ixor
istore 4
start local 4 4: iload 1
iload 2
invokestatic org.apache.lucene.util.BitUtil.interleave:(II)J
lstore 5
start local 5 5: iload 3
iload 4
invokestatic org.apache.lucene.util.BitUtil.interleave:(II)J
lstore 7
start local 7 6: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 9
start local 9 7: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 10
start local 10 8: goto 17
9: StackMap locals: org.apache.lucene.geo.Tessellator$Node int int int int long long org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 12
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 12
10: aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.pointInEar:(DDDDDDDD)Z
ifeq 12
11: aload 9
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
iflt 12
iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 9
13: aload 10
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 16
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 16
14: aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.pointInEar:(DDDDDDDD)Z
ifeq 16
15: aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
iflt 16
iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 10
17: StackMap locals:
StackMap stack:
aload 9
ifnull 26
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
lload 5
invokestatic java.lang.Long.compareUnsigned:(JJ)I
iflt 26
18: aload 10
ifnull 26
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
lload 7
invokestatic java.lang.Long.compareUnsigned:(JJ)I
19: ifle 9
20: goto 26
21: StackMap locals:
StackMap stack:
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 25
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 25
22: aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.pointInEar:(DDDDDDDD)Z
ifeq 25
23: aload 9
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
iflt 25
24: iconst_0
ireturn
25: StackMap locals:
StackMap stack:
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 9
26: StackMap locals:
StackMap stack:
aload 9
ifnull 33
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
lload 5
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 21
27: goto 33
28: StackMap locals:
StackMap stack:
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 32
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 32
29: aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.pointInEar:(DDDDDDDD)Z
ifeq 32
30: aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
iflt 32
31: iconst_0
ireturn
32: StackMap locals:
StackMap stack:
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 10
33: StackMap locals:
StackMap stack:
aload 10
ifnull 36
34: aload 10
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
lload 7
invokestatic java.lang.Long.compareUnsigned:(JJ)I
35: ifle 28
36: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 10 end local 9 end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 ear Lorg/apache/lucene/geo/Tessellator$Node;
1 37 1 minTX I
2 37 2 minTY I
3 37 3 maxTX I
4 37 4 maxTY I
5 37 5 minZ J
6 37 7 maxZ J
7 37 9 p Lorg/apache/lucene/geo/Tessellator$Node;
8 37 10 n Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
ear final
private static final org.apache.lucene.geo.Tessellator$Node cureLocalIntersections(org.apache.lucene.geo.Tessellator$Node, java.util.List<org.apache.lucene.geo.Tessellator$Triangle>, boolean);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List;Z)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=16, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
astore 3
start local 3 1: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 3
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 4
start local 4 2: aload 3
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
astore 5
start local 5 3: aload 4
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 6
start local 6 4: aload 5
aload 6
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifne 22
5: aload 5
aload 5
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 5
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 6
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 6
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.isIntersectingPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;DDDD)Z
ifne 22
6: aload 5
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 5
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 3
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 3
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 4
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 4
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 6
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 6
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.linesIntersect:(DDDDDDDD)Z
ifeq 22
7: aload 5
aload 6
invokestatic org.apache.lucene.geo.Tessellator.isLocallyInside:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 22
aload 6
aload 5
invokestatic org.apache.lucene.geo.Tessellator.isLocallyInside:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 22
8: aload 5
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 3
if_acmpne 9
aload 5
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
goto 10
StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node
StackMap stack:
9: aload 5
aload 3
iload 2
invokestatic org.apache.lucene.geo.Tessellator.isEdgeFromPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Z
StackMap locals:
StackMap stack: int
10: istore 7
start local 7 11: aload 3
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 6
if_acmpne 12
aload 3
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
goto 13
StackMap locals: int
StackMap stack:
12: aload 3
aload 6
iload 2
invokestatic org.apache.lucene.geo.Tessellator.isEdgeFromPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Z
StackMap locals:
StackMap stack: int
13: istore 8
start local 8 14: aload 6
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 5
if_acmpne 15
aload 6
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
goto 16
StackMap locals: int
StackMap stack:
15: aload 5
aload 6
iload 2
invokestatic org.apache.lucene.geo.Tessellator.isEdgeFromPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Z
StackMap locals:
StackMap stack: int
16: istore 9
start local 9 17: aload 1
new org.apache.lucene.geo.Tessellator$Triangle
dup
aload 5
iload 7
aload 3
iload 8
aload 6
iload 9
invokespecial org.apache.lucene.geo.Tessellator$Triangle.<init>:(Lorg/apache/lucene/geo/Tessellator$Node;ZLorg/apache/lucene/geo/Tessellator$Node;ZLorg/apache/lucene/geo/Tessellator$Node;Z)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: aload 1
new org.apache.lucene.geo.Tessellator$Triangle
dup
aload 5
iload 7
aload 3
iload 8
aload 6
iload 9
invokespecial org.apache.lucene.geo.Tessellator$Triangle.<init>:(Lorg/apache/lucene/geo/Tessellator$Node;ZLorg/apache/lucene/geo/Tessellator$Node;ZLorg/apache/lucene/geo/Tessellator$Node;Z)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: aload 3
iload 9
invokestatic org.apache.lucene.geo.Tessellator.removeNode:(Lorg/apache/lucene/geo/Tessellator$Node;Z)V
20: aload 3
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
iload 9
invokestatic org.apache.lucene.geo.Tessellator.removeNode:(Lorg/apache/lucene/geo/Tessellator$Node;Z)V
21: aload 6
dup
astore 0
astore 3
end local 9 end local 8 end local 7 22: StackMap locals:
StackMap stack:
aload 3
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 3
end local 6 end local 5 23: aload 3
aload 0
if_acmpne 1
24: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 startNode Lorg/apache/lucene/geo/Tessellator$Node;
0 25 1 tessellation Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;
0 25 2 mortonOptimized Z
1 25 3 node Lorg/apache/lucene/geo/Tessellator$Node;
2 25 4 nextNode Lorg/apache/lucene/geo/Tessellator$Node;
3 23 5 a Lorg/apache/lucene/geo/Tessellator$Node;
4 23 6 b Lorg/apache/lucene/geo/Tessellator$Node;
11 22 7 abFromPolygon Z
14 22 8 bcFromPolygon Z
17 22 9 caFromPolygon Z
Signature: (Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;Z)Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
startNode
tessellation final
mortonOptimized final
private static final boolean splitEarcut(, org.apache.lucene.geo.Tessellator$Node, java.util.List<org.apache.lucene.geo.Tessellator$Triangle>, );
descriptor: (Ljava/lang/Object;Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List;Z)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
astore 4
start local 4 1: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 4
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 5
start local 5 2: aload 5
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 6
start local 6 3: goto 15
4: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 4
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 6
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 14
aload 4
aload 6
invokestatic org.apache.lucene.geo.Tessellator.isValidDiagonal:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 14
5: aload 4
aload 6
aload 4
aload 6
iload 3
invokestatic org.apache.lucene.geo.Tessellator.isEdgeFromPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Z
invokestatic org.apache.lucene.geo.Tessellator.splitPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Lorg/apache/lucene/geo/Tessellator$Node;
astore 7
start local 7 6: aload 4
aload 4
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokestatic org.apache.lucene.geo.Tessellator.filterPoints:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 4
7: aload 7
aload 7
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokestatic org.apache.lucene.geo.Tessellator.filterPoints:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
astore 7
8: iload 3
ifeq 11
9: aload 4
invokestatic org.apache.lucene.geo.Tessellator.sortByMortonWithReset:(Lorg/apache/lucene/geo/Tessellator$Node;)V
10: aload 7
invokestatic org.apache.lucene.geo.Tessellator.sortByMortonWithReset:(Lorg/apache/lucene/geo/Tessellator$Node;)V
11: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 0
aload 4
aload 2
getstatic org.apache.lucene.geo.Tessellator$State.INIT:Lorg/apache/lucene/geo/Tessellator$State;
iload 3
invokestatic org.apache.lucene.geo.Tessellator.earcutLinkedList:(Ljava/lang/Object;Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List;Lorg/apache/lucene/geo/Tessellator$State;Z)Ljava/util/List;
pop
12: aload 0
aload 7
aload 2
getstatic org.apache.lucene.geo.Tessellator$State.INIT:Lorg/apache/lucene/geo/Tessellator$State;
iload 3
invokestatic org.apache.lucene.geo.Tessellator.earcutLinkedList:(Ljava/lang/Object;Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List;Lorg/apache/lucene/geo/Tessellator$State;Z)Ljava/util/List;
pop
13: iconst_1
ireturn
end local 7 14: StackMap locals:
StackMap stack:
aload 6
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 6
15: StackMap locals:
StackMap stack:
aload 6
aload 4
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
if_acmpne 4
16: aload 4
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 4
end local 6 17: aload 4
aload 1
if_acmpne 1
18: iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 polygon Ljava/lang/Object;
0 19 1 start Lorg/apache/lucene/geo/Tessellator$Node;
0 19 2 tessellation Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;
0 19 3 mortonOptimized Z
1 19 4 searchNode Lorg/apache/lucene/geo/Tessellator$Node;
2 19 5 nextNode Lorg/apache/lucene/geo/Tessellator$Node;
3 17 6 diagonal Lorg/apache/lucene/geo/Tessellator$Node;
6 14 7 splitNode Lorg/apache/lucene/geo/Tessellator$Node;
Signature: (Ljava/lang/Object;Lorg/apache/lucene/geo/Tessellator$Node;Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;Z)Z
MethodParameters:
Name Flags
polygon final
start final
tessellation final
mortonOptimized final
private static boolean isEdgeFromPolygon(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node, boolean);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 2
1: aload 0
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isMortonEdgeFromPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
astore 3
start local 3 3: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 3
aload 3
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 5
aload 3
aload 3
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 5
4: aload 3
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
5: StackMap locals:
StackMap stack:
aload 3
aload 3
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 7
aload 3
aload 3
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 7
6: aload 3
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
7: StackMap locals:
StackMap stack:
aload 3
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 3
8: aload 3
aload 0
if_acmpne 3
9: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 a Lorg/apache/lucene/geo/Tessellator$Node;
0 10 1 b Lorg/apache/lucene/geo/Tessellator$Node;
0 10 2 isMorton Z
3 10 3 next Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
a final
b final
isMorton final
private static final boolean isMortonEdgeFromPolygon(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.x:I
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.x:I
invokestatic java.lang.StrictMath.min:(II)I
ldc -2147483648
ixor
istore 2
start local 2 1: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.y:I
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.y:I
invokestatic java.lang.StrictMath.min:(II)I
ldc -2147483648
ixor
istore 3
start local 3 2: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.x:I
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.x:I
invokestatic java.lang.StrictMath.max:(II)I
ldc -2147483648
ixor
istore 4
start local 4 3: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.y:I
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.y:I
invokestatic java.lang.StrictMath.max:(II)I
ldc -2147483648
ixor
istore 5
start local 5 4: iload 2
iload 3
invokestatic org.apache.lucene.util.BitUtil.interleave:(II)J
lstore 6
start local 6 5: iload 4
iload 5
invokestatic org.apache.lucene.util.BitUtil.interleave:(II)J
lstore 8
start local 8 6: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 10
start local 10 7: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 11
start local 11 8: goto 19
9: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node int int int int long long org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 10
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 11
aload 10
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 11
10: aload 10
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
11: StackMap locals:
StackMap stack:
aload 10
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 13
aload 10
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 13
12: aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
13: StackMap locals:
StackMap stack:
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 10
14: aload 11
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 16
aload 11
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 16
15: aload 11
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
16: StackMap locals:
StackMap stack:
aload 11
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 18
aload 11
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 18
17: aload 11
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
18: StackMap locals:
StackMap stack:
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 11
19: StackMap locals:
StackMap stack:
aload 10
ifnull 28
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
lload 6
invokestatic java.lang.Long.compareUnsigned:(JJ)I
iflt 28
20: aload 11
ifnull 28
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
lload 8
invokestatic java.lang.Long.compareUnsigned:(JJ)I
21: ifle 9
22: goto 28
23: StackMap locals:
StackMap stack:
aload 10
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 25
aload 10
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 25
24: aload 10
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
25: StackMap locals:
StackMap stack:
aload 10
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 27
aload 10
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 27
26: aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
27: StackMap locals:
StackMap stack:
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 10
28: StackMap locals:
StackMap stack:
aload 10
ifnull 35
aload 10
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
lload 6
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 23
29: goto 35
30: StackMap locals:
StackMap stack:
aload 11
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 32
aload 11
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 32
31: aload 11
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
32: StackMap locals:
StackMap stack:
aload 11
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 34
aload 11
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 34
33: aload 11
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
ireturn
34: StackMap locals:
StackMap stack:
aload 11
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 11
35: StackMap locals:
StackMap stack:
aload 11
ifnull 38
36: aload 11
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
lload 8
invokestatic java.lang.Long.compareUnsigned:(JJ)I
37: ifle 30
38: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 11 end local 10 end local 8 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 a Lorg/apache/lucene/geo/Tessellator$Node;
0 39 1 b Lorg/apache/lucene/geo/Tessellator$Node;
1 39 2 minTX I
2 39 3 minTY I
3 39 4 maxTX I
4 39 5 maxTY I
5 39 6 minZ J
6 39 8 maxZ J
7 39 10 p Lorg/apache/lucene/geo/Tessellator$Node;
8 39 11 n Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
a final
b final
private static boolean isPointInLine(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.isPointInLine:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;DD)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Lorg/apache/lucene/geo/Tessellator$Node;
0 1 1 b Lorg/apache/lucene/geo/Tessellator$Node;
0 1 2 point Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
a final
b final
point final
private static boolean isPointInLine(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node, double, double);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;DD)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 4 0: dload 2
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dsub
dstore 6
start local 6 1: dload 4
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dsub
dstore 8
start local 8 2: aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dsub
dstore 10
start local 10 3: aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dsub
dstore 12
start local 12 4: dload 6
dload 12
dmul
dload 8
dload 10
dmul
dsub
dconst_0
dcmpl
ifne 20
5: dload 10
invokestatic java.lang.Math.abs:(D)D
dload 12
invokestatic java.lang.Math.abs:(D)D
dcmpl
iflt 13
6: dload 10
dconst_0
dcmpl
ifle 9
7: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dload 2
dcmpg
ifgt 8
dload 2
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dcmpg
ifgt 8
iconst_1
goto 12
StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node double double double double double double
StackMap stack:
8: iconst_0
goto 12
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dload 2
dcmpg
ifgt 11
dload 2
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
10: dcmpg
ifgt 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: ireturn
13: StackMap locals:
StackMap stack:
dload 12
dconst_0
dcmpl
ifle 16
14: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dload 4
dcmpg
ifgt 15
dload 4
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dcmpg
ifgt 15
iconst_1
goto 19
StackMap locals:
StackMap stack:
15: iconst_0
goto 19
16: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dload 4
dcmpg
ifgt 18
dload 4
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
17: dcmpg
ifgt 18
iconst_1
goto 19
StackMap locals:
StackMap stack:
18: iconst_0
StackMap locals:
StackMap stack: int
19: ireturn
20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 a Lorg/apache/lucene/geo/Tessellator$Node;
0 21 1 b Lorg/apache/lucene/geo/Tessellator$Node;
0 21 2 lon D
0 21 4 lat D
1 21 6 dxc D
2 21 8 dyc D
3 21 10 dxl D
4 21 12 dyl D
MethodParameters:
Name Flags
a final
b final
lon final
lat final
private static final org.apache.lucene.geo.Tessellator$Node splitPolygon(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node, boolean);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;Z)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.lucene.geo.Tessellator$Node
dup
aload 0
invokespecial org.apache.lucene.geo.Tessellator$Node.<init>:(Lorg/apache/lucene/geo/Tessellator$Node;)V
astore 3
start local 3 1: new org.apache.lucene.geo.Tessellator$Node
dup
aload 1
invokespecial org.apache.lucene.geo.Tessellator$Node.<init>:(Lorg/apache/lucene/geo/Tessellator$Node;)V
astore 4
start local 4 2: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 5
start local 5 3: aload 1
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
astore 6
start local 6 4: aload 0
aload 1
putfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
5: aload 0
iload 2
putfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
6: aload 0
aload 1
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
7: aload 1
aload 0
putfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
8: aload 1
aload 0
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
9: aload 3
aload 5
putfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
10: aload 3
aload 5
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
11: aload 5
aload 3
putfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
12: aload 5
aload 3
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
13: aload 4
aload 3
putfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
14: aload 4
iload 2
putfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
15: aload 4
aload 3
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
16: aload 3
aload 4
putfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
17: aload 3
aload 4
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
18: aload 6
aload 4
putfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
19: aload 6
aload 4
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
20: aload 4
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 a Lorg/apache/lucene/geo/Tessellator$Node;
0 21 1 b Lorg/apache/lucene/geo/Tessellator$Node;
0 21 2 edgeFromPolygon Z
1 21 3 a2 Lorg/apache/lucene/geo/Tessellator$Node;
2 21 4 b2 Lorg/apache/lucene/geo/Tessellator$Node;
3 21 5 an Lorg/apache/lucene/geo/Tessellator$Node;
4 21 6 bp Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
a final
b final
edgeFromPolygon
private static final boolean isValidDiagonal(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 2
1: aload 0
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isCWPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 7
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.idx:I
if_icmpeq 7
3: aload 0
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.isIntersectingPolygon:(Lorg/apache/lucene/geo/Tessellator$Node;DDDD)Z
ifne 7
4: aload 0
aload 1
invokestatic org.apache.lucene.geo.Tessellator.isLocallyInside:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 7
aload 1
aload 0
invokestatic org.apache.lucene.geo.Tessellator.isLocallyInside:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifeq 7
5: aload 0
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.middleInsert:(Lorg/apache/lucene/geo/Tessellator$Node;DDDD)Z
ifeq 7
6: iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 a Lorg/apache/lucene/geo/Tessellator$Node;
0 8 1 b Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
a final
b final
private static boolean isCWPolygon(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=14, locals=5, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: dconst_0
dstore 3
start local 3 2: StackMap locals: org.apache.lucene.geo.Tessellator$Node double
StackMap stack:
dload 3
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dadd
dstore 3
3: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
4: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 1
if_acmpne 2
5: dload 3
dconst_0
dcmpg
ifge 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 start Lorg/apache/lucene/geo/Tessellator$Node;
0 8 1 end Lorg/apache/lucene/geo/Tessellator$Node;
1 8 2 next Lorg/apache/lucene/geo/Tessellator$Node;
2 8 3 windingSum D
MethodParameters:
Name Flags
start final
end final
private static final boolean isLocallyInside(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=12, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dstore 2
start local 2 1: dload 2
dconst_0
dcmpl
ifne 3
2: iconst_0
ireturn
3: StackMap locals: double
StackMap stack:
dload 2
dconst_0
dcmpg
ifge 8
4: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
iflt 7
5: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
6: dcmpl
iflt 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpg
iflt 11
9: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
10: dcmpg
iflt 11
iconst_0
ireturn
StackMap locals:
StackMap stack:
11: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 a Lorg/apache/lucene/geo/Tessellator$Node;
0 12 1 b Lorg/apache/lucene/geo/Tessellator$Node;
1 12 2 area D
MethodParameters:
Name Flags
a final
b final
private static final boolean middleInsert(org.apache.lucene.geo.Tessellator$Node, double, double, double, double);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;DDDD)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=8, locals=16, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: aload 0
astore 9
start local 9 1: iconst_0
istore 11
start local 11 2: dload 1
dload 5
dadd
ldc 2.0
ddiv
dstore 12
start local 12 3: dload 3
dload 7
dadd
ldc 2.0
ddiv
dstore 14
start local 14 4: StackMap locals: org.apache.lucene.geo.Tessellator$Node double double double double org.apache.lucene.geo.Tessellator$Node top int double double
StackMap stack:
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 10
start local 10 5: aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dload 14
dcmpl
ifle 6
iconst_1
goto 7
StackMap locals: org.apache.lucene.geo.Tessellator$Node double double double double org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node int double double
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dload 14
dcmpl
ifle 8
iconst_1
goto 9
StackMap locals:
StackMap stack: int
8: iconst_0
StackMap locals: org.apache.lucene.geo.Tessellator$Node double double double double org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node int double double
StackMap stack: int int
9: if_icmpeq 14
10: dload 12
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dsub
dload 14
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dsub
dmul
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dsub
ddiv
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dadd
dcmpg
ifge 14
11: iload 11
ifeq 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: istore 11
14: StackMap locals:
StackMap stack:
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 9
15: aload 9
aload 0
if_acmpne 4
16: iload 11
ireturn
end local 14 end local 12 end local 11 end local 10 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 start Lorg/apache/lucene/geo/Tessellator$Node;
0 17 1 x0 D
0 17 3 y0 D
0 17 5 x1 D
0 17 7 y1 D
1 17 9 node Lorg/apache/lucene/geo/Tessellator$Node;
5 17 10 nextNode Lorg/apache/lucene/geo/Tessellator$Node;
2 17 11 lIsInside Z
3 17 12 lDx D
4 17 14 lDy D
MethodParameters:
Name Flags
start final
x0 final
y0 final
x1 final
y1 final
private static final boolean isIntersectingPolygon(org.apache.lucene.geo.Tessellator$Node, double, double, double, double);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;DDDD)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=16, locals=11, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: aload 0
astore 9
start local 9 1: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 9
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 10
start local 10 2: aload 9
dload 1
dload 3
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;DD)Z
ifne 5
aload 9
dload 5
dload 7
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;DD)Z
ifne 5
3: aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 9
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 10
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dload 1
dload 3
dload 5
dload 7
invokestatic org.apache.lucene.geo.Tessellator.linesIntersect:(DDDDDDDD)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 10
astore 9
6: aload 9
aload 0
if_acmpne 1
7: iconst_0
ireturn
end local 10 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 start Lorg/apache/lucene/geo/Tessellator$Node;
0 8 1 x0 D
0 8 3 y0 D
0 8 5 x1 D
0 8 7 y1 D
1 8 9 node Lorg/apache/lucene/geo/Tessellator$Node;
2 8 10 nextNode Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
start final
x0 final
y0 final
x1 final
y1 final
public static final boolean linesIntersect(double, double, double, double, double, double, double, double);
descriptor: (DDDDDDDD)Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=13, locals=16, args_size=8
start local 0 start local 2 start local 4 start local 6 start local 8 start local 10 start local 12 start local 14 0: dload 0
dload 2
dload 4
dload 6
dload 8
dload 10
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
ifle 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: dload 0
dload 2
dload 4
dload 6
dload 12
dload 14
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
ifle 3
iconst_1
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: double double double double double double double double
StackMap stack: int int
4: if_icmpeq 11
5: dload 8
dload 10
dload 12
dload 14
dload 0
dload 2
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
ifle 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: dload 8
dload 10
dload 12
dload 14
dload 4
dload 6
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
ifle 8
iconst_1
goto 9
StackMap locals:
StackMap stack: int
8: iconst_0
StackMap locals: double double double double double double double double
StackMap stack: int int
9: if_icmpeq 11
10: iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 aX0 D
0 12 2 aY0 D
0 12 4 aX1 D
0 12 6 aY1 D
0 12 8 bX0 D
0 12 10 bY0 D
0 12 12 bX1 D
0 12 14 bY1 D
MethodParameters:
Name Flags
aX0 final
aY0 final
aX1 final
aY1 final
bX0 final
bY0 final
bX1 final
bY1 final
private static final void sortByMortonWithReset(org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;)V
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 1
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
2: aload 1
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
3: aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
4: aload 1
aload 0
if_acmpne 1
5: aload 0
invokestatic org.apache.lucene.geo.Tessellator.sortByMorton:(Lorg/apache/lucene/geo/Tessellator$Node;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 start Lorg/apache/lucene/geo/Tessellator$Node;
1 7 1 next Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
start
private static final void sortByMorton(org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;)V
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
aconst_null
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
1: aload 0
aconst_null
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
2: aload 0
invokestatic org.apache.lucene.geo.Tessellator.tathamSort:(Lorg/apache/lucene/geo/Tessellator$Node;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 start Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
start
private static final void tathamSort(org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;)V
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=10, args_size=1
start local 0 0: iconst_1
istore 9
start local 9 1: aload 0
ifnonnull 3
2: return
3: StackMap locals: org.apache.lucene.geo.Tessellator$Node top top top top top top top top int
StackMap stack:
aload 0
astore 1
start local 1 4: aconst_null
astore 0
5: aconst_null
astore 4
start local 4 6: iconst_0
istore 6
start local 6 7: goto 33
8: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node top top org.apache.lucene.geo.Tessellator$Node top int top top int
StackMap stack:
iinc 6 1
9: aload 1
astore 2
start local 2 10: iconst_0
istore 5
start local 5 11: iconst_0
istore 7
start local 7 12: goto 14
StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node top org.apache.lucene.geo.Tessellator$Node int int int top int
StackMap stack:
13: iinc 5 1
iinc 7 1
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
StackMap locals:
StackMap stack:
14: iload 5
iload 9
if_icmpge 15
aload 2
ifnonnull 13
15: StackMap locals:
StackMap stack:
iload 9
istore 8
start local 8 16: goto 31
17: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node top org.apache.lucene.geo.Tessellator$Node int int int int int
StackMap stack:
iload 7
ifeq 22
iload 8
ifeq 18
aload 2
ifnull 18
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.morton:J
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifgt 22
18: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 19: aload 1
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 1
20: iinc 7 -1
21: goto 25
end local 3 22: StackMap locals:
StackMap stack:
aload 2
astore 3
start local 3 23: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
astore 2
24: iinc 8 -1
25: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node int int int int int
StackMap stack:
aload 4
ifnull 28
26: aload 4
aload 3
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
27: goto 29
28: StackMap locals:
StackMap stack:
aload 3
astore 0
29: StackMap locals:
StackMap stack:
aload 3
aload 4
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
30: aload 3
astore 4
end local 3 31: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node top org.apache.lucene.geo.Tessellator$Node int int int int int
StackMap stack:
iload 7
ifgt 17
iload 8
ifle 32
aload 2
ifnonnull 17
32: StackMap locals:
StackMap stack:
aload 2
astore 1
end local 8 end local 7 end local 5 end local 2 33: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node top top org.apache.lucene.geo.Tessellator$Node top int top top int
StackMap stack:
aload 1
ifnonnull 8
34: aload 4
aconst_null
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
35: iload 9
iconst_2
imul
istore 9
36: iload 6
iconst_1
37: if_icmpgt 3
38: return
end local 9 end local 6 end local 4 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 list Lorg/apache/lucene/geo/Tessellator$Node;
4 39 1 p Lorg/apache/lucene/geo/Tessellator$Node;
10 33 2 q Lorg/apache/lucene/geo/Tessellator$Node;
19 22 3 e Lorg/apache/lucene/geo/Tessellator$Node;
23 31 3 e Lorg/apache/lucene/geo/Tessellator$Node;
6 39 4 tail Lorg/apache/lucene/geo/Tessellator$Node;
11 33 5 i I
7 39 6 numMerges I
12 33 7 pSize I
16 33 8 qSize I
1 39 9 inSize I
MethodParameters:
Name Flags
list
private static final org.apache.lucene.geo.Tessellator$Node filterPoints(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=12, locals=7, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: aload 0
astore 1
4: StackMap locals:
StackMap stack:
aload 0
astore 2
start local 2 5: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
iconst_0
istore 5
start local 5 6: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
astore 3
start local 3 7: aload 2
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
astore 4
start local 4 8: aload 2
aload 3
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifne 12
9: aload 4
aload 3
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
ifne 12
10: aload 4
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
if_icmpne 21
11: aload 4
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 4
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 2
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 3
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 3
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.area:(DDDDDD)D
dconst_0
dcmpl
ifne 21
12: StackMap locals: org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$Node int
StackMap stack:
aload 4
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
aload 2
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
if_icmpeq 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: aload 4
getfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
StackMap locals:
StackMap stack: int
14: istore 6
start local 6 15: aload 2
iload 6
invokestatic org.apache.lucene.geo.Tessellator.removeNode:(Lorg/apache/lucene/geo/Tessellator$Node;Z)V
16: aload 4
dup
astore 1
astore 2
17: aload 2
aload 3
if_acmpne 19
18: goto 23
19: StackMap locals: int
StackMap stack:
iconst_1
istore 5
end local 6 20: goto 22
21: StackMap locals:
StackMap stack:
aload 3
astore 2
22: StackMap locals:
StackMap stack:
iload 5
ifne 5
aload 2
aload 1
if_acmpne 5
23: StackMap locals:
StackMap stack:
aload 1
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 start Lorg/apache/lucene/geo/Tessellator$Node;
0 24 1 end Lorg/apache/lucene/geo/Tessellator$Node;
5 24 2 node Lorg/apache/lucene/geo/Tessellator$Node;
7 24 3 nextNode Lorg/apache/lucene/geo/Tessellator$Node;
8 24 4 prevNode Lorg/apache/lucene/geo/Tessellator$Node;
6 24 5 continueIteration Z
15 20 6 nextEdgeFromPol Z
MethodParameters:
Name Flags
start final
end
private static final org.apache.lucene.geo.Tessellator$Node insertNode(double[], double[], int, int, org.apache.lucene.geo.Tessellator$Node, boolean);
descriptor: ([D[DIILorg/apache/lucene/geo/Tessellator$Node;Z)Lorg/apache/lucene/geo/Tessellator$Node;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=7, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.apache.lucene.geo.Tessellator$Node
dup
aload 0
aload 1
iload 2
iload 3
iload 5
invokespecial org.apache.lucene.geo.Tessellator$Node.<init>:([D[DIIZ)V
astore 6
start local 6 1: aload 4
ifnonnull 7
2: aload 6
aload 6
putfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
3: aload 6
aload 6
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
4: aload 6
aload 6
putfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
5: aload 6
aload 6
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
6: goto 15
7: StackMap locals: org.apache.lucene.geo.Tessellator$Node
StackMap stack:
aload 6
aload 4
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
putfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
8: aload 6
aload 4
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
9: aload 6
aload 4
putfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
10: aload 6
aload 4
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
11: aload 4
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 6
putfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
12: aload 4
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
aload 6
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
13: aload 4
aload 6
putfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
14: aload 4
aload 6
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
15: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 x [D
0 16 1 y [D
0 16 2 index I
0 16 3 vertexIndex I
0 16 4 lastNode Lorg/apache/lucene/geo/Tessellator$Node;
0 16 5 isGeo Z
1 16 6 node Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
x final
y final
index
vertexIndex
lastNode final
isGeo
private static final void removeNode(org.apache.lucene.geo.Tessellator$Node, boolean);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Z)V
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
putfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
1: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
putfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
2: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
iload 1
putfield org.apache.lucene.geo.Tessellator$Node.isNextEdgeFromPolygon:Z
3: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
ifnull 5
4: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
putfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
ifnull 7
6: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.nextZ:Lorg/apache/lucene/geo/Tessellator$Node;
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
putfield org.apache.lucene.geo.Tessellator$Node.previousZ:Lorg/apache/lucene/geo/Tessellator$Node;
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 node Lorg/apache/lucene/geo/Tessellator$Node;
0 8 1 edgeFromPolygon Z
MethodParameters:
Name Flags
node
edgeFromPolygon
private static final boolean isVertexEquals(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic org.apache.lucene.geo.Tessellator.isVertexEquals:(Lorg/apache/lucene/geo/Tessellator$Node;DD)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Lorg/apache/lucene/geo/Tessellator$Node;
0 1 1 b Lorg/apache/lucene/geo/Tessellator$Node;
MethodParameters:
Name Flags
a final
b final
private static final boolean isVertexEquals(org.apache.lucene.geo.Tessellator$Node, double, double);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;DD)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dload 1
dcmpl
ifne 1
aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dload 3
dcmpl
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a Lorg/apache/lucene/geo/Tessellator$Node;
0 2 1 x D
0 2 3 y D
MethodParameters:
Name Flags
a final
x final
y final
private static double area(double, double, double, double, double, double);
descriptor: (DDDDDD)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=12, args_size=6
start local 0 start local 2 start local 4 start local 6 start local 8 start local 10 0: dload 6
dload 2
dsub
dload 8
dload 4
dsub
dmul
dload 4
dload 0
dsub
dload 10
dload 6
dsub
dmul
dsub
dreturn
end local 10 end local 8 end local 6 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 aX D
0 1 2 aY D
0 1 4 bX D
0 1 6 bY D
0 1 8 cX D
0 1 10 cY D
MethodParameters:
Name Flags
aX final
aY final
bX final
bY final
cX final
cY final
private static boolean pointInEar(double, double, double, double, double, double, double, double);
descriptor: (DDDDDDDD)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=16, args_size=8
start local 0 start local 2 start local 4 start local 6 start local 8 start local 10 start local 12 start local 14 0: dload 12
dload 0
dsub
dload 6
dload 2
dsub
dmul
dload 4
dload 0
dsub
dload 14
dload 2
dsub
dmul
dsub
dconst_0
dcmpl
iflt 4
1: dload 4
dload 0
dsub
dload 10
dload 2
dsub
dmul
dload 8
dload 0
dsub
dload 6
dload 2
dsub
dmul
dsub
dconst_0
dcmpl
iflt 4
2: dload 8
dload 0
dsub
dload 14
dload 2
dsub
dmul
dload 12
dload 0
dsub
dload 10
dload 2
dsub
dmul
dsub
dconst_0
3: dcmpl
iflt 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 x D
0 5 2 y D
0 5 4 ax D
0 5 6 ay D
0 5 8 bx D
0 5 10 by D
0 5 12 cx D
0 5 14 cy D
MethodParameters:
Name Flags
x final
y final
ax final
ay final
bx final
by final
cx final
cy final
public static boolean pointInTriangle(double, double, double, double, double, double, double, double);
descriptor: (DDDDDDDD)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=12, locals=27, args_size=8
start local 0 start local 2 start local 4 start local 6 start local 8 start local 10 start local 12 start local 14 0: dload 4
dload 8
dload 12
invokestatic java.lang.StrictMath.min:(DD)D
invokestatic java.lang.StrictMath.min:(DD)D
dstore 16
start local 16 1: dload 6
dload 10
dload 14
invokestatic java.lang.StrictMath.min:(DD)D
invokestatic java.lang.StrictMath.min:(DD)D
dstore 18
start local 18 2: dload 4
dload 8
dload 12
invokestatic java.lang.StrictMath.max:(DD)D
invokestatic java.lang.StrictMath.max:(DD)D
dstore 20
start local 20 3: dload 6
dload 10
dload 14
invokestatic java.lang.StrictMath.max:(DD)D
invokestatic java.lang.StrictMath.max:(DD)D
dstore 22
start local 22 4: dload 0
dload 16
dcmpl
iflt 20
dload 0
dload 20
dcmpg
ifgt 20
dload 2
dload 18
dcmpl
iflt 20
dload 2
dload 22
dcmpg
ifgt 20
5: dload 0
dload 2
dload 4
dload 6
dload 8
dload 10
invokestatic org.apache.lucene.geo.GeoUtils.orient:(DDDDDD)I
istore 24
start local 24 6: dload 0
dload 2
dload 8
dload 10
dload 12
dload 14
invokestatic org.apache.lucene.geo.GeoUtils.orient:(DDDDDD)I
istore 25
start local 25 7: iload 24
ifeq 12
iload 25
ifeq 12
iload 24
ifge 8
iconst_1
goto 9
StackMap locals: double double double double double double double double double double double double int int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: iload 25
ifge 10
iconst_1
goto 11
StackMap locals:
StackMap stack: int
10: iconst_0
StackMap locals: double double double double double double double double double double double double int int
StackMap stack: int int
11: if_icmpne 19
12: StackMap locals:
StackMap stack:
dload 0
dload 2
dload 12
dload 14
dload 4
dload 6
invokestatic org.apache.lucene.geo.GeoUtils.orient:(DDDDDD)I
istore 26
start local 26 13: iload 26
ifeq 18
iload 26
ifge 14
iconst_1
goto 15
StackMap locals: int
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: iload 25
iflt 16
iload 24
iflt 16
iconst_0
goto 17
StackMap locals:
StackMap stack: int
16: iconst_1
StackMap locals: double double double double double double double double double double double double int int int
StackMap stack: int int
17: if_icmpeq 18
iconst_0
ireturn
StackMap locals:
StackMap stack:
18: iconst_1
ireturn
end local 26 19: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 25 end local 24 20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 22 end local 20 end local 18 end local 16 end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 x D
0 21 2 y D
0 21 4 ax D
0 21 6 ay D
0 21 8 bx D
0 21 10 by D
0 21 12 cx D
0 21 14 cy D
1 21 16 minX D
2 21 18 minY D
3 21 20 maxX D
4 21 22 maxY D
6 20 24 a I
7 20 25 b I
13 19 26 c I
MethodParameters:
Name Flags
x
y
ax
ay
bx
by
cx
cy
public static final boolean pointInPolygon(java.util.List<org.apache.lucene.geo.Tessellator$Triangle>, double, );
descriptor: (Ljava/util/List;DD)Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: iconst_0
istore 5
start local 5 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.lucene.geo.Tessellator$Triangle
dload 1
dload 3
invokevirtual org.apache.lucene.geo.Tessellator$Triangle.containsPoint:(DD)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
aload 0
invokeinterface java.util.List.size:()I
if_icmplt 2
end local 5 6: iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 tessellation Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;
0 7 1 lat D
0 7 3 lon D
1 6 5 i I
Signature: (Ljava/util/List<Lorg/apache/lucene/geo/Tessellator$Triangle;>;DD)Z
MethodParameters:
Name Flags
tessellation final
lat
lon
static int[] $SWITCH_TABLE$org$apache$lucene$geo$Tessellator$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.apache.lucene.geo.Tessellator.$SWITCH_TABLE$org$apache$lucene$geo$Tessellator$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.apache.lucene.geo.Tessellator$State.values:()[Lorg/apache/lucene/geo/Tessellator$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.apache.lucene.geo.Tessellator$State.CURE:Lorg/apache/lucene/geo/Tessellator$State;
invokevirtual org.apache.lucene.geo.Tessellator$State.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.apache.lucene.geo.Tessellator$State.INIT:Lorg/apache/lucene/geo/Tessellator$State;
invokevirtual org.apache.lucene.geo.Tessellator$State.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.apache.lucene.geo.Tessellator$State.SPLIT:Lorg/apache/lucene/geo/Tessellator$State;
invokevirtual org.apache.lucene.geo.Tessellator$State.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic org.apache.lucene.geo.Tessellator.$SWITCH_TABLE$org$apache$lucene$geo$Tessellator$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
private static int lambda$0(org.apache.lucene.geo.Tessellator$Node, org.apache.lucene.geo.Tessellator$Node);
descriptor: (Lorg/apache/lucene/geo/Tessellator$Node;Lorg/apache/lucene/geo/Tessellator$Node;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getX:()D
dsub
dstore 2
start local 2 1: dload 2
dconst_0
dcmpl
ifne 7
2: aload 0
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
dsub
dstore 2
3: dload 2
dconst_0
dcmpl
ifne 7
4: aload 0
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 0
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic java.lang.Math.min:(DD)D
dstore 4
start local 4 5: aload 1
getfield org.apache.lucene.geo.Tessellator$Node.previous:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
aload 1
getfield org.apache.lucene.geo.Tessellator$Node.next:Lorg/apache/lucene/geo/Tessellator$Node;
invokevirtual org.apache.lucene.geo.Tessellator$Node.getY:()D
invokestatic java.lang.Math.min:(DD)D
dstore 6
start local 6 6: dload 4
dload 6
dsub
dstore 2
end local 6 end local 4 7: StackMap locals: double
StackMap stack:
dload 2
dconst_0
dcmpg
ifge 8
iconst_m1
goto 10
StackMap locals:
StackMap stack:
8: dload 2
dconst_0
dcmpl
ifle 9
iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 pNodeA Lorg/apache/lucene/geo/Tessellator$Node;
0 11 1 pNodeB Lorg/apache/lucene/geo/Tessellator$Node;
1 11 2 diff D
5 7 4 a D
6 7 6 b D
}
SourceFile: "Tessellator.java"
NestMembers:
org.apache.lucene.geo.Tessellator$Node org.apache.lucene.geo.Tessellator$State org.apache.lucene.geo.Tessellator$Triangle
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final WindingOrder = org.apache.lucene.geo.GeoUtils$WindingOrder of org.apache.lucene.geo.GeoUtils
protected Node = org.apache.lucene.geo.Tessellator$Node of org.apache.lucene.geo.Tessellator
private final State = org.apache.lucene.geo.Tessellator$State of org.apache.lucene.geo.Tessellator
public final Triangle = org.apache.lucene.geo.Tessellator$Triangle of org.apache.lucene.geo.Tessellator