class java.awt.geom.AreaIterator implements java.awt.geom.PathIterator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.awt.geom.AreaIterator
  super_class: java.lang.Object
{
  private java.awt.geom.AffineTransform transform;
    descriptor: Ljava/awt/geom/AffineTransform;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Vector curves;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE

  private int index;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private sun.awt.geom.Curve prevcurve;
    descriptor: Lsun/awt/geom/Curve;
    flags: (0x0002) ACC_PRIVATE

  private sun.awt.geom.Curve thiscurve;
    descriptor: Lsun/awt/geom/Curve;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.util.Vector, java.awt.geom.AffineTransform);
    descriptor: (Ljava/util/Vector;Ljava/awt/geom/AffineTransform;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.awt.geom.AreaIterator this
        start local 1 // java.util.Vector curves
        start local 2 // java.awt.geom.AffineTransform at
         0: .line 666
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 667
            aload 0 /* this */
            aload 1 /* curves */
            putfield java.awt.geom.AreaIterator.curves:Ljava/util/Vector;
         2: .line 668
            aload 0 /* this */
            aload 2 /* at */
            putfield java.awt.geom.AreaIterator.transform:Ljava/awt/geom/AffineTransform;
         3: .line 669
            aload 1 /* curves */
            invokevirtual java.util.Vector.size:()I
            iconst_1
            if_icmplt 5
         4: .line 670
            aload 0 /* this */
            aload 1 /* curves */
            iconst_0
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast sun.awt.geom.Curve
            putfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
         5: .line 672
      StackMap locals: java.awt.geom.AreaIterator java.util.Vector java.awt.geom.AffineTransform
      StackMap stack:
            return
        end local 2 // java.awt.geom.AffineTransform at
        end local 1 // java.util.Vector curves
        end local 0 // java.awt.geom.AreaIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/awt/geom/AreaIterator;
            0    6     1  curves  Ljava/util/Vector;
            0    6     2      at  Ljava/awt/geom/AffineTransform;
    MethodParameters:
        Name  Flags
      curves  
      at      

  public int getWindingRule();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.geom.AreaIterator this
         0: .line 678
            iconst_1
            ireturn
        end local 0 // java.awt.geom.AreaIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/AreaIterator;

  public boolean isDone();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.geom.AreaIterator this
         0: .line 682
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.prevcurve:Lsun/awt/geom/Curve;
            ifnonnull 1
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.awt.geom.AreaIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/geom/AreaIterator;

  public void next();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.awt.geom.AreaIterator this
         0: .line 686
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.prevcurve:Lsun/awt/geom/Curve;
            ifnull 3
         1: .line 687
            aload 0 /* this */
            aconst_null
            putfield java.awt.geom.AreaIterator.prevcurve:Lsun/awt/geom/Curve;
         2: .line 688
            goto 13
         3: .line 689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            putfield java.awt.geom.AreaIterator.prevcurve:Lsun/awt/geom/Curve;
         4: .line 690
            aload 0 /* this */
            dup
            getfield java.awt.geom.AreaIterator.index:I
            iconst_1
            iadd
            putfield java.awt.geom.AreaIterator.index:I
         5: .line 691
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.index:I
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.curves:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmpge 12
         6: .line 692
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.curves:Ljava/util/Vector;
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.index:I
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast sun.awt.geom.Curve
            putfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
         7: .line 693
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getOrder:()I
            ifeq 13
         8: .line 694
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.prevcurve:Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getX1:()D
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getX0:()D
            dcmpl
            ifne 13
         9: .line 695
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.prevcurve:Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getY1:()D
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getY0:()D
            dcmpl
            ifne 13
        10: .line 697
            aload 0 /* this */
            aconst_null
            putfield java.awt.geom.AreaIterator.prevcurve:Lsun/awt/geom/Curve;
        11: .line 699
            goto 13
        12: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
        13: .line 703
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.awt.geom.AreaIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/awt/geom/AreaIterator;

  public int currentSegment(float[]);
    descriptor: ([F)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.awt.geom.AreaIterator this
        start local 1 // float[] coords
         0: .line 706
            bipush 6
            newarray 7
            astore 2 /* dcoords */
        start local 2 // double[] dcoords
         1: .line 707
            aload 0 /* this */
            aload 2 /* dcoords */
            invokevirtual java.awt.geom.AreaIterator.currentSegment:([D)I
            istore 3 /* segtype */
        start local 3 // int segtype
         2: .line 708
            iload 3 /* segtype */
            iconst_4
            if_icmpne 3
            iconst_0
            goto 6
         3: .line 709
      StackMap locals: double[] int
      StackMap stack:
            iload 3 /* segtype */
            iconst_2
            if_icmpne 4
            iconst_2
            goto 6
         4: .line 710
      StackMap locals:
      StackMap stack:
            iload 3 /* segtype */
            iconst_3
            if_icmpne 5
            iconst_3
            goto 6
         5: .line 711
      StackMap locals:
      StackMap stack:
            iconst_1
         6: .line 708
      StackMap locals:
      StackMap stack: int
            istore 4 /* numpoints */
        start local 4 // int numpoints
         7: .line 712
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 11
         9: .line 713
      StackMap locals: int int
      StackMap stack:
            aload 1 /* coords */
            iload 5 /* i */
            aload 2 /* dcoords */
            iload 5 /* i */
            daload
            d2f
            fastore
        10: .line 712
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 4 /* numpoints */
            iconst_2
            imul
            if_icmplt 9
        end local 5 // int i
        12: .line 715
            iload 3 /* segtype */
            ireturn
        end local 4 // int numpoints
        end local 3 // int segtype
        end local 2 // double[] dcoords
        end local 1 // float[] coords
        end local 0 // java.awt.geom.AreaIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Ljava/awt/geom/AreaIterator;
            0   13     1     coords  [F
            1   13     2    dcoords  [D
            2   13     3    segtype  I
            7   13     4  numpoints  I
            8   12     5          i  I
    MethodParameters:
        Name  Flags
      coords  

  public int currentSegment(double[]);
    descriptor: ([D)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.awt.geom.AreaIterator this
        start local 1 // double[] coords
         0: .line 721
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.prevcurve:Lsun/awt/geom/Curve;
            ifnull 8
         1: .line 723
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            ifnull 2
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getOrder:()I
            ifne 3
         2: .line 724
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
         3: .line 726
      StackMap locals:
      StackMap stack:
            aload 1 /* coords */
            iconst_0
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getX0:()D
            dastore
         4: .line 727
            aload 1 /* coords */
            iconst_1
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getY0:()D
            dastore
         5: .line 728
            iconst_1
            istore 2 /* segtype */
        start local 2 // int segtype
         6: .line 729
            iconst_1
            istore 3 /* numpoints */
        start local 3 // int numpoints
         7: .line 730
            goto 14
        end local 3 // int numpoints
        end local 2 // int segtype
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            ifnonnull 10
         9: .line 731
            new java.util.NoSuchElementException
            dup
            ldc "area iterator out of bounds"
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            aload 1 /* coords */
            invokevirtual sun.awt.geom.Curve.getSegment:([D)I
            istore 2 /* segtype */
        start local 2 // int segtype
        11: .line 734
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.thiscurve:Lsun/awt/geom/Curve;
            invokevirtual sun.awt.geom.Curve.getOrder:()I
            istore 3 /* numpoints */
        start local 3 // int numpoints
        12: .line 735
            iload 3 /* numpoints */
            ifne 14
        13: .line 736
            iconst_1
            istore 3 /* numpoints */
        14: .line 739
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.transform:Ljava/awt/geom/AffineTransform;
            ifnull 16
        15: .line 740
            aload 0 /* this */
            getfield java.awt.geom.AreaIterator.transform:Ljava/awt/geom/AffineTransform;
            aload 1 /* coords */
            iconst_0
            aload 1 /* coords */
            iconst_0
            iload 3 /* numpoints */
            invokevirtual java.awt.geom.AffineTransform.transform:([DI[DII)V
        16: .line 742
      StackMap locals:
      StackMap stack:
            iload 2 /* segtype */
            ireturn
        end local 3 // int numpoints
        end local 2 // int segtype
        end local 1 // double[] coords
        end local 0 // java.awt.geom.AreaIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Ljava/awt/geom/AreaIterator;
            0   17     1     coords  [D
            6    8     2    segtype  I
           11   17     2    segtype  I
            7    8     3  numpoints  I
           12   17     3  numpoints  I
    MethodParameters:
        Name  Flags
      coords  
}
SourceFile: "Area.java"