final class sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector implements sun.java2d.marlin.DPathConsumer2D
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector
  super_class: java.lang.Object
{
  private final sun.java2d.marlin.DRendererContext rdrCtx;
    descriptor: Lsun/java2d/marlin/DRendererContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.java2d.marlin.DHelpers$PolyStack stack;
    descriptor: Lsun/java2d/marlin/DHelpers$PolyStack;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private sun.java2d.marlin.DPathConsumer2D out;
    descriptor: Lsun/java2d/marlin/DPathConsumer2D;
    flags: (0x0002) ACC_PRIVATE

  void <init>(sun.java2d.marlin.DRendererContext);
    descriptor: (Lsun/java2d/marlin/DRendererContext;)V
    flags: (0x0000) 
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // sun.java2d.marlin.DRendererContext rdrCtx
         0: .line 434
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 435
            aload 0 /* this */
            aload 1 /* rdrCtx */
            putfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.rdrCtx:Lsun/java2d/marlin/DRendererContext;
         2: .line 436
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            ifnull 11
         3: .line 437
            new sun.java2d.marlin.DHelpers$PolyStack
            dup
            aload 1 /* rdrCtx */
         4: .line 438
            aload 1 /* rdrCtx */
            getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_cpd_polystack_types:Lsun/java2d/marlin/stats/StatLong;
         5: .line 439
            aload 1 /* rdrCtx */
            getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_cpd_polystack_curves:Lsun/java2d/marlin/stats/StatLong;
         6: .line 440
            aload 1 /* rdrCtx */
            getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.hist_cpd_polystack_curves:Lsun/java2d/marlin/stats/Histogram;
         7: .line 441
            aload 1 /* rdrCtx */
            getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_array_cpd_polystack_curves:Lsun/java2d/marlin/stats/StatLong;
         8: .line 442
            aload 1 /* rdrCtx */
            getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_array_cpd_polystack_types:Lsun/java2d/marlin/stats/StatLong;
         9: .line 437
            invokespecial sun.java2d.marlin.DHelpers$PolyStack.<init>:(Lsun/java2d/marlin/DRendererContext;Lsun/java2d/marlin/stats/StatLong;Lsun/java2d/marlin/stats/StatLong;Lsun/java2d/marlin/stats/Histogram;Lsun/java2d/marlin/stats/StatLong;Lsun/java2d/marlin/stats/StatLong;)V
        10: .line 442
            goto 12
        11: .line 443
      StackMap locals: sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector sun.java2d.marlin.DRendererContext
      StackMap stack: sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector
            new sun.java2d.marlin.DHelpers$PolyStack
            dup
            aload 1 /* rdrCtx */
            invokespecial sun.java2d.marlin.DHelpers$PolyStack.<init>:(Lsun/java2d/marlin/DRendererContext;)V
        12: .line 436
      StackMap locals: sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector sun.java2d.marlin.DRendererContext
      StackMap stack: sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector sun.java2d.marlin.DHelpers$PolyStack
            putfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/DHelpers$PolyStack;
        13: .line 444
            return
        end local 1 // sun.java2d.marlin.DRendererContext rdrCtx
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;
            0   14     1  rdrCtx  Lsun/java2d/marlin/DRendererContext;
    MethodParameters:
        Name  Flags
      rdrCtx  final

  sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector init(sun.java2d.marlin.DPathConsumer2D);
    descriptor: (Lsun/java2d/marlin/DPathConsumer2D;)Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // sun.java2d.marlin.DPathConsumer2D out
         0: .line 447
            aload 0 /* this */
            aload 1 /* out */
            putfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.out:Lsun/java2d/marlin/DPathConsumer2D;
         1: .line 448
            aload 0 /* this */
            areturn
        end local 1 // sun.java2d.marlin.DPathConsumer2D out
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;
            0    2     1   out  Lsun/java2d/marlin/DPathConsumer2D;
    MethodParameters:
      Name  Flags
      out   

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
         0: .line 456
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/DHelpers$PolyStack;
            invokevirtual sun.java2d.marlin.DHelpers$PolyStack.dispose:()V
         1: .line 457
            return
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;

  public void pathDone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
         0: .line 462
            aload 0 /* this */
            iconst_0
            invokevirtual sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.finish:(Z)V
         1: .line 463
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.out:Lsun/java2d/marlin/DPathConsumer2D;
            invokeinterface sun.java2d.marlin.DPathConsumer2D.pathDone:()V
         2: .line 467
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.dispose:()V
         3: .line 468
            return
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;

  public void closePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
         0: .line 473
            aload 0 /* this */
            iconst_1
            invokevirtual sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.finish:(Z)V
         1: .line 474
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.out:Lsun/java2d/marlin/DPathConsumer2D;
            invokeinterface sun.java2d.marlin.DPathConsumer2D.closePath:()V
         2: .line 475
            return
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;

  public void moveTo(double, double);
    descriptor: (DD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // double x0
        start local 3 // double y0
         0: .line 480
            aload 0 /* this */
            iconst_0
            invokevirtual sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.finish:(Z)V
         1: .line 481
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.out:Lsun/java2d/marlin/DPathConsumer2D;
            dload 1 /* x0 */
            dload 3 /* y0 */
            invokeinterface sun.java2d.marlin.DPathConsumer2D.moveTo:(DD)V
         2: .line 482
            return
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;
            0    3     1    x0  D
            0    3     3    y0  D
    MethodParameters:
      Name  Flags
      x0    
      y0    

  private void finish(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // boolean closed
         0: .line 485
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.rdrCtx:Lsun/java2d/marlin/DRendererContext;
            iload 1 /* closed */
            putfield sun.java2d.marlin.DRendererContext.closedPath:Z
         1: .line 486
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/DHelpers$PolyStack;
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.out:Lsun/java2d/marlin/DPathConsumer2D;
            invokevirtual sun.java2d.marlin.DHelpers$PolyStack.pullAll:(Lsun/java2d/marlin/DPathConsumer2D;)V
         2: .line 487
            return
        end local 1 // boolean closed
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;
            0    3     1  closed  Z
    MethodParameters:
        Name  Flags
      closed  final

  public void lineTo(double, double);
    descriptor: (DD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // double x1
        start local 3 // double y1
         0: .line 491
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/DHelpers$PolyStack;
            dload 1 /* x1 */
            dload 3 /* y1 */
            invokevirtual sun.java2d.marlin.DHelpers$PolyStack.pushLine:(DD)V
         1: .line 492
            return
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;
            0    2     1    x1  D
            0    2     3    y1  D
    MethodParameters:
      Name  Flags
      x1    
      y1    

  public void curveTo(double, double, double, double, double, double);
    descriptor: (DDDDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=13, args_size=7
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // double x3
        start local 3 // double y3
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double x1
        start local 11 // double y1
         0: .line 499
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/DHelpers$PolyStack;
            dload 9 /* x1 */
            dload 11 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 1 /* x3 */
            dload 3 /* y3 */
            invokevirtual sun.java2d.marlin.DHelpers$PolyStack.pushCubic:(DDDDDD)V
         1: .line 500
            return
        end local 11 // double y1
        end local 9 // double x1
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y3
        end local 1 // double x3
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;
            0    2     1    x3  D
            0    2     3    y3  D
            0    2     5    x2  D
            0    2     7    y2  D
            0    2     9    x1  D
            0    2    11    y1  D
    MethodParameters:
      Name  Flags
      x3    
      y3    
      x2    
      y2    
      x1    
      y1    

  public void quadTo(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=5
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // double x2
        start local 3 // double y2
        start local 5 // double x1
        start local 7 // double y1
         0: .line 504
            aload 0 /* this */
            getfield sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/DHelpers$PolyStack;
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 1 /* x2 */
            dload 3 /* y2 */
            invokevirtual sun.java2d.marlin.DHelpers$PolyStack.pushQuad:(DDDD)V
         1: .line 505
            return
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y2
        end local 1 // double x2
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;
            0    2     1    x2  D
            0    2     3    y2  D
            0    2     5    x1  D
            0    2     7    y1  D
    MethodParameters:
      Name  Flags
      x2    
      y2    
      x1    
      y1    

  public long getNativeConsumer();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
         0: .line 509
            new java.lang.InternalError
            dup
            ldc "Not using a native peer"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/marlin/DTransformingPathConsumer2D$ClosedPathDetector;
}
SourceFile: "DTransformingPathConsumer2D.java"
NestHost: sun.java2d.marlin.DTransformingPathConsumer2D
InnerClasses:
  final PolyStack = sun.java2d.marlin.DHelpers$PolyStack of sun.java2d.marlin.DHelpers
  final ClosedPathDetector = sun.java2d.marlin.DTransformingPathConsumer2D$ClosedPathDetector of sun.java2d.marlin.DTransformingPathConsumer2D