public class java.awt.Polygon implements java.awt.Shape, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.awt.Polygon
super_class: java.lang.Object
{
public int npoints;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public int[] xpoints;
descriptor: [I
flags: (0x0001) ACC_PUBLIC
public int[] ypoints;
descriptor: [I
flags: (0x0001) ACC_PUBLIC
protected java.awt.Rectangle bounds;
descriptor: Ljava/awt/Rectangle;
flags: (0x0004) ACC_PROTECTED
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -6460061437900069969
private static final int MIN_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
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
iconst_4
newarray 10
putfield java.awt.Polygon.xpoints:[I
2: aload 0
iconst_4
newarray 10
putfield java.awt.Polygon.ypoints:[I
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/awt/Polygon;
public void <init>(int[], int[], int);
descriptor: ([I[II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 3
aload 1
arraylength
if_icmpgt 2
iload 3
aload 2
arraylength
if_icmple 3
2: StackMap locals: java.awt.Polygon int[] int[] int
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "npoints > xpoints.length || npoints > ypoints.length"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iload 3
ifge 5
4: new java.lang.NegativeArraySizeException
dup
ldc "npoints < 0"
invokespecial java.lang.NegativeArraySizeException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield java.awt.Polygon.npoints:I
6: aload 0
aload 1
iload 3
invokestatic java.util.Arrays.copyOf:([II)[I
putfield java.awt.Polygon.xpoints:[I
7: aload 0
aload 2
iload 3
invokestatic java.util.Arrays.copyOf:([II)[I
putfield java.awt.Polygon.ypoints:[I
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/awt/Polygon;
0 9 1 xpoints [I
0 9 2 ypoints [I
0 9 3 npoints I
MethodParameters:
Name Flags
xpoints
ypoints
npoints
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield java.awt.Polygon.npoints:I
1: aload 0
aconst_null
putfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/Polygon;
public void invalidate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/Polygon;
public void translate(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield java.awt.Polygon.xpoints:[I
iload 3
dup2
iaload
iload 1
iadd
iastore
3: aload 0
getfield java.awt.Polygon.ypoints:[I
iload 3
dup2
iaload
iload 2
iadd
iastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield java.awt.Polygon.npoints:I
if_icmplt 2
end local 3 6: aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
ifnull 8
7: aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
iload 1
iload 2
invokevirtual java.awt.Rectangle.translate:(II)V
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/awt/Polygon;
0 9 1 deltaX I
0 9 2 deltaY I
1 6 3 i I
MethodParameters:
Name Flags
deltaX
deltaY
void calculateBounds(int[], int[], int);
descriptor: ([I[II)V
flags: (0x0000)
Code:
stack=8, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc 2147483647
istore 4
start local 4 1: ldc 2147483647
istore 5
start local 5 2: ldc -2147483648
istore 6
start local 6 3: ldc -2147483648
istore 7
start local 7 4: iconst_0
istore 8
start local 8 5: goto 13
6: StackMap locals: java.awt.Polygon int[] int[] int int int int int int
StackMap stack:
aload 1
iload 8
iaload
istore 9
start local 9 7: iload 4
iload 9
invokestatic java.lang.Math.min:(II)I
istore 4
8: iload 6
iload 9
invokestatic java.lang.Math.max:(II)I
istore 6
9: aload 2
iload 8
iaload
istore 10
start local 10 10: iload 5
iload 10
invokestatic java.lang.Math.min:(II)I
istore 5
11: iload 7
iload 10
invokestatic java.lang.Math.max:(II)I
istore 7
end local 10 end local 9 12: iinc 8 1
StackMap locals:
StackMap stack:
13: iload 8
iload 3
if_icmplt 6
end local 8 14: aload 0
new java.awt.Rectangle
dup
iload 4
iload 5
15: iload 6
iload 4
isub
16: iload 7
iload 5
isub
invokespecial java.awt.Rectangle.<init>:(IIII)V
17: putfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
18: return
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 19 0 this Ljava/awt/Polygon;
0 19 1 xpoints [I
0 19 2 ypoints [I
0 19 3 npoints I
1 19 4 boundsMinX I
2 19 5 boundsMinY I
3 19 6 boundsMaxX I
4 19 7 boundsMaxY I
5 14 8 i I
7 12 9 x I
10 12 10 y I
MethodParameters:
Name Flags
xpoints
ypoints
npoints
void updateBounds(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
if_icmpge 4
1: aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
iload 1
isub
iadd
putfield java.awt.Rectangle.width:I
2: aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
iload 1
putfield java.awt.Rectangle.x:I
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
iload 1
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
isub
invokestatic java.lang.Math.max:(II)I
putfield java.awt.Rectangle.width:I
5: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
if_icmpge 9
6: aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
iload 2
isub
iadd
putfield java.awt.Rectangle.height:I
7: aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
iload 2
putfield java.awt.Rectangle.y:I
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
iload 2
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
isub
invokestatic java.lang.Math.max:(II)I
putfield java.awt.Rectangle.height:I
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/awt/Polygon;
0 11 1 x I
0 11 2 y I
MethodParameters:
Name Flags
x
y
public void addPoint(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.awt.Polygon.npoints:I
aload 0
getfield java.awt.Polygon.xpoints:[I
arraylength
if_icmpge 1
aload 0
getfield java.awt.Polygon.npoints:I
aload 0
getfield java.awt.Polygon.ypoints:[I
arraylength
if_icmplt 9
1: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Polygon.npoints:I
iconst_2
imul
istore 3
start local 3 2: iload 3
iconst_4
if_icmpge 5
3: iconst_4
istore 3
4: goto 7
StackMap locals: int
StackMap stack:
5: iload 3
iload 3
iconst_1
isub
iand
ifeq 7
6: iload 3
invokestatic java.lang.Integer.highestOneBit:(I)I
istore 3
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.awt.Polygon.xpoints:[I
iload 3
invokestatic java.util.Arrays.copyOf:([II)[I
putfield java.awt.Polygon.xpoints:[I
8: aload 0
aload 0
getfield java.awt.Polygon.ypoints:[I
iload 3
invokestatic java.util.Arrays.copyOf:([II)[I
putfield java.awt.Polygon.ypoints:[I
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Polygon.xpoints:[I
aload 0
getfield java.awt.Polygon.npoints:I
iload 1
iastore
10: aload 0
getfield java.awt.Polygon.ypoints:[I
aload 0
getfield java.awt.Polygon.npoints:I
iload 2
iastore
11: aload 0
dup
getfield java.awt.Polygon.npoints:I
iconst_1
iadd
putfield java.awt.Polygon.npoints:I
12: aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
ifnull 14
13: aload 0
iload 1
iload 2
invokevirtual java.awt.Polygon.updateBounds:(II)V
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/awt/Polygon;
0 15 1 x I
0 15 2 y I
2 9 3 newLength I
MethodParameters:
Name Flags
x
y
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.Polygon.getBoundingBox:()Ljava/awt/Rectangle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
public java.awt.Rectangle getBoundingBox();
descriptor: ()Ljava/awt/Rectangle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.Polygon.npoints:I
ifne 2
1: new java.awt.Rectangle
dup
invokespecial java.awt.Rectangle.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
ifnonnull 4
3: aload 0
aload 0
getfield java.awt.Polygon.xpoints:[I
aload 0
getfield java.awt.Polygon.ypoints:[I
aload 0
getfield java.awt.Polygon.npoints:I
invokevirtual java.awt.Polygon.calculateBounds:([I[II)V
4: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.Polygon.bounds:Ljava/awt/Rectangle;
invokevirtual java.awt.Rectangle.getBounds:()Ljava/awt/Rectangle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/awt/Polygon;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public boolean contains(java.awt.Point);
descriptor: (Ljava/awt/Point;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield java.awt.Point.x:I
aload 1
getfield java.awt.Point.y:I
invokevirtual java.awt.Polygon.contains:(II)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
0 1 1 p Ljava/awt/Point;
MethodParameters:
Name Flags
p
public boolean contains(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
i2d
iload 2
i2d
invokevirtual java.awt.Polygon.contains:(DD)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public boolean inside(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
i2d
iload 2
i2d
invokevirtual java.awt.Polygon.contains:(DD)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
0 1 1 x I
0 1 2 y I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
x
y
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.Polygon.getBounds:()Ljava/awt/Rectangle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
public boolean contains(double, double);
descriptor: (DD)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield java.awt.Polygon.npoints:I
iconst_2
if_icmple 1
aload 0
invokevirtual java.awt.Polygon.getBoundingBox:()Ljava/awt/Rectangle;
dload 1
dload 3
invokevirtual java.awt.Rectangle.contains:(DD)Z
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 3: aload 0
getfield java.awt.Polygon.xpoints:[I
aload 0
getfield java.awt.Polygon.npoints:I
iconst_1
isub
iaload
istore 6
start local 6 4: aload 0
getfield java.awt.Polygon.ypoints:[I
aload 0
getfield java.awt.Polygon.npoints:I
iconst_1
isub
iaload
istore 7
start local 7 5: iconst_0
istore 10
start local 10 6: goto 38
7: StackMap locals: java.awt.Polygon double double int int int top top int
StackMap stack:
aload 0
getfield java.awt.Polygon.xpoints:[I
iload 10
iaload
istore 8
start local 8 8: aload 0
getfield java.awt.Polygon.ypoints:[I
iload 10
iaload
istore 9
start local 9 9: iload 9
iload 7
if_icmpne 11
10: goto 37
11: StackMap locals: java.awt.Polygon double double int int int int int int
StackMap stack:
iload 8
iload 6
if_icmpge 16
12: dload 1
iload 6
i2d
dcmpl
iflt 14
13: goto 37
14: StackMap locals:
StackMap stack:
iload 8
istore 11
start local 11 15: goto 19
end local 11 16: StackMap locals:
StackMap stack:
dload 1
iload 8
i2d
dcmpl
iflt 18
17: goto 37
18: StackMap locals:
StackMap stack:
iload 6
istore 11
start local 11 19: StackMap locals: int
StackMap stack:
iload 9
iload 7
if_icmpge 28
20: dload 3
iload 9
i2d
dcmpg
iflt 37
dload 3
iload 7
i2d
dcmpl
iflt 22
21: goto 37
22: StackMap locals:
StackMap stack:
dload 1
iload 11
i2d
dcmpg
ifge 25
23: iinc 5 1
24: goto 37
25: StackMap locals:
StackMap stack:
dload 1
iload 8
i2d
dsub
dstore 12
start local 12 26: dload 3
iload 9
i2d
dsub
dstore 14
start local 14 27: goto 35
end local 14 end local 12 28: StackMap locals:
StackMap stack:
dload 3
iload 7
i2d
dcmpg
iflt 37
dload 3
iload 9
i2d
dcmpl
iflt 30
29: goto 37
30: StackMap locals:
StackMap stack:
dload 1
iload 11
i2d
dcmpg
ifge 33
31: iinc 5 1
32: goto 37
33: StackMap locals:
StackMap stack:
dload 1
iload 6
i2d
dsub
dstore 12
start local 12 34: dload 3
iload 7
i2d
dsub
dstore 14
start local 14 35: StackMap locals: double double
StackMap stack:
dload 12
dload 14
iload 7
iload 9
isub
i2d
ddiv
iload 6
iload 8
isub
i2d
dmul
dcmpg
ifge 37
36: iinc 5 1
end local 14 end local 12 end local 11 37: StackMap locals:
StackMap stack:
iload 8
istore 6
iload 9
istore 7
iinc 10 1
end local 9 end local 8 StackMap locals: java.awt.Polygon double double int int int top top int
StackMap stack:
38: iload 10
aload 0
getfield java.awt.Polygon.npoints:I
if_icmplt 7
end local 10 39: iload 5
iconst_1
iand
ifeq 40
iconst_1
ireturn
StackMap locals: java.awt.Polygon double double int int int
StackMap stack:
40: iconst_0
ireturn
end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Ljava/awt/Polygon;
0 41 1 x D
0 41 3 y D
3 41 5 hits I
4 41 6 lastx I
5 41 7 lasty I
8 38 8 curx I
9 38 9 cury I
6 39 10 i I
15 16 11 leftx I
19 37 11 leftx I
26 28 12 test1 D
34 37 12 test1 D
27 28 14 test2 D
35 37 14 test2 D
MethodParameters:
Name Flags
x
y
private sun.awt.geom.Crossings getCrossings(double, double, double, double);
descriptor: (DDDD)Lsun/awt/geom/Crossings;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=15, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: new sun.awt.geom.Crossings$EvenOdd
dup
dload 1
dload 3
dload 5
dload 7
invokespecial sun.awt.geom.Crossings$EvenOdd.<init>:(DDDD)V
astore 9
start local 9 1: aload 0
getfield java.awt.Polygon.xpoints:[I
aload 0
getfield java.awt.Polygon.npoints:I
iconst_1
isub
iaload
istore 10
start local 10 2: aload 0
getfield java.awt.Polygon.ypoints:[I
aload 0
getfield java.awt.Polygon.npoints:I
iconst_1
isub
iaload
istore 11
start local 11 3: iconst_0
istore 14
start local 14 4: goto 12
5: StackMap locals: java.awt.Polygon double double double double sun.awt.geom.Crossings int int top top int
StackMap stack:
aload 0
getfield java.awt.Polygon.xpoints:[I
iload 14
iaload
istore 12
start local 12 6: aload 0
getfield java.awt.Polygon.ypoints:[I
iload 14
iaload
istore 13
start local 13 7: aload 9
iload 10
i2d
iload 11
i2d
iload 12
i2d
iload 13
i2d
invokevirtual sun.awt.geom.Crossings.accumulateLine:(DDDD)Z
ifeq 9
8: aconst_null
areturn
9: StackMap locals: java.awt.Polygon double double double double sun.awt.geom.Crossings int int int int int
StackMap stack:
iload 12
istore 10
10: iload 13
istore 11
11: iinc 14 1
end local 13 end local 12 StackMap locals: java.awt.Polygon double double double double sun.awt.geom.Crossings int int top top int
StackMap stack:
12: iload 14
aload 0
getfield java.awt.Polygon.npoints:I
if_icmplt 5
end local 14 13: aload 9
areturn
end local 11 end local 10 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/awt/Polygon;
0 14 1 xlo D
0 14 3 ylo D
0 14 5 xhi D
0 14 7 yhi D
1 14 9 cross Lsun/awt/geom/Crossings;
2 14 10 lastx I
3 14 11 lasty I
6 12 12 curx I
7 12 13 cury I
4 13 14 i I
MethodParameters:
Name Flags
xlo
ylo
xhi
yhi
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.Polygon.contains:(DD)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
0 1 1 p Ljava/awt/geom/Point2D;
MethodParameters:
Name Flags
p
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: aload 0
getfield java.awt.Polygon.npoints:I
ifle 1
aload 0
invokevirtual java.awt.Polygon.getBoundingBox:()Ljava/awt/Rectangle;
dload 1
dload 3
dload 5
dload 7
invokevirtual java.awt.Rectangle.intersects:(DDDD)Z
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
dload 1
dload 3
dload 1
dload 5
dadd
dload 3
dload 7
dadd
invokevirtual java.awt.Polygon.getCrossings:(DDDD)Lsun/awt/geom/Crossings;
astore 9
start local 9 3: aload 9
ifnull 4
aload 9
invokevirtual sun.awt.geom.Crossings.isEmpty:()Z
ifeq 4
iconst_0
ireturn
StackMap locals: sun.awt.geom.Crossings
StackMap stack:
4: 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 5 0 this Ljava/awt/Polygon;
0 5 1 x D
0 5 3 y D
0 5 5 w D
0 5 7 h D
3 5 9 cross 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.Polygon.intersects:(DDDD)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
0 1 1 r Ljava/awt/geom/Rectangle2D;
MethodParameters:
Name Flags
r
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: aload 0
getfield java.awt.Polygon.npoints:I
ifle 1
aload 0
invokevirtual java.awt.Polygon.getBoundingBox:()Ljava/awt/Rectangle;
dload 1
dload 3
dload 5
dload 7
invokevirtual java.awt.Rectangle.intersects:(DDDD)Z
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
dload 1
dload 3
dload 1
dload 5
dadd
dload 3
dload 7
dadd
invokevirtual java.awt.Polygon.getCrossings:(DDDD)Lsun/awt/geom/Crossings;
astore 9
start local 9 3: aload 9
ifnull 4
aload 9
dload 3
dload 3
dload 7
dadd
invokevirtual sun.awt.geom.Crossings.covers:(DD)Z
ifeq 4
iconst_1
ireturn
StackMap locals: sun.awt.geom.Crossings
StackMap stack:
4: 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 5 0 this Ljava/awt/Polygon;
0 5 1 x D
0 5 3 y D
0 5 5 w D
0 5 7 h D
3 5 9 cross 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.Polygon.contains:(DDDD)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
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=5, locals=2, args_size=2
start local 0 start local 1 0: new java.awt.Polygon$PolygonPathIterator
dup
aload 0
aload 0
aload 1
invokespecial java.awt.Polygon$PolygonPathIterator.<init>:(Ljava/awt/Polygon;Ljava/awt/Polygon;Ljava/awt/geom/AffineTransform;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
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=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.awt.Polygon.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/Polygon;
0 1 1 at Ljava/awt/geom/AffineTransform;
0 1 2 flatness D
MethodParameters:
Name Flags
at
flatness
}
SourceFile: "Polygon.java"
NestMembers:
java.awt.Polygon$PolygonPathIterator
InnerClasses:
PolygonPathIterator = java.awt.Polygon$PolygonPathIterator of java.awt.Polygon
public final EvenOdd = sun.awt.geom.Crossings$EvenOdd of sun.awt.geom.Crossings