public class sun.java2d.pisces.Dasher extends sun.java2d.pisces.LineSink
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.java2d.pisces.Dasher
super_class: sun.java2d.pisces.LineSink
{
sun.java2d.pisces.LineSink output;
descriptor: Lsun/java2d/pisces/LineSink;
flags: (0x0000)
int[] dash;
descriptor: [I
flags: (0x0000)
int startPhase;
descriptor: I
flags: (0x0000)
boolean startDashOn;
descriptor: Z
flags: (0x0000)
int startIdx;
descriptor: I
flags: (0x0000)
int idx;
descriptor: I
flags: (0x0000)
boolean dashOn;
descriptor: Z
flags: (0x0000)
int phase;
descriptor: I
flags: (0x0000)
int sx;
descriptor: I
flags: (0x0000)
int sy;
descriptor: I
flags: (0x0000)
int x0;
descriptor: I
flags: (0x0000)
int y0;
descriptor: I
flags: (0x0000)
int m00;
descriptor: I
flags: (0x0000)
int m01;
descriptor: I
flags: (0x0000)
int m10;
descriptor: I
flags: (0x0000)
int m11;
descriptor: I
flags: (0x0000)
sun.java2d.pisces.Transform4 transform;
descriptor: Lsun/java2d/pisces/Transform4;
flags: (0x0000)
boolean symmetric;
descriptor: Z
flags: (0x0000)
long ldet;
descriptor: J
flags: (0x0000)
boolean firstDashOn;
descriptor: Z
flags: (0x0000)
boolean starting;
descriptor: Z
flags: (0x0000)
int sx1;
descriptor: I
flags: (0x0000)
int sy1;
descriptor: I
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.java2d.pisces.LineSink.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/pisces/Dasher;
public void <init>(sun.java2d.pisces.LineSink, int[], int, sun.java2d.pisces.Transform4);
descriptor: (Lsun/java2d/pisces/LineSink;[IILsun/java2d/pisces/Transform4;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial sun.java2d.pisces.LineSink.<init>:()V
1: aload 0
aload 1
invokevirtual sun.java2d.pisces.Dasher.setOutput:(Lsun/java2d/pisces/LineSink;)V
2: aload 0
aload 2
iload 3
aload 4
invokevirtual sun.java2d.pisces.Dasher.setParameters:([IILsun/java2d/pisces/Transform4;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/java2d/pisces/Dasher;
0 4 1 output Lsun/java2d/pisces/LineSink;
0 4 2 dash [I
0 4 3 phase I
0 4 4 transform Lsun/java2d/pisces/Transform4;
MethodParameters:
Name Flags
output
dash
phase
transform
public void setOutput(sun.java2d.pisces.LineSink);
descriptor: (Lsun/java2d/pisces/LineSink;)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 sun.java2d.pisces.Dasher.output:Lsun/java2d/pisces/LineSink;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/pisces/Dasher;
0 2 1 output Lsun/java2d/pisces/LineSink;
MethodParameters:
Name Flags
output
public void setParameters(int[], int, sun.java2d.pisces.Transform4);
descriptor: ([IILsun/java2d/pisces/Transform4;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "phase < 0 !"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 3: aload 0
iconst_1
putfield sun.java2d.pisces.Dasher.dashOn:Z
4: goto 10
start local 5 5: StackMap locals: int int
StackMap stack:
iload 2
iload 5
isub
istore 2
6: iload 4
iconst_1
iadd
aload 1
arraylength
irem
istore 4
7: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.dashOn:Z
ifeq 8
iconst_0
goto 9
StackMap locals:
StackMap stack: sun.java2d.pisces.Dasher
8: iconst_1
StackMap locals: sun.java2d.pisces.Dasher int[] int sun.java2d.pisces.Transform4 int int
StackMap stack: sun.java2d.pisces.Dasher int
9: putfield sun.java2d.pisces.Dasher.dashOn:Z
end local 5 10: StackMap locals:
StackMap stack:
iload 2
aload 1
iload 4
iaload
dup
istore 5
start local 5 11: if_icmpge 5
12: aload 0
aload 1
arraylength
newarray 10
putfield sun.java2d.pisces.Dasher.dash:[I
13: iconst_0
istore 6
start local 6 14: goto 17
15: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.java2d.pisces.Dasher.dash:[I
iload 6
aload 1
iload 6
iaload
iastore
16: iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
aload 1
arraylength
if_icmplt 15
end local 6 18: aload 0
aload 0
iload 2
dup_x1
putfield sun.java2d.pisces.Dasher.phase:I
putfield sun.java2d.pisces.Dasher.startPhase:I
19: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.dashOn:Z
putfield sun.java2d.pisces.Dasher.startDashOn:Z
20: aload 0
iload 4
putfield sun.java2d.pisces.Dasher.startIdx:I
21: aload 0
aload 3
putfield sun.java2d.pisces.Dasher.transform:Lsun/java2d/pisces/Transform4;
22: aload 0
aload 3
getfield sun.java2d.pisces.Transform4.m00:I
putfield sun.java2d.pisces.Dasher.m00:I
23: aload 0
aload 3
getfield sun.java2d.pisces.Transform4.m01:I
putfield sun.java2d.pisces.Dasher.m01:I
24: aload 0
aload 3
getfield sun.java2d.pisces.Transform4.m10:I
putfield sun.java2d.pisces.Dasher.m10:I
25: aload 0
aload 3
getfield sun.java2d.pisces.Transform4.m11:I
putfield sun.java2d.pisces.Dasher.m11:I
26: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.m00:I
i2l
aload 0
getfield sun.java2d.pisces.Dasher.m11:I
i2l
lmul
aload 0
getfield sun.java2d.pisces.Dasher.m01:I
i2l
aload 0
getfield sun.java2d.pisces.Dasher.m10:I
i2l
lmul
lsub
bipush 16
lshr
putfield sun.java2d.pisces.Dasher.ldet:J
27: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.m00:I
aload 0
getfield sun.java2d.pisces.Dasher.m11:I
if_icmpne 28
aload 0
getfield sun.java2d.pisces.Dasher.m10:I
aload 0
getfield sun.java2d.pisces.Dasher.m01:I
ineg
if_icmpne 28
iconst_1
goto 29
StackMap locals: sun.java2d.pisces.Dasher int[] int sun.java2d.pisces.Transform4 int int
StackMap stack: sun.java2d.pisces.Dasher
28: iconst_0
StackMap locals: sun.java2d.pisces.Dasher int[] int sun.java2d.pisces.Transform4 int int
StackMap stack: sun.java2d.pisces.Dasher int
29: putfield sun.java2d.pisces.Dasher.symmetric:Z
30: return
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 Lsun/java2d/pisces/Dasher;
0 31 1 dash [I
0 31 2 phase I
0 31 3 transform Lsun/java2d/pisces/Transform4;
3 31 4 idx I
5 10 5 d I
11 31 5 d I
14 18 6 i I
MethodParameters:
Name Flags
dash
phase
transform
public void moveTo(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.java2d.pisces.Dasher.output:Lsun/java2d/pisces/LineSink;
iload 1
iload 2
invokevirtual sun.java2d.pisces.LineSink.moveTo:(II)V
1: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.startIdx:I
putfield sun.java2d.pisces.Dasher.idx:I
2: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.startDashOn:Z
putfield sun.java2d.pisces.Dasher.dashOn:Z
3: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.startPhase:I
putfield sun.java2d.pisces.Dasher.phase:I
4: aload 0
aload 0
iload 1
dup_x1
putfield sun.java2d.pisces.Dasher.x0:I
putfield sun.java2d.pisces.Dasher.sx:I
5: aload 0
aload 0
iload 2
dup_x1
putfield sun.java2d.pisces.Dasher.y0:I
putfield sun.java2d.pisces.Dasher.sy:I
6: aload 0
iconst_1
putfield sun.java2d.pisces.Dasher.starting:Z
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/java2d/pisces/Dasher;
0 8 1 x0 I
0 8 2 y0 I
MethodParameters:
Name Flags
x0
y0
public void lineJoin();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.java2d.pisces.Dasher.output:Lsun/java2d/pisces/LineSink;
invokevirtual sun.java2d.pisces.LineSink.lineJoin:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/pisces/Dasher;
private void goTo(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.java2d.pisces.Dasher.dashOn:Z
ifeq 8
1: aload 0
getfield sun.java2d.pisces.Dasher.starting:Z
ifeq 6
2: aload 0
iload 1
putfield sun.java2d.pisces.Dasher.sx1:I
3: aload 0
iload 2
putfield sun.java2d.pisces.Dasher.sy1:I
4: aload 0
iconst_1
putfield sun.java2d.pisces.Dasher.firstDashOn:Z
5: aload 0
iconst_0
putfield sun.java2d.pisces.Dasher.starting:Z
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.pisces.Dasher.output:Lsun/java2d/pisces/LineSink;
iload 1
iload 2
invokevirtual sun.java2d.pisces.LineSink.lineTo:(II)V
7: goto 12
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.pisces.Dasher.starting:Z
ifeq 11
9: aload 0
iconst_0
putfield sun.java2d.pisces.Dasher.firstDashOn:Z
10: aload 0
iconst_0
putfield sun.java2d.pisces.Dasher.starting:Z
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.pisces.Dasher.output:Lsun/java2d/pisces/LineSink;
iload 1
iload 2
invokevirtual sun.java2d.pisces.LineSink.moveTo:(II)V
12: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.java2d.pisces.Dasher.x0:I
13: aload 0
iload 2
putfield sun.java2d.pisces.Dasher.y0:I
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/java2d/pisces/Dasher;
0 15 1 x1 I
0 15 2 y1 I
MethodParameters:
Name Flags
x1
y1
public void lineTo(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.pisces.Dasher.dash:[I
aload 0
getfield sun.java2d.pisces.Dasher.idx:I
iaload
aload 0
getfield sun.java2d.pisces.Dasher.phase:I
isub
istore 3
start local 3 1: iload 1
aload 0
getfield sun.java2d.pisces.Dasher.x0:I
isub
istore 4
start local 4 2: iload 2
aload 0
getfield sun.java2d.pisces.Dasher.y0:I
isub
istore 5
start local 5 3: aload 0
getfield sun.java2d.pisces.Dasher.symmetric:Z
ifeq 6
4: iload 4
iload 5
invokestatic sun.java2d.pisces.PiscesMath.hypot:(II)I
i2l
ldc 65536
lmul
aload 0
getfield sun.java2d.pisces.Dasher.ldet:J
ldiv
l2i
istore 6
start local 6 5: goto 9
end local 6 6: StackMap locals: int int int
StackMap stack:
iload 5
i2l
aload 0
getfield sun.java2d.pisces.Dasher.m00:I
i2l
lmul
iload 4
i2l
aload 0
getfield sun.java2d.pisces.Dasher.m10:I
i2l
lmul
lsub
aload 0
getfield sun.java2d.pisces.Dasher.ldet:J
ldiv
lstore 7
start local 7 7: iload 5
i2l
aload 0
getfield sun.java2d.pisces.Dasher.m01:I
i2l
lmul
iload 4
i2l
aload 0
getfield sun.java2d.pisces.Dasher.m11:I
i2l
lmul
lsub
aload 0
getfield sun.java2d.pisces.Dasher.ldet:J
ldiv
lstore 9
start local 9 8: lload 7
lload 9
invokestatic sun.java2d.pisces.PiscesMath.hypot:(JJ)J
l2i
istore 6
end local 9 end local 7 start local 6 9: StackMap locals: int
StackMap stack:
iload 6
iload 3
if_icmpge 13
10: aload 0
iload 1
iload 2
invokevirtual sun.java2d.pisces.Dasher.goTo:(II)V
11: aload 0
dup
getfield sun.java2d.pisces.Dasher.phase:I
iload 6
iadd
putfield sun.java2d.pisces.Dasher.phase:I
12: return
13: StackMap locals:
StackMap stack:
iload 3
i2l
bipush 16
lshl
iload 6
i2l
ldiv
lstore 7
start local 7 14: aload 0
getfield sun.java2d.pisces.Dasher.x0:I
lload 7
iload 1
aload 0
getfield sun.java2d.pisces.Dasher.x0:I
isub
i2l
lmul
bipush 16
lshr
l2i
iadd
istore 9
start local 9 15: aload 0
getfield sun.java2d.pisces.Dasher.y0:I
lload 7
iload 2
aload 0
getfield sun.java2d.pisces.Dasher.y0:I
isub
i2l
lmul
bipush 16
lshr
l2i
iadd
istore 10
start local 10 16: aload 0
iload 9
iload 10
invokevirtual sun.java2d.pisces.Dasher.goTo:(II)V
17: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.idx:I
iconst_1
iadd
aload 0
getfield sun.java2d.pisces.Dasher.dash:[I
arraylength
irem
putfield sun.java2d.pisces.Dasher.idx:I
18: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.dashOn:Z
ifeq 19
iconst_0
goto 20
StackMap locals: sun.java2d.pisces.Dasher int int int int int int long int int
StackMap stack: sun.java2d.pisces.Dasher
19: iconst_1
StackMap locals: sun.java2d.pisces.Dasher int int int int int int long int int
StackMap stack: sun.java2d.pisces.Dasher int
20: putfield sun.java2d.pisces.Dasher.dashOn:Z
21: aload 0
iconst_0
putfield sun.java2d.pisces.Dasher.phase:I
end local 10 end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 22: goto 0
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/java2d/pisces/Dasher;
0 23 1 x1 I
0 23 2 y1 I
1 22 3 d I
2 22 4 lx I
3 22 5 ly I
5 6 6 l I
9 22 6 l I
7 9 7 la J
8 9 9 lb J
14 22 7 t J
15 22 9 xsplit I
16 22 10 ysplit I
MethodParameters:
Name Flags
x1
y1
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.java2d.pisces.Dasher.sx:I
aload 0
getfield sun.java2d.pisces.Dasher.sy:I
invokevirtual sun.java2d.pisces.Dasher.lineTo:(II)V
1: aload 0
getfield sun.java2d.pisces.Dasher.firstDashOn:Z
ifeq 3
2: aload 0
getfield sun.java2d.pisces.Dasher.output:Lsun/java2d/pisces/LineSink;
aload 0
getfield sun.java2d.pisces.Dasher.sx1:I
aload 0
getfield sun.java2d.pisces.Dasher.sy1:I
invokevirtual sun.java2d.pisces.LineSink.lineTo:(II)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/java2d/pisces/Dasher;
public void end();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.java2d.pisces.Dasher.output:Lsun/java2d/pisces/LineSink;
invokevirtual sun.java2d.pisces.LineSink.end:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/pisces/Dasher;
}
SourceFile: "Dasher.java"