public class org.apache.batik.ext.awt.geom.PathLength
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.batik.ext.awt.geom.PathLength
super_class: java.lang.Object
{
protected java.awt.Shape path;
descriptor: Ljava/awt/Shape;
flags: (0x0004) ACC_PROTECTED
protected java.util.List segments;
descriptor: Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
protected int[] segmentIndexes;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
protected float pathLength;
descriptor: F
flags: (0x0004) ACC_PROTECTED
protected boolean initialised;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
public void <init>(java.awt.Shape);
descriptor: (Ljava/awt/Shape;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual org.apache.batik.ext.awt.geom.PathLength.setPath:(Ljava/awt/Shape;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
0 3 1 path Ljava/awt/Shape;
MethodParameters:
Name Flags
path
public java.awt.Shape getPath();
descriptor: ()Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.path:Ljava/awt/Shape;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
public void setPath(java.awt.Shape);
descriptor: (Ljava/awt/Shape;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.batik.ext.awt.geom.PathLength.path:Ljava/awt/Shape;
1: aload 0
iconst_0
putfield org.apache.batik.ext.awt.geom.PathLength.initialised:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
0 3 1 v Ljava/awt/Shape;
MethodParameters:
Name Flags
v
public float lengthOfPath();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.initialised:Z
ifne 2
1: aload 0
invokevirtual org.apache.batik.ext.awt.geom.PathLength.initialise:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
protected void initialise();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=11, locals=13, args_size=1
start local 0 0: aload 0
fconst_0
putfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
1: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.path:Ljava/awt/Shape;
new java.awt.geom.AffineTransform
dup
invokespecial java.awt.geom.AffineTransform.<init>:()V
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
astore 1
start local 1 2: new org.apache.batik.ext.awt.geom.PathLength$SingleSegmentPathIterator
dup
invokespecial org.apache.batik.ext.awt.geom.PathLength$SingleSegmentPathIterator.<init>:()V
astore 2
start local 2 3: aload 0
new java.util.ArrayList
dup
bipush 20
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
4: new java.util.ArrayList
dup
bipush 20
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: iconst_m1
istore 5
start local 5 7: fconst_0
fstore 6
start local 6 8: fconst_0
fstore 7
start local 7 9: fconst_0
fstore 8
start local 8 10: fconst_0
fstore 9
start local 9 11: bipush 6
newarray 6
astore 10
start local 10 12: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
new org.apache.batik.ext.awt.geom.PathLength$PathSegment
dup
iconst_0
fconst_0
fconst_0
fconst_0
13: iload 5
invokespecial org.apache.batik.ext.awt.geom.PathLength$PathSegment.<init>:(IFFFI)V
14: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: goto 71
16: StackMap locals: org.apache.batik.ext.awt.geom.PathLength java.awt.geom.PathIterator org.apache.batik.ext.awt.geom.PathLength$SingleSegmentPathIterator java.util.List int int float float float float float[]
StackMap stack:
iinc 5 1
17: aload 3
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: aload 1
aload 10
invokeinterface java.awt.geom.PathIterator.currentSegment:([F)I
istore 11
start local 11 19: iload 11
tableswitch { // 0 - 4
0: 20
1: 30
2: 53
3: 53
4: 41
default: 53
}
20: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
new org.apache.batik.ext.awt.geom.PathLength$PathSegment
dup
iload 11
aload 10
iconst_0
faload
aload 10
iconst_1
faload
21: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
iload 5
invokespecial org.apache.batik.ext.awt.geom.PathLength$PathSegment.<init>:(IFFFI)V
22: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: aload 10
iconst_0
faload
fstore 8
24: aload 10
iconst_1
faload
fstore 9
25: fload 8
fstore 6
26: fload 9
fstore 7
27: iinc 4 1
28: aload 1
invokeinterface java.awt.geom.PathIterator.next:()V
29: goto 71
30: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
f2d
fload 8
f2d
fload 9
f2d
aload 10
iconst_0
faload
f2d
31: aload 10
iconst_1
faload
f2d
32: invokestatic java.awt.geom.Point2D.distance:(DDDD)D
dadd
d2f
putfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
33: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
new org.apache.batik.ext.awt.geom.PathLength$PathSegment
dup
iload 11
aload 10
iconst_0
faload
aload 10
iconst_1
faload
34: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
iload 5
invokespecial org.apache.batik.ext.awt.geom.PathLength$PathSegment.<init>:(IFFFI)V
35: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: aload 10
iconst_0
faload
fstore 8
37: aload 10
iconst_1
faload
fstore 9
38: iinc 4 1
39: aload 1
invokeinterface java.awt.geom.PathIterator.next:()V
40: goto 71
41: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
f2d
fload 8
f2d
fload 9
f2d
42: fload 6
f2d
fload 7
f2d
43: invokestatic java.awt.geom.Point2D.distance:(DDDD)D
dadd
d2f
putfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
44: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
new org.apache.batik.ext.awt.geom.PathLength$PathSegment
dup
iconst_1
45: fload 6
fload 7
46: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
iload 5
invokespecial org.apache.batik.ext.awt.geom.PathLength$PathSegment.<init>:(IFFFI)V
47: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
48: fload 6
fstore 8
49: fload 7
fstore 9
50: iinc 4 1
51: aload 1
invokeinterface java.awt.geom.PathIterator.next:()V
52: goto 71
53: StackMap locals:
StackMap stack:
aload 2
aload 1
fload 8
f2d
fload 9
f2d
invokevirtual org.apache.batik.ext.awt.geom.PathLength$SingleSegmentPathIterator.setPathIterator:(Ljava/awt/geom/PathIterator;DD)V
54: new java.awt.geom.FlatteningPathIterator
dup
aload 2
ldc 0.009999999776482582
invokespecial java.awt.geom.FlatteningPathIterator.<init>:(Ljava/awt/geom/PathIterator;D)V
55: astore 12
start local 12 56: goto 70
57: StackMap locals: java.awt.geom.FlatteningPathIterator
StackMap stack:
aload 12
aload 10
invokevirtual java.awt.geom.FlatteningPathIterator.currentSegment:([F)I
istore 11
58: iload 11
iconst_1
if_icmpne 69
59: aload 0
dup
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
f2d
fload 8
f2d
fload 9
f2d
60: aload 10
iconst_0
faload
f2d
aload 10
iconst_1
faload
f2d
61: invokestatic java.awt.geom.Point2D.distance:(DDDD)D
dadd
d2f
putfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
62: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
new org.apache.batik.ext.awt.geom.PathLength$PathSegment
dup
iload 11
aload 10
iconst_0
faload
63: aload 10
iconst_1
faload
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
64: iload 5
invokespecial org.apache.batik.ext.awt.geom.PathLength$PathSegment.<init>:(IFFFI)V
65: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
66: aload 10
iconst_0
faload
fstore 8
67: aload 10
iconst_1
faload
fstore 9
68: iinc 4 1
69: StackMap locals:
StackMap stack:
aload 12
invokevirtual java.awt.geom.FlatteningPathIterator.next:()V
70: StackMap locals:
StackMap stack:
aload 12
invokevirtual java.awt.geom.FlatteningPathIterator.isDone:()Z
ifeq 57
end local 12 end local 11 71: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.awt.geom.PathIterator.isDone:()Z
ifeq 16
72: aload 0
aload 3
invokeinterface java.util.List.size:()I
newarray 10
putfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
73: iconst_0
istore 12
start local 12 74: goto 77
75: StackMap locals: org.apache.batik.ext.awt.geom.PathLength java.awt.geom.PathIterator org.apache.batik.ext.awt.geom.PathLength$SingleSegmentPathIterator java.util.List int int float float float float float[] top int
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
iload 12
aload 3
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iastore
76: iinc 12 1
StackMap locals:
StackMap stack:
77: iload 12
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
arraylength
if_icmplt 75
end local 12 78: aload 0
iconst_1
putfield org.apache.batik.ext.awt.geom.PathLength.initialised:Z
79: return
end local 10 end local 9 end local 8 end local 7 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 80 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
2 80 1 pi Ljava/awt/geom/PathIterator;
3 80 2 sspi Lorg/apache/batik/ext/awt/geom/PathLength$SingleSegmentPathIterator;
5 80 3 indexes Ljava/util/List;
6 80 4 index I
7 80 5 origIndex I
8 80 6 lastMoveX F
9 80 7 lastMoveY F
10 80 8 currentX F
11 80 9 currentY F
12 80 10 seg [F
19 71 11 segType I
56 71 12 fpi Ljava/awt/geom/FlatteningPathIterator;
74 78 12 i I
public int getNumberOfSegments();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.initialised:Z
ifne 2
1: aload 0
invokevirtual org.apache.batik.ext.awt.geom.PathLength.initialise:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
public float getLengthAtSegment(int);
descriptor: (I)F
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.initialised:Z
ifne 2
1: aload 0
invokevirtual org.apache.batik.ext.awt.geom.PathLength.initialise:()V
2: StackMap locals:
StackMap stack:
iload 1
ifgt 4
3: fconst_0
freturn
4: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
arraylength
if_icmplt 6
5: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
freturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
iload 1
iaload
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 2
start local 2 7: aload 2
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getLength:()F
freturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
0 8 1 index I
7 8 2 seg Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
MethodParameters:
Name Flags
index
public int segmentAtLength(float);
descriptor: (F)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
fload 1
invokevirtual org.apache.batik.ext.awt.geom.PathLength.findUpperIndex:(F)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 3
2: iconst_m1
ireturn
3: StackMap locals: int
StackMap stack:
iload 2
ifne 6
4: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 3
start local 3 5: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getIndex:()I
ireturn
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
iload 2
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 3
start local 3 7: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getIndex:()I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
0 8 1 length F
1 8 2 upperIndex I
5 6 3 upper Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
7 8 3 lower Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
MethodParameters:
Name Flags
length
public java.awt.geom.Point2D pointAtLength(int, float);
descriptor: (IF)Ljava/awt/geom/Point2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.initialised:Z
ifne 2
1: aload 0
invokevirtual org.apache.batik.ext.awt.geom.PathLength.initialise:()V
2: StackMap locals:
StackMap stack:
iload 1
iflt 3
iload 1
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
arraylength
if_icmplt 4
3: StackMap locals:
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
iload 1
iaload
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 3
start local 3 5: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getLength:()F
fstore 4
start local 4 6: iload 1
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
arraylength
iconst_1
isub
if_icmpne 9
7: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
fstore 5
start local 5 8: goto 11
end local 5 9: StackMap locals: org.apache.batik.ext.awt.geom.PathLength$PathSegment float
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
iload 1
iconst_1
iadd
iaload
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 3
10: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getLength:()F
fstore 5
start local 5 11: StackMap locals: float
StackMap stack:
aload 0
fload 4
fload 5
fload 4
fsub
fload 2
fmul
fadd
invokevirtual org.apache.batik.ext.awt.geom.PathLength.pointAtLength:(F)Ljava/awt/geom/Point2D;
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 12 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
0 12 1 index I
0 12 2 proportion F
5 12 3 seg Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
6 12 4 start F
8 9 5 end F
11 12 5 end F
MethodParameters:
Name Flags
index
proportion
public java.awt.geom.Point2D pointAtLength(float);
descriptor: (F)Ljava/awt/geom/Point2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 0
fload 1
invokevirtual org.apache.batik.ext.awt.geom.PathLength.findUpperIndex:(F)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 3
start local 3 4: iload 2
ifne 6
5: new java.awt.geom.Point2D$Float
dup
aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getX:()F
aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getY:()F
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
areturn
6: StackMap locals: org.apache.batik.ext.awt.geom.PathLength$PathSegment
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
iload 2
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 4
start local 4 7: fload 1
aload 4
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getLength:()F
fsub
fstore 5
start local 5 8: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getY:()F
aload 4
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getY:()F
fsub
f2d
9: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getX:()F
aload 4
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getX:()F
fsub
f2d
10: invokestatic java.lang.Math.atan2:(DD)D
dstore 6
start local 6 11: aload 4
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getX:()F
f2d
fload 5
f2d
dload 6
invokestatic java.lang.Math.cos:(D)D
dmul
dadd
d2f
fstore 8
start local 8 12: aload 4
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getY:()F
f2d
fload 5
f2d
dload 6
invokestatic java.lang.Math.sin:(D)D
dmul
dadd
d2f
fstore 9
start local 9 13: new java.awt.geom.Point2D$Float
dup
fload 8
fload 9
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
areturn
end local 9 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 14 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
0 14 1 length F
1 14 2 upperIndex I
4 14 3 upper Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
7 14 4 lower Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
8 14 5 offset F
11 14 6 theta D
12 14 8 xPoint F
13 14 9 yPoint F
MethodParameters:
Name Flags
length
public float angleAtLength(int, float);
descriptor: (IF)F
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.initialised:Z
ifne 2
1: aload 0
invokevirtual org.apache.batik.ext.awt.geom.PathLength.initialise:()V
2: StackMap locals:
StackMap stack:
iload 1
iflt 3
iload 1
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
arraylength
if_icmplt 4
3: StackMap locals:
StackMap stack:
fconst_0
freturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
iload 1
iaload
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 3
start local 3 5: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getLength:()F
fstore 4
start local 4 6: iload 1
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
arraylength
iconst_1
isub
if_icmpne 9
7: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
fstore 5
start local 5 8: goto 11
end local 5 9: StackMap locals: org.apache.batik.ext.awt.geom.PathLength$PathSegment float
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segmentIndexes:[I
iload 1
iconst_1
iadd
iaload
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 3
10: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getLength:()F
fstore 5
start local 5 11: StackMap locals: float
StackMap stack:
aload 0
fload 4
fload 5
fload 4
fsub
fload 2
fmul
fadd
invokevirtual org.apache.batik.ext.awt.geom.PathLength.angleAtLength:(F)F
freturn
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 12 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
0 12 1 index I
0 12 2 proportion F
5 12 3 seg Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
6 12 4 start F
8 9 5 end F
11 12 5 end F
MethodParameters:
Name Flags
index
proportion
public float angleAtLength(float);
descriptor: (F)F
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
fload 1
invokevirtual org.apache.batik.ext.awt.geom.PathLength.findUpperIndex:(F)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 3
2: fconst_0
freturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 3
start local 3 4: iload 2
ifne 6
5: iconst_1
istore 2
6: StackMap locals: org.apache.batik.ext.awt.geom.PathLength$PathSegment
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
iload 2
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 4
start local 4 7: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getY:()F
aload 4
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getY:()F
fsub
f2d
8: aload 3
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getX:()F
aload 4
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getX:()F
fsub
f2d
9: invokestatic java.lang.Math.atan2:(DD)D
d2f
freturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
0 10 1 length F
1 10 2 upperIndex I
4 10 3 upper Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
7 10 4 lower Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
MethodParameters:
Name Flags
length
public int findUpperIndex(float);
descriptor: (F)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.initialised:Z
ifne 2
1: aload 0
invokevirtual org.apache.batik.ext.awt.geom.PathLength.initialise:()V
2: StackMap locals:
StackMap stack:
fload 1
fconst_0
fcmpg
iflt 3
fload 1
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.pathLength:F
fcmpl
ifle 4
3: StackMap locals:
StackMap stack:
iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 3
start local 3 6: goto 13
7: StackMap locals: int int
StackMap stack:
iload 2
iload 3
iadd
iconst_1
ishr
istore 4
start local 4 8: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 5
start local 5 9: aload 5
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getLength:()F
fload 1
fcmpl
iflt 12
10: iload 4
istore 3
11: goto 13
12: StackMap locals: int org.apache.batik.ext.awt.geom.PathLength$PathSegment
StackMap stack:
iload 4
iconst_1
iadd
istore 2
end local 5 end local 4 13: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpne 7
14: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 4
start local 4 15: aload 4
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getSegType:()I
ifne 20
16: iload 3
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpne 18
17: goto 20
18: StackMap locals: org.apache.batik.ext.awt.geom.PathLength$PathSegment
StackMap stack:
iinc 3 1
end local 4 19: goto 14
20: StackMap locals:
StackMap stack:
iconst_m1
istore 4
start local 4 21: iconst_0
istore 5
start local 5 22: aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 6
start local 6 23: goto 29
24: StackMap locals: int int int
StackMap stack:
aload 0
getfield org.apache.batik.ext.awt.geom.PathLength.segments:Ljava/util/List;
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.ext.awt.geom.PathLength$PathSegment
astore 7
start local 7 25: aload 7
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getLength:()F
fload 1
fcmpl
iflt 28
26: aload 7
invokevirtual org.apache.batik.ext.awt.geom.PathLength$PathSegment.getSegType:()I
ifeq 28
27: iload 5
istore 4
28: StackMap locals: org.apache.batik.ext.awt.geom.PathLength$PathSegment
StackMap stack:
iinc 5 1
end local 7 29: StackMap locals:
StackMap stack:
iload 4
ifgt 30
iload 5
iload 6
if_icmplt 24
30: StackMap locals:
StackMap stack:
iload 4
ireturn
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 31 0 this Lorg/apache/batik/ext/awt/geom/PathLength;
0 31 1 length F
5 31 2 lb I
6 31 3 ub I
8 13 4 curr I
9 13 5 ps Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
15 19 4 ps Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
21 31 4 upperIndex I
22 31 5 currentIndex I
23 31 6 numSegments I
25 29 7 ps Lorg/apache/batik/ext/awt/geom/PathLength$PathSegment;
MethodParameters:
Name Flags
length
}
SourceFile: "PathLength.java"
NestMembers:
org.apache.batik.ext.awt.geom.PathLength$PathSegment org.apache.batik.ext.awt.geom.PathLength$SingleSegmentPathIterator
InnerClasses:
public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
protected PathSegment = org.apache.batik.ext.awt.geom.PathLength$PathSegment of org.apache.batik.ext.awt.geom.PathLength
protected SingleSegmentPathIterator = org.apache.batik.ext.awt.geom.PathLength$SingleSegmentPathIterator of org.apache.batik.ext.awt.geom.PathLength