public class sun.java2d.jules.JulesPathBuf
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.java2d.jules.JulesPathBuf
  super_class: java.lang.Object
{
  static final double[] emptyDash;
    descriptor: [D
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final byte CAIRO_PATH_OP_MOVE_TO;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final byte CAIRO_PATH_OP_LINE_TO;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final byte CAIRO_PATH_OP_CURVE_TO;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final byte CAIRO_PATH_OP_CLOSE_PATH;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int CAIRO_FILL_RULE_WINDING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int CAIRO_FILL_RULE_EVEN_ODD;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  sun.java2d.xr.GrowablePointArray points;
    descriptor: Lsun/java2d/xr/GrowablePointArray;
    flags: (0x0000) 

  sun.java2d.xr.GrowableByteArray ops;
    descriptor: Lsun/java2d/xr/GrowableByteArray;
    flags: (0x0000) 

  int[] xTrapArray;
    descriptor: [I
    flags: (0x0000) 

  private static final boolean isCairoAvailable;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 35
            iconst_0
            newarray 7
            putstatic sun.java2d.jules.JulesPathBuf.emptyDash:[D
         1: .line 54
            new sun.java2d.jules.JulesPathBuf$1
            dup
            invokespecial sun.java2d.jules.JulesPathBuf$1.<init>:()V
         2: .line 53
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
         3: .line 52
            putstatic sun.java2d.jules.JulesPathBuf.isCairoAvailable:Z
         4: .line 76
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.java2d.jules.JulesPathBuf this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            new sun.java2d.xr.GrowablePointArray
            dup
            sipush 128
            invokespecial sun.java2d.xr.GrowablePointArray.<init>:(I)V
            putfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
         2: .line 46
            aload 0 /* this */
            new sun.java2d.xr.GrowableByteArray
            dup
            iconst_1
            sipush 128
            invokespecial sun.java2d.xr.GrowableByteArray.<init>:(II)V
            putfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
         3: .line 47
            aload 0 /* this */
            sipush 512
            newarray 10
            putfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
         4: .line 34
            return
        end local 0 // sun.java2d.jules.JulesPathBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/java2d/jules/JulesPathBuf;

  public static boolean isCairoAvailable();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 79
            getstatic sun.java2d.jules.JulesPathBuf.isCairoAvailable:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public sun.java2d.jules.TrapezoidList tesselateFill(java.awt.Shape, java.awt.geom.AffineTransform, sun.java2d.pipe.Region);
    descriptor: (Ljava/awt/Shape;Ljava/awt/geom/AffineTransform;Lsun/java2d/pipe/Region;)Lsun/java2d/jules/TrapezoidList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=5, args_size=4
        start local 0 // sun.java2d.jules.JulesPathBuf this
        start local 1 // java.awt.Shape s
        start local 2 // java.awt.geom.AffineTransform at
        start local 3 // sun.java2d.pipe.Region clip
         0: .line 83
            aload 0 /* this */
            aload 1 /* s */
            aload 2 /* at */
            invokevirtual sun.java2d.jules.JulesPathBuf.convertPathData:(Ljava/awt/Shape;Ljava/awt/geom/AffineTransform;)I
            istore 4 /* windingRule */
        start local 4 // int windingRule
         1: .line 84
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
            iconst_0
            iconst_0
            iastore
         2: .line 86
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getArray:()[I
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            invokevirtual sun.java2d.xr.GrowableByteArray.getArray:()[B
         3: .line 87
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getSize:()I
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            invokevirtual sun.java2d.xr.GrowableByteArray.getSize:()I
         4: .line 88
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
            arraylength
         5: .line 89
            iload 4 /* windingRule */
            invokestatic sun.java2d.jules.JulesPathBuf.getCairoWindingRule:(I)I
         6: .line 90
            aload 3 /* clip */
            invokevirtual sun.java2d.pipe.Region.getLoX:()I
            aload 3 /* clip */
            invokevirtual sun.java2d.pipe.Region.getLoY:()I
         7: .line 91
            aload 3 /* clip */
            invokevirtual sun.java2d.pipe.Region.getHiX:()I
            aload 3 /* clip */
            invokevirtual sun.java2d.pipe.Region.getHiY:()I
         8: .line 86
            invokestatic sun.java2d.jules.JulesPathBuf.tesselateFillNative:([I[BII[IIIIIII)[I
            putfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
         9: .line 93
            new sun.java2d.jules.TrapezoidList
            dup
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
            invokespecial sun.java2d.jules.TrapezoidList.<init>:([I)V
            areturn
        end local 4 // int windingRule
        end local 3 // sun.java2d.pipe.Region clip
        end local 2 // java.awt.geom.AffineTransform at
        end local 1 // java.awt.Shape s
        end local 0 // sun.java2d.jules.JulesPathBuf this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lsun/java2d/jules/JulesPathBuf;
            0   10     1            s  Ljava/awt/Shape;
            0   10     2           at  Ljava/awt/geom/AffineTransform;
            0   10     3         clip  Lsun/java2d/pipe/Region;
            1   10     4  windingRule  I
    MethodParameters:
      Name  Flags
      s     
      at    
      clip  

  public sun.java2d.jules.TrapezoidList tesselateStroke(java.awt.Shape, java.awt.BasicStroke, boolean, boolean, boolean, java.awt.geom.AffineTransform, sun.java2d.pipe.Region);
    descriptor: (Ljava/awt/Shape;Ljava/awt/BasicStroke;ZZZLjava/awt/geom/AffineTransform;Lsun/java2d/pipe/Region;)Lsun/java2d/jules/TrapezoidList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=33, locals=10, args_size=8
        start local 0 // sun.java2d.jules.JulesPathBuf this
        start local 1 // java.awt.Shape s
        start local 2 // java.awt.BasicStroke bs
        start local 3 // boolean thin
        start local 4 // boolean adjust
        start local 5 // boolean antialias
        start local 6 // java.awt.geom.AffineTransform at
        start local 7 // sun.java2d.pipe.Region clip
         0: .line 101
            iload 3 /* thin */
            ifeq 6
         1: .line 102
            iload 5 /* antialias */
            ifeq 4
         2: .line 103
            ldc 0.5
            fstore 8 /* lw */
        start local 8 // float lw
         3: .line 104
            goto 7
        end local 8 // float lw
         4: .line 105
      StackMap locals:
      StackMap stack:
            fconst_1
            fstore 8 /* lw */
        start local 8 // float lw
         5: .line 107
            goto 7
        end local 8 // float lw
         6: .line 108
      StackMap locals:
      StackMap stack:
            aload 2 /* bs */
            invokevirtual java.awt.BasicStroke.getLineWidth:()F
            fstore 8 /* lw */
        start local 8 // float lw
         7: .line 111
      StackMap locals: float
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            aload 6 /* at */
            invokevirtual sun.java2d.jules.JulesPathBuf.convertPathData:(Ljava/awt/Shape;Ljava/awt/geom/AffineTransform;)I
            pop
         8: .line 113
            aload 0 /* this */
            aload 2 /* bs */
            invokevirtual java.awt.BasicStroke.getDashArray:()[F
            invokevirtual sun.java2d.jules.JulesPathBuf.floatToDoubleArray:([F)[D
            astore 9 /* dashArray */
        start local 9 // double[] dashArray
         9: .line 114
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
            iconst_0
            iconst_0
            iastore
        10: .line 116
            aload 0 /* this */
        11: .line 117
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getArray:()[I
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            invokevirtual sun.java2d.xr.GrowableByteArray.getArray:()[B
        12: .line 118
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getSize:()I
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            invokevirtual sun.java2d.xr.GrowableByteArray.getSize:()I
        13: .line 119
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
            arraylength
            fload 8 /* lw */
            f2d
        14: .line 120
            aload 2 /* bs */
            invokevirtual java.awt.BasicStroke.getEndCap:()I
            aload 2 /* bs */
            invokevirtual java.awt.BasicStroke.getLineJoin:()I
        15: .line 121
            aload 2 /* bs */
            invokevirtual java.awt.BasicStroke.getMiterLimit:()F
            f2d
            aload 9 /* dashArray */
        16: .line 122
            aload 9 /* dashArray */
            arraylength
            aload 2 /* bs */
            invokevirtual java.awt.BasicStroke.getDashPhase:()F
            f2d
        17: .line 123
            dconst_1
            dconst_0
            dconst_0
            dconst_0
            dconst_1
            dconst_0
        18: .line 124
            aload 7 /* clip */
            invokevirtual sun.java2d.pipe.Region.getLoX:()I
            aload 7 /* clip */
            invokevirtual sun.java2d.pipe.Region.getLoY:()I
        19: .line 125
            aload 7 /* clip */
            invokevirtual sun.java2d.pipe.Region.getHiX:()I
            aload 7 /* clip */
            invokevirtual sun.java2d.pipe.Region.getHiY:()I
        20: .line 117
            invokestatic sun.java2d.jules.JulesPathBuf.tesselateStrokeNative:([I[BII[IIDIID[DIDDDDDDDIIII)[I
        21: .line 116
            putfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
        22: .line 127
            new sun.java2d.jules.TrapezoidList
            dup
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
            invokespecial sun.java2d.jules.TrapezoidList.<init>:([I)V
            areturn
        end local 9 // double[] dashArray
        end local 8 // float lw
        end local 7 // sun.java2d.pipe.Region clip
        end local 6 // java.awt.geom.AffineTransform at
        end local 5 // boolean antialias
        end local 4 // boolean adjust
        end local 3 // boolean thin
        end local 2 // java.awt.BasicStroke bs
        end local 1 // java.awt.Shape s
        end local 0 // sun.java2d.jules.JulesPathBuf this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lsun/java2d/jules/JulesPathBuf;
            0   23     1          s  Ljava/awt/Shape;
            0   23     2         bs  Ljava/awt/BasicStroke;
            0   23     3       thin  Z
            0   23     4     adjust  Z
            0   23     5  antialias  Z
            0   23     6         at  Ljava/awt/geom/AffineTransform;
            0   23     7       clip  Lsun/java2d/pipe/Region;
            3    4     8         lw  F
            5    6     8         lw  F
            7   23     8         lw  F
            9   23     9  dashArray  [D
    MethodParameters:
           Name  Flags
      s          
      bs         
      thin       
      adjust     
      antialias  
      at         
      clip       

  protected double[] floatToDoubleArray(float[]);
    descriptor: ([F)[D
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.java2d.jules.JulesPathBuf this
        start local 1 // float[] dashArrayFloat
         0: .line 131
            getstatic sun.java2d.jules.JulesPathBuf.emptyDash:[D
            astore 2 /* dashArrayDouble */
        start local 2 // double[] dashArrayDouble
         1: .line 132
            aload 1 /* dashArrayFloat */
            ifnull 8
         2: .line 133
            aload 1 /* dashArrayFloat */
            arraylength
            newarray 7
            astore 2 /* dashArrayDouble */
         3: .line 135
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 136
      StackMap locals: double[] int
      StackMap stack:
            aload 2 /* dashArrayDouble */
            iload 3 /* i */
            aload 1 /* dashArrayFloat */
            iload 3 /* i */
            faload
            f2d
            dastore
         6: .line 135
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* dashArrayFloat */
            arraylength
            if_icmplt 5
        end local 3 // int i
         8: .line 140
      StackMap locals:
      StackMap stack:
            aload 2 /* dashArrayDouble */
            areturn
        end local 2 // double[] dashArrayDouble
        end local 1 // float[] dashArrayFloat
        end local 0 // sun.java2d.jules.JulesPathBuf this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lsun/java2d/jules/JulesPathBuf;
            0    9     1   dashArrayFloat  [F
            1    9     2  dashArrayDouble  [D
            4    8     3                i  I
    MethodParameters:
                Name  Flags
      dashArrayFloat  

  protected int convertPathData(java.awt.Shape, java.awt.geom.AffineTransform);
    descriptor: (Ljava/awt/Shape;Ljava/awt/geom/AffineTransform;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=23, args_size=3
        start local 0 // sun.java2d.jules.JulesPathBuf this
        start local 1 // java.awt.Shape s
        start local 2 // java.awt.geom.AffineTransform at
         0: .line 144
            aload 1 /* s */
            aload 2 /* at */
            invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
            astore 3 /* pi */
        start local 3 // java.awt.geom.PathIterator pi
         1: .line 146
            bipush 6
            newarray 7
            astore 4 /* coords */
        start local 4 // double[] coords
         2: .line 147
            dconst_0
            dstore 5 /* currX */
        start local 5 // double currX
         3: .line 148
            dconst_0
            dstore 7 /* currY */
        start local 7 // double currY
         4: .line 150
            goto 57
         5: .line 151
      StackMap locals: sun.java2d.jules.JulesPathBuf java.awt.Shape java.awt.geom.AffineTransform java.awt.geom.PathIterator double[] double double
      StackMap stack:
            aload 3 /* pi */
            aload 4 /* coords */
            invokeinterface java.awt.geom.PathIterator.currentSegment:([D)I
            istore 9 /* curOp */
        start local 9 // int curOp
         6: .line 154
            iload 9 /* curOp */
            tableswitch { // 0 - 4
                    0: 7
                    1: 14
                    2: 21
                    3: 42
                    4: 55
              default: 56
          }
         7: .line 157
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            iconst_0
            invokevirtual sun.java2d.xr.GrowableByteArray.addByte:(B)V
         8: .line 158
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getNextIndex:()I
            istore 10 /* pointIndex */
        start local 10 // int pointIndex
         9: .line 159
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_0
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setX:(II)V
        10: .line 160
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_1
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setY:(II)V
        11: .line 161
            aload 4 /* coords */
            iconst_0
            daload
            dstore 5 /* currX */
        12: .line 162
            aload 4 /* coords */
            iconst_1
            daload
            dstore 7 /* currY */
        13: .line 163
            goto 56
        end local 10 // int pointIndex
        14: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            iconst_1
            invokevirtual sun.java2d.xr.GrowableByteArray.addByte:(B)V
        15: .line 167
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getNextIndex:()I
            istore 10 /* pointIndex */
        start local 10 // int pointIndex
        16: .line 168
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_0
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setX:(II)V
        17: .line 169
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_1
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setY:(II)V
        18: .line 170
            aload 4 /* coords */
            iconst_0
            daload
            dstore 5 /* currX */
        19: .line 171
            aload 4 /* coords */
            iconst_1
            daload
            dstore 7 /* currY */
        20: .line 172
            goto 56
        end local 10 // int pointIndex
        21: .line 181
      StackMap locals:
      StackMap stack:
            aload 4 /* coords */
            iconst_0
            daload
            dstore 11 /* x1 */
        start local 11 // double x1
        22: .line 182
            aload 4 /* coords */
            iconst_1
            daload
            dstore 13 /* y1 */
        start local 13 // double y1
        23: .line 184
            aload 4 /* coords */
            iconst_2
            daload
            dstore 19 /* x3 */
        start local 19 // double x3
        24: .line 185
            aload 4 /* coords */
            iconst_3
            daload
            dstore 21 /* y3 */
        start local 21 // double y3
        25: .line 187
            dload 11 /* x1 */
            dload 19 /* x3 */
            dload 11 /* x1 */
            dsub
            ldc 3.0
            ddiv
            dadd
            dstore 15 /* x2 */
        start local 15 // double x2
        26: .line 188
            dload 13 /* y1 */
            dload 21 /* y3 */
            dload 13 /* y1 */
            dsub
            ldc 3.0
            ddiv
            dadd
            dstore 17 /* y2 */
        start local 17 // double y2
        27: .line 189
            dload 5 /* currX */
            ldc 2.0
            dload 11 /* x1 */
            dload 5 /* currX */
            dsub
            dmul
            ldc 3.0
            ddiv
            dadd
            dstore 11 /* x1 */
        28: .line 190
            dload 7 /* currY */
            ldc 2.0
            dload 13 /* y1 */
            dload 7 /* currY */
            dsub
            dmul
            ldc 3.0
            ddiv
            dadd
            dstore 13 /* y1 */
        29: .line 192
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            iconst_2
            invokevirtual sun.java2d.xr.GrowableByteArray.addByte:(B)V
        30: .line 193
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getNextIndex:()I
            istore 10 /* pointIndex */
        start local 10 // int pointIndex
        31: .line 194
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            dload 11 /* x1 */
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setX:(II)V
        32: .line 195
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            dload 13 /* y1 */
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setY:(II)V
        33: .line 196
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getNextIndex:()I
            istore 10 /* pointIndex */
        34: .line 197
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            dload 15 /* x2 */
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setX:(II)V
        35: .line 198
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            dload 17 /* y2 */
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setY:(II)V
        36: .line 199
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getNextIndex:()I
            istore 10 /* pointIndex */
        37: .line 200
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            dload 19 /* x3 */
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setX:(II)V
        38: .line 201
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            dload 21 /* y3 */
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setY:(II)V
        39: .line 202
            dload 19 /* x3 */
            dstore 5 /* currX */
        40: .line 203
            dload 21 /* y3 */
            dstore 7 /* currY */
        41: .line 204
            goto 56
        end local 21 // double y3
        end local 19 // double x3
        end local 17 // double y2
        end local 15 // double x2
        end local 13 // double y1
        end local 11 // double x1
        end local 10 // int pointIndex
        42: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            iconst_2
            invokevirtual sun.java2d.xr.GrowableByteArray.addByte:(B)V
        43: .line 208
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getNextIndex:()I
            istore 10 /* pointIndex */
        start local 10 // int pointIndex
        44: .line 209
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_0
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setX:(II)V
        45: .line 210
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_1
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setY:(II)V
        46: .line 211
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getNextIndex:()I
            istore 10 /* pointIndex */
        47: .line 212
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_2
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setX:(II)V
        48: .line 213
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_3
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setY:(II)V
        49: .line 214
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.getNextIndex:()I
            istore 10 /* pointIndex */
        50: .line 215
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_4
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setX:(II)V
        51: .line 216
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            iload 10 /* pointIndex */
            aload 4 /* coords */
            iconst_5
            daload
            invokestatic sun.java2d.jules.JulesPathBuf.DoubleToCairoFixed:(D)I
            invokevirtual sun.java2d.xr.GrowablePointArray.setY:(II)V
        52: .line 217
            aload 4 /* coords */
            iconst_4
            daload
            dstore 5 /* currX */
        53: .line 218
            aload 4 /* coords */
            iconst_5
            daload
            dstore 7 /* currY */
        54: .line 219
            goto 56
        end local 10 // int pointIndex
        55: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            iconst_3
            invokevirtual sun.java2d.xr.GrowableByteArray.addByte:(B)V
        56: .line 226
      StackMap locals:
      StackMap stack:
            aload 3 /* pi */
            invokeinterface java.awt.geom.PathIterator.next:()V
        end local 9 // int curOp
        57: .line 150
      StackMap locals:
      StackMap stack:
            aload 3 /* pi */
            invokeinterface java.awt.geom.PathIterator.isDone:()Z
            ifeq 5
        58: .line 229
            aload 3 /* pi */
            invokeinterface java.awt.geom.PathIterator.getWindingRule:()I
            ireturn
        end local 7 // double currY
        end local 5 // double currX
        end local 4 // double[] coords
        end local 3 // java.awt.geom.PathIterator pi
        end local 2 // java.awt.geom.AffineTransform at
        end local 1 // java.awt.Shape s
        end local 0 // sun.java2d.jules.JulesPathBuf this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   59     0        this  Lsun/java2d/jules/JulesPathBuf;
            0   59     1           s  Ljava/awt/Shape;
            0   59     2          at  Ljava/awt/geom/AffineTransform;
            1   59     3          pi  Ljava/awt/geom/PathIterator;
            2   59     4      coords  [D
            3   59     5       currX  D
            4   59     7       currY  D
            6   57     9       curOp  I
            9   14    10  pointIndex  I
           16   21    10  pointIndex  I
           31   42    10  pointIndex  I
           44   55    10  pointIndex  I
           22   42    11          x1  D
           23   42    13          y1  D
           26   42    15          x2  D
           27   42    17          y2  D
           24   42    19          x3  D
           25   42    21          y3  D
    MethodParameters:
      Name  Flags
      s     
      at    

  private static native int[] tesselateStrokeNative(int[], byte[], int, int, int[], int, double, int, int, double, double[], int, double, double, double, double, double, double, double, int, int, int, int);
    descriptor: ([I[BII[IIDIID[DIDDDDDDDIIII)[I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                  Name  Flags
      pointArray        
      ops               
      pointCnt          
      opCnt             
      xTrapArray        
      xTrapArrayLength  
      lineWidth         
      lineCap           
      lineJoin          
      miterLimit        
      dashArray         
      dashCnt           
      offset            
      m00               
      m01               
      m02               
      m10               
      m11               
      m12               
      clipLowX          
      clipLowY          
      clipWidth         
      clipHeight        

  private static native int[] tesselateFillNative(int[], byte[], int, int, int[], int, int, int, int, int, int);
    descriptor: ([I[BII[IIIIIII)[I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                  Name  Flags
      pointArray        
      ops               
      pointCnt          
      opCnt             
      xTrapArray        
      xTrapArrayLength  
      windingRule       
      clipLowX          
      clipLowY          
      clipWidth         
      clipHeight        

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.jules.JulesPathBuf this
         0: .line 250
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.points:Lsun/java2d/xr/GrowablePointArray;
            invokevirtual sun.java2d.xr.GrowablePointArray.clear:()V
         1: .line 251
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.ops:Lsun/java2d/xr/GrowableByteArray;
            invokevirtual sun.java2d.xr.GrowableByteArray.clear:()V
         2: .line 252
            aload 0 /* this */
            getfield sun.java2d.jules.JulesPathBuf.xTrapArray:[I
            iconst_0
            iconst_0
            iastore
         3: .line 253
            return
        end local 0 // sun.java2d.jules.JulesPathBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/java2d/jules/JulesPathBuf;

  private static int DoubleToCairoFixed(double);
    descriptor: (D)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double dbl
         0: .line 256
            dload 0 /* dbl */
            ldc 256.0
            dmul
            d2i
            ireturn
        end local 0 // double dbl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   dbl  D
    MethodParameters:
      Name  Flags
      dbl   

  private static int getCairoWindingRule(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int j2dWindingRule
         0: .line 260
            iload 0 /* j2dWindingRule */
            tableswitch { // 0 - 1
                    0: 1
                    1: 2
              default: 3
          }
         1: .line 262
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 265
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 268
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Illegal Java2D winding rule specified"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // int j2dWindingRule
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0  j2dWindingRule  I
    MethodParameters:
                Name  Flags
      j2dWindingRule  
}
SourceFile: "JulesPathBuf.java"
NestMembers:
  sun.java2d.jules.JulesPathBuf$1
InnerClasses:
  sun.java2d.jules.JulesPathBuf$1