public abstract class sun.awt.geom.AreaOp
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.awt.geom.AreaOp
super_class: java.lang.Object
{
public static final int CTAG_LEFT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int CTAG_RIGHT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int ETAG_IGNORE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int ETAG_ENTER;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int ETAG_EXIT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int RSTAG_INSIDE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int RSTAG_OUTSIDE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static java.util.Comparator<sun.awt.geom.Edge> YXTopComparator;
descriptor: Ljava/util/Comparator;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Comparator<Lsun/awt/geom/Edge;>;
private static sun.awt.geom.CurveLink[] EmptyLinkList;
descriptor: [Lsun/awt/geom/CurveLink;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.awt.geom.ChainEnd[] EmptyChainList;
descriptor: [Lsun/awt/geom/ChainEnd;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.awt.geom.AreaOp$1
dup
invokespecial sun.awt.geom.AreaOp$1.<init>:()V
putstatic sun.awt.geom.AreaOp.YXTopComparator:Ljava/util/Comparator;
1: iconst_2
anewarray sun.awt.geom.CurveLink
putstatic sun.awt.geom.AreaOp.EmptyLinkList:[Lsun/awt/geom/CurveLink;
2: iconst_2
anewarray sun.awt.geom.ChainEnd
putstatic sun.awt.geom.AreaOp.EmptyChainList:[Lsun/awt/geom/ChainEnd;
return
LocalVariableTable:
Start End Slot Name Signature
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/geom/AreaOp;
public abstract void newRow();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract int classify(sun.awt.geom.Edge);
descriptor: (Lsun/awt/geom/Edge;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
e
public abstract int getState();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public java.util.Vector<sun.awt.geom.Curve> calculate(java.util.Vector<sun.awt.geom.Curve>, java.util.Vector<sun.awt.geom.Curve>);
descriptor: (Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 3
start local 3 1: aload 3
aload 1
iconst_0
invokestatic sun.awt.geom.AreaOp.addEdges:(Ljava/util/Vector;Ljava/util/Vector;I)V
2: aload 3
aload 2
iconst_1
invokestatic sun.awt.geom.AreaOp.addEdges:(Ljava/util/Vector;Ljava/util/Vector;I)V
3: aload 0
aload 3
invokevirtual sun.awt.geom.AreaOp.pruneEdges:(Ljava/util/Vector;)Ljava/util/Vector;
astore 4
start local 4 4: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/geom/AreaOp;
0 5 1 left Ljava/util/Vector<Lsun/awt/geom/Curve;>;
0 5 2 right Ljava/util/Vector<Lsun/awt/geom/Curve;>;
1 5 3 edges Ljava/util/Vector<Lsun/awt/geom/Edge;>;
4 5 4 curves Ljava/util/Vector<Lsun/awt/geom/Curve;>;
Signature: (Ljava/util/Vector<Lsun/awt/geom/Curve;>;Ljava/util/Vector<Lsun/awt/geom/Curve;>;)Ljava/util/Vector<Lsun/awt/geom/Curve;>;
MethodParameters:
Name Flags
left
right
private static void addEdges(java.util.Vector<sun.awt.geom.Edge>, java.util.Vector<sun.awt.geom.Curve>, );
descriptor: (Ljava/util/Vector;Ljava/util/Vector;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 3
start local 3 1: goto 5
2: StackMap locals: java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.awt.geom.Curve
astore 4
start local 4 3: aload 4
invokevirtual sun.awt.geom.Curve.getOrder:()I
ifle 5
4: aload 0
new sun.awt.geom.Edge
dup
aload 4
iload 2
invokespecial sun.awt.geom.Edge.<init>:(Lsun/awt/geom/Curve;I)V
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 4 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 2
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 edges Ljava/util/Vector<Lsun/awt/geom/Edge;>;
0 7 1 curves Ljava/util/Vector<Lsun/awt/geom/Curve;>;
0 7 2 curvetag I
1 7 3 enum_ Ljava/util/Enumeration<Lsun/awt/geom/Curve;>;
3 5 4 c Lsun/awt/geom/Curve;
Signature: (Ljava/util/Vector<Lsun/awt/geom/Edge;>;Ljava/util/Vector<Lsun/awt/geom/Curve;>;I)V
MethodParameters:
Name Flags
edges
curves
curvetag
private java.util.Vector<sun.awt.geom.Curve> pruneEdges(java.util.Vector<sun.awt.geom.Edge>);
descriptor: (Ljava/util/Vector;)Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=27, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.Vector.size:()I
istore 2
start local 2 1: iload 2
iconst_2
if_icmpge 3
2: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
areturn
3: StackMap locals: int
StackMap stack:
aload 1
iload 2
anewarray sun.awt.geom.Edge
invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.awt.geom.Edge[]
astore 3
start local 3 4: aload 3
getstatic sun.awt.geom.AreaOp.YXTopComparator:Ljava/util/Comparator;
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
5: iconst_0
istore 5
start local 5 6: iconst_0
istore 6
start local 6 7: iconst_0
istore 7
start local 7 8: iconst_0
istore 8
start local 8 9: iconst_2
newarray 7
astore 9
start local 9 10: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 10
start local 10 11: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 11
start local 11 12: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 12
start local 12 13: goto 128
14: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector
StackMap stack:
aload 9
iconst_0
daload
dstore 13
start local 13 15: iload 6
iconst_1
isub
dup
istore 8
istore 7
goto 22
16: StackMap locals: double
StackMap stack:
aload 3
iload 7
aaload
astore 4
start local 4 17: aload 4
invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
invokevirtual sun.awt.geom.Curve.getYBot:()D
dload 13
dcmpl
ifle 21
18: iload 8
iload 7
if_icmple 20
19: aload 3
iload 8
aload 4
aastore
20: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double
StackMap stack:
iinc 8 -1
21: StackMap locals:
StackMap stack:
iinc 7 -1
end local 4 StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double
StackMap stack:
22: iload 7
iload 5
if_icmpge 16
23: iload 8
iconst_1
iadd
istore 5
24: iload 5
iload 6
if_icmplt 36
25: iload 6
iload 2
if_icmplt 27
26: goto 129
27: StackMap locals:
StackMap stack:
aload 3
iload 6
aaload
invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
invokevirtual sun.awt.geom.Curve.getYTop:()D
dstore 13
28: dload 13
aload 9
iconst_0
daload
dcmpl
ifle 30
29: aload 10
aload 11
invokestatic sun.awt.geom.AreaOp.finalizeSubCurves:(Ljava/util/Vector;Ljava/util/Vector;)V
30: StackMap locals:
StackMap stack:
aload 9
iconst_0
dload 13
dastore
31: goto 36
32: StackMap locals:
StackMap stack:
aload 3
iload 6
aaload
astore 4
start local 4 33: aload 4
invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
invokevirtual sun.awt.geom.Curve.getYTop:()D
dload 13
dcmpl
ifle 35
34: goto 37
35: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double
StackMap stack:
iinc 6 1
end local 4 36: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double
StackMap stack:
iload 6
iload 2
if_icmplt 32
37: StackMap locals:
StackMap stack:
aload 9
iconst_1
aload 3
iload 5
aaload
invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
invokevirtual sun.awt.geom.Curve.getYBot:()D
dastore
38: iload 6
iload 2
if_icmpge 42
39: aload 3
iload 6
aaload
invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
invokevirtual sun.awt.geom.Curve.getYTop:()D
dstore 13
40: aload 9
iconst_1
daload
dload 13
dcmpl
ifle 42
41: aload 9
iconst_1
dload 13
dastore
42: StackMap locals:
StackMap stack:
iconst_1
istore 15
start local 15 43: iload 5
istore 7
goto 66
44: StackMap locals: int
StackMap stack:
aload 3
iload 7
aaload
astore 4
start local 4 45: aload 4
iconst_0
invokevirtual sun.awt.geom.Edge.setEquivalence:(I)V
46: iload 7
istore 8
goto 63
47: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int
StackMap stack:
aload 3
iload 8
iconst_1
isub
aaload
astore 16
start local 16 48: aload 4
aload 16
aload 9
invokevirtual sun.awt.geom.Edge.compareTo:(Lsun/awt/geom/Edge;[D)I
istore 17
start local 17 49: aload 9
iconst_1
daload
aload 9
iconst_0
daload
dcmpg
ifgt 53
50: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "backstepping to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
iconst_1
daload
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
51: ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
iconst_0
daload
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
52: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
53: StackMap locals: sun.awt.geom.Edge int
StackMap stack:
iload 17
iflt 61
54: iload 17
ifne 64
55: aload 16
invokevirtual sun.awt.geom.Edge.getEquivalence:()I
istore 18
start local 18 56: iload 18
ifne 59
57: iload 15
iinc 15 1
istore 18
58: aload 16
iload 18
invokevirtual sun.awt.geom.Edge.setEquivalence:(I)V
59: StackMap locals: int
StackMap stack:
aload 4
iload 18
invokevirtual sun.awt.geom.Edge.setEquivalence:(I)V
end local 18 60: goto 64
61: StackMap locals:
StackMap stack:
aload 3
iload 8
aload 16
aastore
end local 17 end local 16 62: iinc 8 -1
StackMap locals:
StackMap stack:
63: iload 8
iload 5
if_icmpgt 47
64: StackMap locals:
StackMap stack:
aload 3
iload 8
aload 4
aastore
65: iinc 7 1
end local 4 StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int
StackMap stack:
66: iload 7
iload 6
if_icmplt 44
67: aload 0
invokevirtual sun.awt.geom.AreaOp.newRow:()V
68: aload 9
iconst_0
daload
dstore 16
start local 16 69: aload 9
iconst_1
daload
dstore 18
start local 18 70: iload 5
istore 7
goto 105
71: StackMap locals: double double
StackMap stack:
aload 3
iload 7
aaload
astore 4
start local 4 72: aload 4
invokevirtual sun.awt.geom.Edge.getEquivalence:()I
istore 21
start local 21 73: iload 21
ifeq 100
74: aload 0
invokevirtual sun.awt.geom.AreaOp.getState:()I
istore 22
start local 22 75: iload 22
iconst_1
if_icmpne 77
76: iconst_m1
goto 78
77: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double top int int
StackMap stack:
iconst_1
78: StackMap locals:
StackMap stack: int
istore 20
start local 20 79: aconst_null
astore 23
start local 23 80: aload 4
astore 24
start local 24 81: dload 18
dstore 25
start local 25 82: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double int int int sun.awt.geom.Edge sun.awt.geom.Edge double
StackMap stack:
aload 0
aload 4
invokevirtual sun.awt.geom.AreaOp.classify:(Lsun/awt/geom/Edge;)I
pop
83: aload 23
ifnonnull 86
84: aload 4
dload 16
iload 20
invokevirtual sun.awt.geom.Edge.isActiveFor:(DI)Z
ifeq 86
85: aload 4
astore 23
86: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
invokevirtual sun.awt.geom.Curve.getYBot:()D
dstore 13
87: dload 13
dload 25
dcmpl
ifle 90
88: aload 4
astore 24
89: dload 13
dstore 25
90: StackMap locals:
StackMap stack:
iinc 7 1
iload 7
iload 6
if_icmpge 92
91: aload 3
iload 7
aaload
dup
astore 4
invokevirtual sun.awt.geom.Edge.getEquivalence:()I
iload 21
if_icmpeq 82
92: StackMap locals:
StackMap stack:
iinc 7 -1
93: aload 0
invokevirtual sun.awt.geom.AreaOp.getState:()I
iload 22
if_icmpne 96
94: iconst_0
istore 20
95: goto 101
96: StackMap locals:
StackMap stack:
aload 23
ifnull 97
aload 23
goto 98
StackMap locals:
StackMap stack:
97: aload 24
StackMap locals:
StackMap stack: sun.awt.geom.Edge
98: astore 4
end local 25 end local 24 end local 23 end local 22 99: goto 101
end local 20 100: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double top int
StackMap stack:
aload 0
aload 4
invokevirtual sun.awt.geom.AreaOp.classify:(Lsun/awt/geom/Edge;)I
istore 20
start local 20 101: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double int int
StackMap stack:
iload 20
ifeq 104
102: aload 4
dload 18
iload 20
invokevirtual sun.awt.geom.Edge.record:(DI)V
103: aload 12
new sun.awt.geom.CurveLink
dup
aload 4
invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
dload 16
dload 18
iload 20
invokespecial sun.awt.geom.CurveLink.<init>:(Lsun/awt/geom/Curve;DDI)V
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 21 end local 20 104: StackMap locals:
StackMap stack:
iinc 7 1
end local 4 StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double
StackMap stack:
105: iload 7
iload 6
if_icmplt 71
106: aload 0
invokevirtual sun.awt.geom.AreaOp.getState:()I
iconst_m1
if_icmpeq 125
107: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Still inside at end of active edge list!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
108: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "num curves = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
iload 5
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
109: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "num links = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
invokevirtual java.util.Vector.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
110: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "y top = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
iconst_0
daload
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
111: iload 6
iload 2
if_icmpge 116
112: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "y top of next curve = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
113: aload 3
iload 6
aaload
invokevirtual sun.awt.geom.Edge.getCurve:()Lsun/awt/geom/Curve;
invokevirtual sun.awt.geom.Curve.getYTop:()D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
114: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
115: goto 117
116: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "no more curves"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
117: StackMap locals:
StackMap stack:
iload 5
istore 7
goto 124
118: StackMap locals:
StackMap stack:
aload 3
iload 7
aaload
astore 4
start local 4 119: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 4
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
120: aload 4
invokevirtual sun.awt.geom.Edge.getEquivalence:()I
istore 20
start local 20 121: iload 20
ifeq 123
122: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " was equal to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 20
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 20 123: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] sun.awt.geom.Edge int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double
StackMap stack:
iinc 7 1
end local 4 StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector double int double double
StackMap stack:
124: iload 7
iload 6
if_icmplt 118
125: StackMap locals:
StackMap stack:
aload 10
aload 11
aload 12
invokestatic sun.awt.geom.AreaOp.resolveLinks:(Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;)V
126: aload 12
invokevirtual java.util.Vector.clear:()V
127: aload 9
iconst_0
dload 18
dastore
end local 18 end local 16 end local 15 end local 13 128: StackMap locals: sun.awt.geom.AreaOp java.util.Vector int sun.awt.geom.Edge[] top int int int int double[] java.util.Vector java.util.Vector java.util.Vector
StackMap stack:
iload 5
iload 2
if_icmplt 14
129: StackMap locals:
StackMap stack:
aload 10
aload 11
invokestatic sun.awt.geom.AreaOp.finalizeSubCurves:(Ljava/util/Vector;Ljava/util/Vector;)V
130: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 13
start local 13 131: aload 10
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 14
start local 14 132: goto 142
133: StackMap locals: java.util.Vector java.util.Enumeration
StackMap stack:
aload 14
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.awt.geom.CurveLink
astore 15
start local 15 134: aload 13
aload 15
invokevirtual sun.awt.geom.CurveLink.getMoveto:()Lsun/awt/geom/Curve;
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
135: aload 15
astore 16
start local 16 136: goto 140
137: StackMap locals: sun.awt.geom.CurveLink sun.awt.geom.CurveLink
StackMap stack:
aload 15
aload 16
invokevirtual sun.awt.geom.CurveLink.absorb:(Lsun/awt/geom/CurveLink;)Z
ifne 140
138: aload 13
aload 15
invokevirtual sun.awt.geom.CurveLink.getSubCurve:()Lsun/awt/geom/Curve;
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
139: aload 16
astore 15
140: StackMap locals:
StackMap stack:
aload 16
invokevirtual sun.awt.geom.CurveLink.getNext:()Lsun/awt/geom/CurveLink;
dup
astore 16
ifnonnull 137
141: aload 13
aload 15
invokevirtual sun.awt.geom.CurveLink.getSubCurve:()Lsun/awt/geom/Curve;
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 15 142: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 133
143: aload 13
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 144 0 this Lsun/awt/geom/AreaOp;
0 144 1 edges Ljava/util/Vector<Lsun/awt/geom/Edge;>;
1 144 2 numedges I
4 144 3 edgelist [Lsun/awt/geom/Edge;
17 22 4 e Lsun/awt/geom/Edge;
33 36 4 e Lsun/awt/geom/Edge;
45 66 4 e Lsun/awt/geom/Edge;
72 105 4 e Lsun/awt/geom/Edge;
119 124 4 e Lsun/awt/geom/Edge;
6 144 5 left I
7 144 6 right I
8 144 7 cur I
9 144 8 next I
10 144 9 yrange [D
11 144 10 subcurves Ljava/util/Vector<Lsun/awt/geom/CurveLink;>;
12 144 11 chains Ljava/util/Vector<Lsun/awt/geom/ChainEnd;>;
13 144 12 links Ljava/util/Vector<Lsun/awt/geom/CurveLink;>;
15 128 13 y D
43 128 15 nexteq I
48 62 16 prevedge Lsun/awt/geom/Edge;
49 62 17 ordering I
56 60 18 eq I
69 128 16 ystart D
70 128 18 yend D
79 100 20 etag I
101 104 20 etag I
73 104 21 eq I
75 99 22 origstate I
80 99 23 activematch Lsun/awt/geom/Edge;
81 99 24 longestmatch Lsun/awt/geom/Edge;
82 99 25 furthesty D
121 123 20 eq I
131 144 13 ret Ljava/util/Vector<Lsun/awt/geom/Curve;>;
132 144 14 enum_ Ljava/util/Enumeration<Lsun/awt/geom/CurveLink;>;
134 142 15 link Lsun/awt/geom/CurveLink;
136 142 16 nextlink Lsun/awt/geom/CurveLink;
Signature: (Ljava/util/Vector<Lsun/awt/geom/Edge;>;)Ljava/util/Vector<Lsun/awt/geom/Curve;>;
MethodParameters:
Name Flags
edges
public static void finalizeSubCurves(java.util.Vector<sun.awt.geom.CurveLink>, java.util.Vector<sun.awt.geom.ChainEnd>);
descriptor: (Ljava/util/Vector;Ljava/util/Vector;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.Vector.size:()I
istore 2
start local 2 1: iload 2
ifne 3
2: return
3: StackMap locals: int
StackMap stack:
iload 2
iconst_1
iand
ifeq 5
4: new java.lang.InternalError
dup
ldc "Odd number of chains!"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
iload 2
anewarray sun.awt.geom.ChainEnd
astore 3
start local 3 6: aload 1
aload 3
invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
7: iconst_1
istore 4
start local 4 8: goto 15
9: StackMap locals: sun.awt.geom.ChainEnd[] int
StackMap stack:
aload 3
iload 4
iconst_1
isub
aaload
astore 5
start local 5 10: aload 3
iload 4
aaload
astore 6
start local 6 11: aload 5
aload 6
invokevirtual sun.awt.geom.ChainEnd.linkTo:(Lsun/awt/geom/ChainEnd;)Lsun/awt/geom/CurveLink;
astore 7
start local 7 12: aload 7
ifnull 14
13: aload 0
aload 7
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 5 14: StackMap locals:
StackMap stack:
iinc 4 2
StackMap locals:
StackMap stack:
15: iload 4
iload 2
if_icmplt 9
end local 4 16: aload 1
invokevirtual java.util.Vector.clear:()V
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 subcurves Ljava/util/Vector<Lsun/awt/geom/CurveLink;>;
0 18 1 chains Ljava/util/Vector<Lsun/awt/geom/ChainEnd;>;
1 18 2 numchains I
6 18 3 endlist [Lsun/awt/geom/ChainEnd;
8 16 4 i I
10 14 5 open Lsun/awt/geom/ChainEnd;
11 14 6 close Lsun/awt/geom/ChainEnd;
12 14 7 subcurve Lsun/awt/geom/CurveLink;
Signature: (Ljava/util/Vector<Lsun/awt/geom/CurveLink;>;Ljava/util/Vector<Lsun/awt/geom/ChainEnd;>;)V
MethodParameters:
Name Flags
subcurves
chains
public static void resolveLinks(java.util.Vector<sun.awt.geom.CurveLink>, java.util.Vector<sun.awt.geom.ChainEnd>, java.util.Vector<sun.awt.geom.CurveLink>);
descriptor: (Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=19, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.util.Vector.size:()I
istore 3
start local 3 1: iload 3
ifne 4
2: getstatic sun.awt.geom.AreaOp.EmptyLinkList:[Lsun/awt/geom/CurveLink;
astore 4
start local 4 3: goto 8
end local 4 4: StackMap locals: int
StackMap stack:
iload 3
iconst_1
iand
ifeq 6
5: new java.lang.InternalError
dup
ldc "Odd number of new curves!"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 3
iconst_2
iadd
anewarray sun.awt.geom.CurveLink
astore 4
start local 4 7: aload 2
aload 4
invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
8: StackMap locals: sun.awt.geom.CurveLink[]
StackMap stack:
aload 1
invokevirtual java.util.Vector.size:()I
istore 5
start local 5 9: iload 5
ifne 12
10: getstatic sun.awt.geom.AreaOp.EmptyChainList:[Lsun/awt/geom/ChainEnd;
astore 6
start local 6 11: goto 16
end local 6 12: StackMap locals: int
StackMap stack:
iload 5
iconst_1
iand
ifeq 14
13: new java.lang.InternalError
dup
ldc "Odd number of chains!"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
iload 5
iconst_2
iadd
anewarray sun.awt.geom.ChainEnd
astore 6
start local 6 15: aload 1
aload 6
invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
16: StackMap locals: sun.awt.geom.ChainEnd[]
StackMap stack:
iconst_0
istore 7
start local 7 17: iconst_0
istore 8
start local 8 18: aload 1
invokevirtual java.util.Vector.clear:()V
19: aload 6
iconst_0
aaload
astore 9
start local 9 20: aload 6
iconst_1
aaload
astore 10
start local 10 21: aload 4
iconst_0
aaload
astore 11
start local 11 22: aload 4
iconst_1
aaload
astore 12
start local 12 23: goto 79
24: StackMap locals: java.util.Vector java.util.Vector java.util.Vector int sun.awt.geom.CurveLink[] int sun.awt.geom.ChainEnd[] int int sun.awt.geom.ChainEnd sun.awt.geom.ChainEnd sun.awt.geom.CurveLink sun.awt.geom.CurveLink
StackMap stack:
aload 11
ifnonnull 25
iconst_1
goto 26
StackMap locals:
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: istore 13
start local 13 27: aload 9
ifnonnull 28
iconst_1
goto 29
StackMap locals: int
StackMap stack:
28: iconst_0
StackMap locals:
StackMap stack: int
29: istore 14
start local 14 30: iload 13
ifne 54
iload 14
ifne 54
31: iload 7
iconst_1
iand
ifne 34
32: aload 9
invokevirtual sun.awt.geom.ChainEnd.getX:()D
aload 10
invokevirtual sun.awt.geom.ChainEnd.getX:()D
dcmpl
ifne 34
33: iconst_1
goto 35
StackMap locals: int
StackMap stack:
34: iconst_0
StackMap locals:
StackMap stack: int
35: istore 13
36: iload 8
iconst_1
iand
ifne 39
37: aload 11
invokevirtual sun.awt.geom.CurveLink.getX:()D
aload 12
invokevirtual sun.awt.geom.CurveLink.getX:()D
dcmpl
ifne 39
38: iconst_1
goto 40
StackMap locals:
StackMap stack:
39: iconst_0
StackMap locals:
StackMap stack: int
40: istore 14
41: iload 13
ifne 54
iload 14
ifne 54
42: aload 9
invokevirtual sun.awt.geom.ChainEnd.getX:()D
dstore 15
start local 15 43: aload 11
invokevirtual sun.awt.geom.CurveLink.getX:()D
dstore 17
start local 17 44: aload 10
ifnull 47
dload 15
dload 17
dcmpg
ifge 47
45: aload 10
invokevirtual sun.awt.geom.ChainEnd.getX:()D
dload 17
iload 7
invokestatic sun.awt.geom.AreaOp.obstructs:(DDI)Z
ifeq 47
46: iconst_1
goto 48
StackMap locals: double double
StackMap stack:
47: iconst_0
StackMap locals:
StackMap stack: int
48: istore 13
49: aload 12
ifnull 52
dload 17
dload 15
dcmpg
ifge 52
50: aload 12
invokevirtual sun.awt.geom.CurveLink.getX:()D
dload 15
iload 8
invokestatic sun.awt.geom.AreaOp.obstructs:(DDI)Z
ifeq 52
51: iconst_1
goto 53
StackMap locals:
StackMap stack:
52: iconst_0
StackMap locals:
StackMap stack: int
53: istore 14
end local 17 end local 15 54: StackMap locals:
StackMap stack:
iload 13
ifeq 61
55: aload 9
aload 10
invokevirtual sun.awt.geom.ChainEnd.linkTo:(Lsun/awt/geom/ChainEnd;)Lsun/awt/geom/CurveLink;
astore 15
start local 15 56: aload 15
ifnull 58
57: aload 0
aload 15
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
58: StackMap locals: sun.awt.geom.CurveLink
StackMap stack:
iinc 7 2
59: aload 6
iload 7
aaload
astore 9
60: aload 6
iload 7
iconst_1
iadd
aaload
astore 10
end local 15 61: StackMap locals:
StackMap stack:
iload 14
ifeq 70
62: new sun.awt.geom.ChainEnd
dup
aload 11
aconst_null
invokespecial sun.awt.geom.ChainEnd.<init>:(Lsun/awt/geom/CurveLink;Lsun/awt/geom/ChainEnd;)V
astore 15
start local 15 63: new sun.awt.geom.ChainEnd
dup
aload 12
aload 15
invokespecial sun.awt.geom.ChainEnd.<init>:(Lsun/awt/geom/CurveLink;Lsun/awt/geom/ChainEnd;)V
astore 16
start local 16 64: aload 15
aload 16
invokevirtual sun.awt.geom.ChainEnd.setOtherEnd:(Lsun/awt/geom/ChainEnd;)V
65: aload 1
aload 15
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
66: aload 1
aload 16
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
67: iinc 8 2
68: aload 4
iload 8
aaload
astore 11
69: aload 4
iload 8
iconst_1
iadd
aaload
astore 12
end local 16 end local 15 70: StackMap locals:
StackMap stack:
iload 13
ifne 79
iload 14
ifne 79
71: aload 9
aload 11
invokevirtual sun.awt.geom.ChainEnd.addLink:(Lsun/awt/geom/CurveLink;)V
72: aload 1
aload 9
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
73: iinc 7 1
74: aload 10
astore 9
75: aload 6
iload 7
iconst_1
iadd
aaload
astore 10
76: iinc 8 1
77: aload 12
astore 11
78: aload 4
iload 8
iconst_1
iadd
aaload
astore 12
end local 14 end local 13 79: StackMap locals:
StackMap stack:
aload 9
ifnonnull 24
aload 11
ifnonnull 24
80: aload 1
invokevirtual java.util.Vector.size:()I
iconst_1
iand
ifeq 82
81: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Odd number of chains!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
82: StackMap locals:
StackMap stack:
return
end local 12 end local 11 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 83 0 subcurves Ljava/util/Vector<Lsun/awt/geom/CurveLink;>;
0 83 1 chains Ljava/util/Vector<Lsun/awt/geom/ChainEnd;>;
0 83 2 links Ljava/util/Vector<Lsun/awt/geom/CurveLink;>;
1 83 3 numlinks I
3 4 4 linklist [Lsun/awt/geom/CurveLink;
7 83 4 linklist [Lsun/awt/geom/CurveLink;
9 83 5 numchains I
11 12 6 endlist [Lsun/awt/geom/ChainEnd;
15 83 6 endlist [Lsun/awt/geom/ChainEnd;
17 83 7 curchain I
18 83 8 curlink I
20 83 9 chain Lsun/awt/geom/ChainEnd;
21 83 10 nextchain Lsun/awt/geom/ChainEnd;
22 83 11 link Lsun/awt/geom/CurveLink;
23 83 12 nextlink Lsun/awt/geom/CurveLink;
27 79 13 connectchains Z
30 79 14 connectlinks Z
43 54 15 cx D
44 54 17 lx D
56 61 15 subcurve Lsun/awt/geom/CurveLink;
63 70 15 openend Lsun/awt/geom/ChainEnd;
64 70 16 closeend Lsun/awt/geom/ChainEnd;
Signature: (Ljava/util/Vector<Lsun/awt/geom/CurveLink;>;Ljava/util/Vector<Lsun/awt/geom/ChainEnd;>;Ljava/util/Vector<Lsun/awt/geom/CurveLink;>;)V
MethodParameters:
Name Flags
subcurves
chains
links
public static boolean obstructs(double, double, int);
descriptor: (DDI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 2 start local 4 0: iload 4
iconst_1
iand
ifne 2
dload 0
dload 2
dcmpg
ifgt 1
iconst_1
goto 4
StackMap locals:
StackMap stack:
1: iconst_0
goto 4
StackMap locals:
StackMap stack:
2: dload 0
dload 2
dcmpg
ifge 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: ireturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 v1 D
0 5 2 v2 D
0 5 4 phase I
MethodParameters:
Name Flags
v1
v2
phase
}
SourceFile: "AreaOp.java"
NestMembers:
sun.awt.geom.AreaOp$1 sun.awt.geom.AreaOp$AddOp sun.awt.geom.AreaOp$CAGOp sun.awt.geom.AreaOp$EOWindOp sun.awt.geom.AreaOp$IntOp sun.awt.geom.AreaOp$NZWindOp sun.awt.geom.AreaOp$SubOp sun.awt.geom.AreaOp$XorOp
InnerClasses:
sun.awt.geom.AreaOp$1
public AddOp = sun.awt.geom.AreaOp$AddOp of sun.awt.geom.AreaOp
public abstract CAGOp = sun.awt.geom.AreaOp$CAGOp of sun.awt.geom.AreaOp
public EOWindOp = sun.awt.geom.AreaOp$EOWindOp of sun.awt.geom.AreaOp
public IntOp = sun.awt.geom.AreaOp$IntOp of sun.awt.geom.AreaOp
public NZWindOp = sun.awt.geom.AreaOp$NZWindOp of sun.awt.geom.AreaOp
public SubOp = sun.awt.geom.AreaOp$SubOp of sun.awt.geom.AreaOp
public XorOp = sun.awt.geom.AreaOp$XorOp of sun.awt.geom.AreaOp