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

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

  private com.sun.javafx.geom.PathConsumer2D out;
    descriptor: Lcom/sun/javafx/geom/PathConsumer2D;
    flags: (0x0002) ACC_PRIVATE

  void <init>(com.sun.marlin.RendererContext);
    descriptor: (Lcom/sun/marlin/RendererContext;)V
    flags: (0x0000) 
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // com.sun.marlin.RendererContext rdrCtx
         0: .line 420
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 421
            aload 0 /* this */
            aload 1 /* rdrCtx */
            putfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.rdrCtx:Lcom/sun/marlin/RendererContext;
         2: .line 422
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            ifnull 11
         3: .line 423
            new com.sun.marlin.Helpers$PolyStack
            dup
            aload 1 /* rdrCtx */
         4: .line 424
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_cpd_polystack_types:Lcom/sun/marlin/stats/StatLong;
         5: .line 425
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_cpd_polystack_curves:Lcom/sun/marlin/stats/StatLong;
         6: .line 426
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.hist_cpd_polystack_curves:Lcom/sun/marlin/stats/Histogram;
         7: .line 427
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_array_cpd_polystack_curves:Lcom/sun/marlin/stats/StatLong;
         8: .line 428
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_array_cpd_polystack_types:Lcom/sun/marlin/stats/StatLong;
         9: .line 423
            invokespecial com.sun.marlin.Helpers$PolyStack.<init>:(Lcom/sun/marlin/RendererContext;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/Histogram;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;)V
        10: .line 428
            goto 12
        11: .line 429
      StackMap locals: com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector com.sun.marlin.RendererContext
      StackMap stack: com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector
            new com.sun.marlin.Helpers$PolyStack
            dup
            aload 1 /* rdrCtx */
            invokespecial com.sun.marlin.Helpers$PolyStack.<init>:(Lcom/sun/marlin/RendererContext;)V
        12: .line 422
      StackMap locals: com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector com.sun.marlin.RendererContext
      StackMap stack: com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector com.sun.marlin.Helpers$PolyStack
            putfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.stack:Lcom/sun/marlin/Helpers$PolyStack;
        13: .line 430
            return
        end local 1 // com.sun.marlin.RendererContext rdrCtx
        end local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lcom/sun/marlin/TransformingPathConsumer2D$ClosedPathDetector;
            0   14     1  rdrCtx  Lcom/sun/marlin/RendererContext;
    MethodParameters:
        Name  Flags
      rdrCtx  final

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

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

  public void pathDone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
         0: .line 448
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.finish:(Z)V
         1: .line 449
            aload 0 /* this */
            getfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.out:Lcom/sun/javafx/geom/PathConsumer2D;
            invokeinterface com.sun.javafx.geom.PathConsumer2D.pathDone:()V
         2: .line 453
            aload 0 /* this */
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.dispose:()V
         3: .line 454
            return
        end local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/marlin/TransformingPathConsumer2D$ClosedPathDetector;

  public void closePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
         0: .line 459
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.finish:(Z)V
         1: .line 460
            aload 0 /* this */
            getfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.out:Lcom/sun/javafx/geom/PathConsumer2D;
            invokeinterface com.sun.javafx.geom.PathConsumer2D.closePath:()V
         2: .line 461
            return
        end local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/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 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // float x0
        start local 2 // float y0
         0: .line 466
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.finish:(Z)V
         1: .line 467
            aload 0 /* this */
            getfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.out:Lcom/sun/javafx/geom/PathConsumer2D;
            fload 1 /* x0 */
            fload 2 /* y0 */
            invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
         2: .line 468
            return
        end local 2 // float y0
        end local 1 // float x0
        end local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/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 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // boolean closed
         0: .line 471
            aload 0 /* this */
            getfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.rdrCtx:Lcom/sun/marlin/RendererContext;
            iload 1 /* closed */
            putfield com.sun.marlin.RendererContext.closedPath:Z
         1: .line 472
            aload 0 /* this */
            getfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.stack:Lcom/sun/marlin/Helpers$PolyStack;
            aload 0 /* this */
            getfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.out:Lcom/sun/javafx/geom/PathConsumer2D;
            invokevirtual com.sun.marlin.Helpers$PolyStack.pullAll:(Lcom/sun/javafx/geom/PathConsumer2D;)V
         2: .line 473
            return
        end local 1 // boolean closed
        end local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/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 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
        start local 1 // float x1
        start local 2 // float y1
         0: .line 477
            aload 0 /* this */
            getfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.stack:Lcom/sun/marlin/Helpers$PolyStack;
            fload 1 /* x1 */
            fload 2 /* y1 */
            invokevirtual com.sun.marlin.Helpers$PolyStack.pushLine:(FF)V
         1: .line 478
            return
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/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 // com.sun.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 485
            aload 0 /* this */
            getfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.stack:Lcom/sun/marlin/Helpers$PolyStack;
            fload 5 /* x1 */
            fload 6 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 1 /* x3 */
            fload 2 /* y3 */
            invokevirtual com.sun.marlin.Helpers$PolyStack.pushCubic:(FFFFFF)V
         1: .line 486
            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 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/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 // com.sun.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 490
            aload 0 /* this */
            getfield com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector.stack:Lcom/sun/marlin/Helpers$PolyStack;
            fload 3 /* x1 */
            fload 4 /* y1 */
            fload 1 /* x2 */
            fload 2 /* y2 */
            invokevirtual com.sun.marlin.Helpers$PolyStack.pushQuad:(FFFF)V
         1: .line 491
            return
        end local 4 // float y1
        end local 3 // float x1
        end local 2 // float y2
        end local 1 // float x2
        end local 0 // com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/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    
}
SourceFile: "TransformingPathConsumer2D.java"
NestHost: com.sun.marlin.TransformingPathConsumer2D
InnerClasses:
  final PolyStack = com.sun.marlin.Helpers$PolyStack of com.sun.marlin.Helpers
  final ClosedPathDetector = com.sun.marlin.TransformingPathConsumer2D$ClosedPathDetector of com.sun.marlin.TransformingPathConsumer2D