public class java.awt.geom.Area implements java.awt.Shape, java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.awt.geom.Area
super_class: java.lang.Object
{
private static java.util.Vector EmptyCurves;
descriptor: Ljava/util/Vector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.util.Vector curves;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
private java.awt.geom.Rectangle2D cachedBounds;
descriptor: Ljava/awt/geom/Rectangle2D;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putstatic java.awt.geom.Area.EmptyCurves:Ljava/util/Vector;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic java.awt.geom.Area.EmptyCurves:Ljava/util/Vector;
putfield java.awt.geom.Area.curves:Ljava/util/Vector;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/geom/Area;
public void <init>(java.awt.Shape);
descriptor: (Ljava/awt/Shape;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
instanceof java.awt.geom.Area
ifeq 4
2: aload 0
aload 1
checkcast java.awt.geom.Area
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
putfield java.awt.geom.Area.curves:Ljava/util/Vector;
3: goto 5
4: StackMap locals: java.awt.geom.Area java.awt.Shape
StackMap stack:
aload 0
aload 1
aconst_null
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
invokestatic java.awt.geom.Area.pathToCurves:(Ljava/awt/geom/PathIterator;)Ljava/util/Vector;
putfield java.awt.geom.Area.curves:Ljava/util/Vector;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/awt/geom/Area;
0 6 1 s Ljava/awt/Shape;
MethodParameters:
Name Flags
s
private static java.util.Vector pathToCurves(java.awt.geom.PathIterator);
descriptor: (Ljava/awt/geom/PathIterator;)Ljava/util/Vector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=17, args_size=1
start local 0 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 1
start local 1 1: aload 0
invokeinterface java.awt.geom.PathIterator.getWindingRule:()I
istore 2
start local 2 2: bipush 23
newarray 7
astore 3
start local 3 3: dconst_0
dstore 4
start local 4 4: dconst_0
dstore 6
start local 6 5: dconst_0
dstore 8
start local 8 6: dconst_0
dstore 10
start local 10 7: goto 36
8: StackMap locals: java.awt.geom.PathIterator java.util.Vector int double[] double double double double
StackMap stack:
aload 0
aload 3
invokeinterface java.awt.geom.PathIterator.currentSegment:([D)I
tableswitch { // 0 - 4
0: 9
1: 14
2: 20
3: 26
4: 32
default: 35
}
9: StackMap locals:
StackMap stack:
aload 1
dload 8
dload 10
dload 4
dload 6
invokestatic sun.awt.geom.Curve.insertLine:(Ljava/util/Vector;DDDD)V
10: aload 3
iconst_0
daload
dup2
dstore 4
dstore 8
11: aload 3
iconst_1
daload
dup2
dstore 6
dstore 10
12: aload 1
dload 4
dload 6
invokestatic sun.awt.geom.Curve.insertMove:(Ljava/util/Vector;DD)V
13: goto 35
14: StackMap locals:
StackMap stack:
aload 3
iconst_0
daload
dstore 12
start local 12 15: aload 3
iconst_1
daload
dstore 14
start local 14 16: aload 1
dload 8
dload 10
dload 12
dload 14
invokestatic sun.awt.geom.Curve.insertLine:(Ljava/util/Vector;DDDD)V
17: dload 12
dstore 8
18: dload 14
dstore 10
19: goto 35
end local 14 end local 12 20: StackMap locals:
StackMap stack:
aload 3
iconst_2
daload
dstore 12
start local 12 21: aload 3
iconst_3
daload
dstore 14
start local 14 22: aload 1
dload 8
dload 10
aload 3
invokestatic sun.awt.geom.Curve.insertQuad:(Ljava/util/Vector;DD[D)V
23: dload 12
dstore 8
24: dload 14
dstore 10
25: goto 35
end local 14 end local 12 26: StackMap locals:
StackMap stack:
aload 3
iconst_4
daload
dstore 12
start local 12 27: aload 3
iconst_5
daload
dstore 14
start local 14 28: aload 1
dload 8
dload 10
aload 3
invokestatic sun.awt.geom.Curve.insertCubic:(Ljava/util/Vector;DD[D)V
29: dload 12
dstore 8
30: dload 14
dstore 10
31: goto 35
end local 14 end local 12 32: StackMap locals:
StackMap stack:
aload 1
dload 8
dload 10
dload 4
dload 6
invokestatic sun.awt.geom.Curve.insertLine:(Ljava/util/Vector;DDDD)V
33: dload 4
dstore 8
34: dload 6
dstore 10
35: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.awt.geom.PathIterator.next:()V
36: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.awt.geom.PathIterator.isDone:()Z
ifeq 8
37: aload 1
dload 8
dload 10
dload 4
dload 6
invokestatic sun.awt.geom.Curve.insertLine:(Ljava/util/Vector;DDDD)V
38: iload 2
ifne 41
39: new sun.awt.geom.AreaOp$EOWindOp
dup
invokespecial sun.awt.geom.AreaOp$EOWindOp.<init>:()V
astore 16
start local 16 40: goto 42
end local 16 41: StackMap locals:
StackMap stack:
new sun.awt.geom.AreaOp$NZWindOp
dup
invokespecial sun.awt.geom.AreaOp$NZWindOp.<init>:()V
astore 16
start local 16 42: StackMap locals: java.awt.geom.PathIterator java.util.Vector int double[] double double double double top top top top sun.awt.geom.AreaOp
StackMap stack:
aload 16
aload 1
getstatic java.awt.geom.Area.EmptyCurves:Ljava/util/Vector;
invokevirtual sun.awt.geom.AreaOp.calculate:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
areturn
end local 16 end local 10 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 pi Ljava/awt/geom/PathIterator;
1 43 1 curves Ljava/util/Vector;
2 43 2 windingRule I
3 43 3 coords [D
4 43 4 movx D
5 43 6 movy D
6 43 8 curx D
7 43 10 cury D
15 20 12 newx D
21 26 12 newx D
27 32 12 newx D
16 20 14 newy D
22 26 14 newy D
28 32 14 newy D
40 41 16 operator Lsun/awt/geom/AreaOp;
42 43 16 operator Lsun/awt/geom/AreaOp;
MethodParameters:
Name Flags
pi
public void add(java.awt.geom.Area);
descriptor: (Ljava/awt/geom/Area;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.awt.geom.AreaOp$AddOp
dup
invokespecial sun.awt.geom.AreaOp$AddOp.<init>:()V
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
aload 1
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual sun.awt.geom.AreaOp$AddOp.calculate:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
putfield java.awt.geom.Area.curves:Ljava/util/Vector;
1: aload 0
invokevirtual java.awt.geom.Area.invalidateBounds:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/geom/Area;
0 3 1 rhs Ljava/awt/geom/Area;
MethodParameters:
Name Flags
rhs
public void subtract(java.awt.geom.Area);
descriptor: (Ljava/awt/geom/Area;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.awt.geom.AreaOp$SubOp
dup
invokespecial sun.awt.geom.AreaOp$SubOp.<init>:()V
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
aload 1
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual sun.awt.geom.AreaOp$SubOp.calculate:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
putfield java.awt.geom.Area.curves:Ljava/util/Vector;
1: aload 0
invokevirtual java.awt.geom.Area.invalidateBounds:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/geom/Area;
0 3 1 rhs Ljava/awt/geom/Area;
MethodParameters:
Name Flags
rhs
public void intersect(java.awt.geom.Area);
descriptor: (Ljava/awt/geom/Area;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.awt.geom.AreaOp$IntOp
dup
invokespecial sun.awt.geom.AreaOp$IntOp.<init>:()V
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
aload 1
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual sun.awt.geom.AreaOp$IntOp.calculate:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
putfield java.awt.geom.Area.curves:Ljava/util/Vector;
1: aload 0
invokevirtual java.awt.geom.Area.invalidateBounds:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/geom/Area;
0 3 1 rhs Ljava/awt/geom/Area;
MethodParameters:
Name Flags
rhs
public void exclusiveOr(java.awt.geom.Area);
descriptor: (Ljava/awt/geom/Area;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.awt.geom.AreaOp$XorOp
dup
invokespecial sun.awt.geom.AreaOp$XorOp.<init>:()V
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
aload 1
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual sun.awt.geom.AreaOp$XorOp.calculate:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
putfield java.awt.geom.Area.curves:Ljava/util/Vector;
1: aload 0
invokevirtual java.awt.geom.Area.invalidateBounds:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/geom/Area;
0 3 1 rhs Ljava/awt/geom/Area;
MethodParameters:
Name Flags
rhs
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield java.awt.geom.Area.curves:Ljava/util/Vector;
1: aload 0
invokevirtual java.awt.geom.Area.invalidateBounds:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/geom/Area;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/geom/Area;
public boolean isPolygonal();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 1
start local 1 1: goto 4
2: StackMap locals: java.util.Enumeration
StackMap stack:
aload 1
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.awt.geom.Curve
invokevirtual sun.awt.geom.Curve.getOrder:()I
iconst_1
if_icmple 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 2
5: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/awt/geom/Area;
1 6 1 enum_ Ljava/util/Enumeration;
public boolean isRectangular();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
istore 1
start local 1 1: iload 1
ifne 3
2: iconst_1
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
iconst_3
if_icmple 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
iconst_1
invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
checkcast sun.awt.geom.Curve
astore 2
start local 2 6: aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
iconst_2
invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
checkcast sun.awt.geom.Curve
astore 3
start local 3 7: aload 2
invokevirtual sun.awt.geom.Curve.getOrder:()I
iconst_1
if_icmpne 8
aload 3
invokevirtual sun.awt.geom.Curve.getOrder:()I
iconst_1
if_icmpeq 9
8: StackMap locals: sun.awt.geom.Curve sun.awt.geom.Curve
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.awt.geom.Curve.getXTop:()D
aload 2
invokevirtual sun.awt.geom.Curve.getXBot:()D
dcmpl
ifne 10
aload 3
invokevirtual sun.awt.geom.Curve.getXTop:()D
aload 3
invokevirtual sun.awt.geom.Curve.getXBot:()D
dcmpl
ifeq 11
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.awt.geom.Curve.getYTop:()D
aload 3
invokevirtual sun.awt.geom.Curve.getYTop:()D
dcmpl
ifne 12
aload 2
invokevirtual sun.awt.geom.Curve.getYBot:()D
aload 3
invokevirtual sun.awt.geom.Curve.getYBot:()D
dcmpl
ifeq 13
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/awt/geom/Area;
1 14 1 size I
6 14 2 c1 Lsun/awt/geom/Curve;
7 14 3 c2 Lsun/awt/geom/Curve;
public boolean isSingular();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iconst_3
if_icmpge 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 1
start local 1 3: aload 1
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
pop
4: goto 7
5: StackMap locals: java.util.Enumeration
StackMap stack:
aload 1
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.awt.geom.Curve
invokevirtual sun.awt.geom.Curve.getOrder:()I
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 5
8: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/awt/geom/Area;
3 9 1 enum_ Ljava/util/Enumeration;
private void invalidateBounds();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield java.awt.geom.Area.cachedBounds:Ljava/awt/geom/Rectangle2D;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/geom/Area;
private java.awt.geom.Rectangle2D getCachedBounds();
descriptor: ()Ljava/awt/geom/Rectangle2D;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=4, args_size=1
start local 0 0: aload 0
getfield java.awt.geom.Area.cachedBounds:Ljava/awt/geom/Rectangle2D;
ifnull 2
1: aload 0
getfield java.awt.geom.Area.cachedBounds:Ljava/awt/geom/Rectangle2D;
areturn
2: StackMap locals:
StackMap stack:
new java.awt.geom.Rectangle2D$Double
dup
invokespecial java.awt.geom.Rectangle2D$Double.<init>:()V
astore 1
start local 1 3: aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifle 11
4: aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
iconst_0
invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
checkcast sun.awt.geom.Curve
astore 2
start local 2 5: aload 1
aload 2
invokevirtual sun.awt.geom.Curve.getX0:()D
aload 2
invokevirtual sun.awt.geom.Curve.getY0:()D
dconst_0
dconst_0
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
6: iconst_1
istore 3
start local 3 7: goto 10
8: StackMap locals: java.awt.geom.Rectangle2D sun.awt.geom.Curve int
StackMap stack:
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
iload 3
invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
checkcast sun.awt.geom.Curve
aload 1
invokevirtual sun.awt.geom.Curve.enlarge:(Ljava/awt/geom/Rectangle2D;)V
9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmplt 8
end local 3 end local 2 11: StackMap locals:
StackMap stack:
aload 0
aload 1
dup_x1
putfield java.awt.geom.Area.cachedBounds:Ljava/awt/geom/Rectangle2D;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/awt/geom/Area;
3 12 1 r Ljava/awt/geom/Rectangle2D;
5 11 2 c Lsun/awt/geom/Curve;
7 11 3 i I
public java.awt.geom.Rectangle2D getBounds2D();
descriptor: ()Ljava/awt/geom/Rectangle2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.geom.Area.getCachedBounds:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.geom.Rectangle2D.getBounds2D:()Ljava/awt/geom/Rectangle2D;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/geom/Area;
public java.awt.Rectangle getBounds();
descriptor: ()Ljava/awt/Rectangle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.geom.Area.getCachedBounds:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.geom.Rectangle2D.getBounds:()Ljava/awt/Rectangle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/geom/Area;
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.awt.geom.Area
dup
aload 0
invokespecial java.awt.geom.Area.<init>:(Ljava/awt/Shape;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/geom/Area;
public boolean equals(java.awt.geom.Area);
descriptor: (Ljava/awt/geom/Area;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
new sun.awt.geom.AreaOp$XorOp
dup
invokespecial sun.awt.geom.AreaOp$XorOp.<init>:()V
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
aload 1
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual sun.awt.geom.AreaOp$XorOp.calculate:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
astore 2
start local 2 5: aload 2
invokevirtual java.util.Vector.isEmpty:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/awt/geom/Area;
0 6 1 other Ljava/awt/geom/Area;
5 6 2 c Ljava/util/Vector;
MethodParameters:
Name Flags
other
public void transform(java.awt.geom.AffineTransform);
descriptor: (Ljava/awt/geom/AffineTransform;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "transform must not be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual java.awt.geom.Area.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
invokestatic java.awt.geom.Area.pathToCurves:(Ljava/awt/geom/PathIterator;)Ljava/util/Vector;
putfield java.awt.geom.Area.curves:Ljava/util/Vector;
3: aload 0
invokevirtual java.awt.geom.Area.invalidateBounds:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/awt/geom/Area;
0 5 1 t Ljava/awt/geom/AffineTransform;
MethodParameters:
Name Flags
t
public java.awt.geom.Area createTransformedArea(java.awt.geom.AffineTransform);
descriptor: (Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/Area;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.awt.geom.Area
dup
aload 0
invokespecial java.awt.geom.Area.<init>:(Ljava/awt/Shape;)V
astore 2
start local 2 1: aload 2
aload 1
invokevirtual java.awt.geom.Area.transform:(Ljava/awt/geom/AffineTransform;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/geom/Area;
0 3 1 t Ljava/awt/geom/AffineTransform;
1 3 2 a Ljava/awt/geom/Area;
MethodParameters:
Name Flags
t
public boolean contains(double, double);
descriptor: (DD)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual java.awt.geom.Area.getCachedBounds:()Ljava/awt/geom/Rectangle2D;
dload 1
dload 3
invokevirtual java.awt.geom.Rectangle2D.contains:(DD)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 7
5: StackMap locals: java.util.Enumeration int
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.awt.geom.Curve
astore 7
start local 7 6: iload 6
aload 7
dload 1
dload 3
invokevirtual sun.awt.geom.Curve.crossingsFor:(DD)I
iadd
istore 6
end local 7 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 5
8: iload 6
iconst_1
iand
iconst_1
if_icmpne 9
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/awt/geom/Area;
0 10 1 x D
0 10 3 y D
3 10 5 enum_ Ljava/util/Enumeration;
4 10 6 crossings I
6 7 7 c Lsun/awt/geom/Curve;
MethodParameters:
Name Flags
x
y
public boolean contains(java.awt.geom.Point2D);
descriptor: (Ljava/awt/geom/Point2D;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.awt.geom.Point2D.getX:()D
aload 1
invokevirtual java.awt.geom.Point2D.getY:()D
invokevirtual java.awt.geom.Area.contains:(DD)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/geom/Area;
0 1 1 p Ljava/awt/geom/Point2D;
MethodParameters:
Name Flags
p
public boolean contains(double, double, double, double);
descriptor: (DDDD)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=10, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: dload 5
dconst_0
dcmpg
iflt 1
dload 7
dconst_0
dcmpg
ifge 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.geom.Area.getCachedBounds:()Ljava/awt/geom/Rectangle2D;
dload 1
dload 3
dload 5
dload 7
invokevirtual java.awt.geom.Rectangle2D.contains:(DDDD)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
dload 1
dload 3
dload 1
dload 5
dadd
dload 3
dload 7
dadd
invokestatic sun.awt.geom.Crossings.findCrossings:(Ljava/util/Vector;DDDD)Lsun/awt/geom/Crossings;
astore 9
start local 9 5: aload 9
ifnull 6
aload 9
dload 3
dload 3
dload 7
dadd
invokevirtual sun.awt.geom.Crossings.covers:(DD)Z
ifeq 6
iconst_1
ireturn
StackMap locals: sun.awt.geom.Crossings
StackMap stack:
6: iconst_0
ireturn
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 7 0 this Ljava/awt/geom/Area;
0 7 1 x D
0 7 3 y D
0 7 5 w D
0 7 7 h D
5 7 9 c Lsun/awt/geom/Crossings;
MethodParameters:
Name Flags
x
y
w
h
public boolean contains(java.awt.geom.Rectangle2D);
descriptor: (Ljava/awt/geom/Rectangle2D;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
invokevirtual java.awt.geom.Area.contains:(DDDD)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/geom/Area;
0 1 1 r Ljava/awt/geom/Rectangle2D;
MethodParameters:
Name Flags
r
public boolean intersects(double, double, double, double);
descriptor: (DDDD)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=10, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: dload 5
dconst_0
dcmpg
iflt 1
dload 7
dconst_0
dcmpg
ifge 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.geom.Area.getCachedBounds:()Ljava/awt/geom/Rectangle2D;
dload 1
dload 3
dload 5
dload 7
invokevirtual java.awt.geom.Rectangle2D.intersects:(DDDD)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
dload 1
dload 3
dload 1
dload 5
dadd
dload 3
dload 7
dadd
invokestatic sun.awt.geom.Crossings.findCrossings:(Ljava/util/Vector;DDDD)Lsun/awt/geom/Crossings;
astore 9
start local 9 5: aload 9
ifnull 6
aload 9
invokevirtual sun.awt.geom.Crossings.isEmpty:()Z
ifeq 6
iconst_0
ireturn
StackMap locals: sun.awt.geom.Crossings
StackMap stack:
6: iconst_1
ireturn
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 7 0 this Ljava/awt/geom/Area;
0 7 1 x D
0 7 3 y D
0 7 5 w D
0 7 7 h D
5 7 9 c Lsun/awt/geom/Crossings;
MethodParameters:
Name Flags
x
y
w
h
public boolean intersects(java.awt.geom.Rectangle2D);
descriptor: (Ljava/awt/geom/Rectangle2D;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
invokevirtual java.awt.geom.Area.intersects:(DDDD)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/geom/Area;
0 1 1 r Ljava/awt/geom/Rectangle2D;
MethodParameters:
Name Flags
r
public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform);
descriptor: (Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.awt.geom.AreaIterator
dup
aload 0
getfield java.awt.geom.Area.curves:Ljava/util/Vector;
aload 1
invokespecial java.awt.geom.AreaIterator.<init>:(Ljava/util/Vector;Ljava/awt/geom/AffineTransform;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/geom/Area;
0 1 1 at Ljava/awt/geom/AffineTransform;
MethodParameters:
Name Flags
at
public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform, double);
descriptor: (Ljava/awt/geom/AffineTransform;D)Ljava/awt/geom/PathIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.awt.geom.FlatteningPathIterator
dup
aload 0
aload 1
invokevirtual java.awt.geom.Area.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
dload 2
invokespecial java.awt.geom.FlatteningPathIterator.<init>:(Ljava/awt/geom/PathIterator;D)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/geom/Area;
0 1 1 at Ljava/awt/geom/AffineTransform;
0 1 2 flatness D
MethodParameters:
Name Flags
at
flatness
}
SourceFile: "Area.java"
InnerClasses:
public Double = java.awt.geom.Rectangle2D$Double of java.awt.geom.Rectangle2D
public AddOp = sun.awt.geom.AreaOp$AddOp 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