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

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

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

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

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

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

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

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

  public void moveTo(float, float);
    descriptor: (FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // float x0
        start local 2 // float y0
         0: .line 481
            aload 0 /* this */
            iconst_0
            invokevirtual sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector.finish:(Z)V
         1: .line 482
            aload 0 /* this */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector.out:Lsun/awt/geom/PathConsumer2D;
            fload 1 /* x0 */
            fload 2 /* y0 */
            invokeinterface sun.awt.geom.PathConsumer2D.moveTo:(FF)V
         2: .line 483
            return
        end local 2 // float y0
        end local 1 // float x0
        end local 0 // sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/java2d/marlin/TransformingPathConsumer2D$ClosedPathDetector;
            0    3     1    x0  F
            0    3     2    y0  F
    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.TransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // boolean closed
         0: .line 486
            aload 0 /* this */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector.rdrCtx:Lsun/java2d/marlin/RendererContext;
            iload 1 /* closed */
            putfield sun.java2d.marlin.RendererContext.closedPath:Z
         1: .line 487
            aload 0 /* this */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/Helpers$PolyStack;
            aload 0 /* this */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector.out:Lsun/awt/geom/PathConsumer2D;
            invokevirtual sun.java2d.marlin.Helpers$PolyStack.pullAll:(Lsun/awt/geom/PathConsumer2D;)V
         2: .line 488
            return
        end local 1 // boolean closed
        end local 0 // sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lsun/java2d/marlin/TransformingPathConsumer2D$ClosedPathDetector;
            0    3     1  closed  Z
    MethodParameters:
        Name  Flags
      closed  final

  public void lineTo(float, float);
    descriptor: (FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // float x1
        start local 2 // float y1
         0: .line 492
            aload 0 /* this */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/Helpers$PolyStack;
            fload 1 /* x1 */
            fload 2 /* y1 */
            invokevirtual sun.java2d.marlin.Helpers$PolyStack.pushLine:(FF)V
         1: .line 493
            return
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/marlin/TransformingPathConsumer2D$ClosedPathDetector;
            0    2     1    x1  F
            0    2     2    y1  F
    MethodParameters:
      Name  Flags
      x1    
      y1    

  public void curveTo(float, float, float, float, float, float);
    descriptor: (FFFFFF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // float x3
        start local 2 // float y3
        start local 3 // float x2
        start local 4 // float y2
        start local 5 // float x1
        start local 6 // float y1
         0: .line 500
            aload 0 /* this */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/Helpers$PolyStack;
            fload 5 /* x1 */
            fload 6 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 1 /* x3 */
            fload 2 /* y3 */
            invokevirtual sun.java2d.marlin.Helpers$PolyStack.pushCubic:(FFFFFF)V
         1: .line 501
            return
        end local 6 // float y1
        end local 5 // float x1
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y3
        end local 1 // float x3
        end local 0 // sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/marlin/TransformingPathConsumer2D$ClosedPathDetector;
            0    2     1    x3  F
            0    2     2    y3  F
            0    2     3    x2  F
            0    2     4    y2  F
            0    2     5    x1  F
            0    2     6    y1  F
    MethodParameters:
      Name  Flags
      x3    
      y3    
      x2    
      y2    
      x1    
      y1    

  public void quadTo(float, float, float, float);
    descriptor: (FFFF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // float x2
        start local 2 // float y2
        start local 3 // float x1
        start local 4 // float y1
         0: .line 505
            aload 0 /* this */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector.stack:Lsun/java2d/marlin/Helpers$PolyStack;
            fload 3 /* x1 */
            fload 4 /* y1 */
            fload 1 /* x2 */
            fload 2 /* y2 */
            invokevirtual sun.java2d.marlin.Helpers$PolyStack.pushQuad:(FFFF)V
         1: .line 506
            return
        end local 4 // float y1
        end local 3 // float x1
        end local 2 // float y2
        end local 1 // float x2
        end local 0 // sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/marlin/TransformingPathConsumer2D$ClosedPathDetector;
            0    2     1    x2  F
            0    2     2    y2  F
            0    2     3    x1  F
            0    2     4    y1  F
    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.TransformingPathConsumer2D$ClosedPathDetector this
         0: .line 510
            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.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/marlin/TransformingPathConsumer2D$ClosedPathDetector;
}
SourceFile: "TransformingPathConsumer2D.java"
NestHost: sun.java2d.marlin.TransformingPathConsumer2D
InnerClasses:
  final PolyStack = sun.java2d.marlin.Helpers$PolyStack of sun.java2d.marlin.Helpers
  final ClosedPathDetector = sun.java2d.marlin.TransformingPathConsumer2D$ClosedPathDetector of sun.java2d.marlin.TransformingPathConsumer2D