class com.sun.javafx.sg.prism.ShapeEvaluator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.javafx.sg.prism.ShapeEvaluator
  super_class: java.lang.Object
{
  private com.sun.javafx.geom.Shape savedv0;
    descriptor: Lcom/sun/javafx/geom/Shape;
    flags: (0x0002) ACC_PRIVATE

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

  private com.sun.javafx.sg.prism.ShapeEvaluator$Geometry geom0;
    descriptor: Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.sg.prism.ShapeEvaluator$Geometry geom1;
    descriptor: Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
    flags: (0x0002) ACC_PRIVATE

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.sg.prism.ShapeEvaluator this
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.javafx.sg.prism.ShapeEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/sg/prism/ShapeEvaluator;

  public com.sun.javafx.geom.Shape evaluate(com.sun.javafx.geom.Shape, com.sun.javafx.geom.Shape, float);
    descriptor: (Lcom/sun/javafx/geom/Shape;Lcom/sun/javafx/geom/Shape;F)Lcom/sun/javafx/geom/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.sun.javafx.sg.prism.ShapeEvaluator this
        start local 1 // com.sun.javafx.geom.Shape v0
        start local 2 // com.sun.javafx.geom.Shape v1
        start local 3 // float fraction
         0: .line 86
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.savedv0:Lcom/sun/javafx/geom/Shape;
            aload 1 /* v0 */
            if_acmpne 1
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.savedv1:Lcom/sun/javafx/geom/Shape;
            aload 2 /* v1 */
            if_acmpeq 9
         1: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.savedv0:Lcom/sun/javafx/geom/Shape;
            aload 2 /* v1 */
            if_acmpne 6
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.savedv1:Lcom/sun/javafx/geom/Shape;
            aload 1 /* v0 */
            if_acmpne 6
         2: .line 89
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.geom0:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
            astore 4 /* gtmp */
        start local 4 // com.sun.javafx.sg.prism.ShapeEvaluator$Geometry gtmp
         3: .line 90
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.geom1:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
            putfield com.sun.javafx.sg.prism.ShapeEvaluator.geom0:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
         4: .line 91
            aload 0 /* this */
            aload 4 /* gtmp */
            putfield com.sun.javafx.sg.prism.ShapeEvaluator.geom1:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
        end local 4 // com.sun.javafx.sg.prism.ShapeEvaluator$Geometry gtmp
         5: .line 92
            goto 7
         6: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* v0 */
            aload 2 /* v1 */
            invokevirtual com.sun.javafx.sg.prism.ShapeEvaluator.recalculate:(Lcom/sun/javafx/geom/Shape;Lcom/sun/javafx/geom/Shape;)V
         7: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* v0 */
            putfield com.sun.javafx.sg.prism.ShapeEvaluator.savedv0:Lcom/sun/javafx/geom/Shape;
         8: .line 96
            aload 0 /* this */
            aload 2 /* v1 */
            putfield com.sun.javafx.sg.prism.ShapeEvaluator.savedv1:Lcom/sun/javafx/geom/Shape;
         9: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 3 /* fraction */
            invokevirtual com.sun.javafx.sg.prism.ShapeEvaluator.getShape:(F)Lcom/sun/javafx/geom/Shape;
            areturn
        end local 3 // float fraction
        end local 2 // com.sun.javafx.geom.Shape v1
        end local 1 // com.sun.javafx.geom.Shape v0
        end local 0 // com.sun.javafx.sg.prism.ShapeEvaluator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/javafx/sg/prism/ShapeEvaluator;
            0   10     1        v0  Lcom/sun/javafx/geom/Shape;
            0   10     2        v1  Lcom/sun/javafx/geom/Shape;
            0   10     3  fraction  F
            3    5     4      gtmp  Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
    MethodParameters:
          Name  Flags
      v0        
      v1        
      fraction  

  private void recalculate(com.sun.javafx.geom.Shape, com.sun.javafx.geom.Shape);
    descriptor: (Lcom/sun/javafx/geom/Shape;Lcom/sun/javafx/geom/Shape;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.javafx.sg.prism.ShapeEvaluator this
        start local 1 // com.sun.javafx.geom.Shape v0
        start local 2 // com.sun.javafx.geom.Shape v1
         0: .line 102
            aload 0 /* this */
            new com.sun.javafx.sg.prism.ShapeEvaluator$Geometry
            dup
            aload 1 /* v0 */
            invokespecial com.sun.javafx.sg.prism.ShapeEvaluator$Geometry.<init>:(Lcom/sun/javafx/geom/Shape;)V
            putfield com.sun.javafx.sg.prism.ShapeEvaluator.geom0:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
         1: .line 103
            aload 0 /* this */
            new com.sun.javafx.sg.prism.ShapeEvaluator$Geometry
            dup
            aload 2 /* v1 */
            invokespecial com.sun.javafx.sg.prism.ShapeEvaluator$Geometry.<init>:(Lcom/sun/javafx/geom/Shape;)V
            putfield com.sun.javafx.sg.prism.ShapeEvaluator.geom1:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
         2: .line 104
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.geom0:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
            invokevirtual com.sun.javafx.sg.prism.ShapeEvaluator$Geometry.getTvals:()[F
            astore 3 /* tvals0 */
        start local 3 // float[] tvals0
         3: .line 105
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.geom1:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
            invokevirtual com.sun.javafx.sg.prism.ShapeEvaluator$Geometry.getTvals:()[F
            astore 4 /* tvals1 */
        start local 4 // float[] tvals1
         4: .line 106
            aload 3 /* tvals0 */
            aload 4 /* tvals1 */
            invokestatic com.sun.javafx.sg.prism.ShapeEvaluator.mergeTvals:([F[F)[F
            astore 5 /* masterTvals */
        start local 5 // float[] masterTvals
         5: .line 107
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.geom0:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
            aload 5 /* masterTvals */
            invokevirtual com.sun.javafx.sg.prism.ShapeEvaluator$Geometry.setTvals:([F)V
         6: .line 108
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.geom1:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
            aload 5 /* masterTvals */
            invokevirtual com.sun.javafx.sg.prism.ShapeEvaluator$Geometry.setTvals:([F)V
         7: .line 109
            return
        end local 5 // float[] masterTvals
        end local 4 // float[] tvals1
        end local 3 // float[] tvals0
        end local 2 // com.sun.javafx.geom.Shape v1
        end local 1 // com.sun.javafx.geom.Shape v0
        end local 0 // com.sun.javafx.sg.prism.ShapeEvaluator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/sun/javafx/sg/prism/ShapeEvaluator;
            0    8     1           v0  Lcom/sun/javafx/geom/Shape;
            0    8     2           v1  Lcom/sun/javafx/geom/Shape;
            3    8     3       tvals0  [F
            4    8     4       tvals1  [F
            5    8     5  masterTvals  [F
    MethodParameters:
      Name  Flags
      v0    
      v1    

  private com.sun.javafx.geom.Shape getShape(float);
    descriptor: (F)Lcom/sun/javafx/geom/Shape;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.javafx.sg.prism.ShapeEvaluator this
        start local 1 // float fraction
         0: .line 112
            new com.sun.javafx.sg.prism.ShapeEvaluator$MorphedShape
            dup
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.geom0:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.ShapeEvaluator.geom1:Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;
            fload 1 /* fraction */
            invokespecial com.sun.javafx.sg.prism.ShapeEvaluator$MorphedShape.<init>:(Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;Lcom/sun/javafx/sg/prism/ShapeEvaluator$Geometry;F)V
            areturn
        end local 1 // float fraction
        end local 0 // com.sun.javafx.sg.prism.ShapeEvaluator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/javafx/sg/prism/ShapeEvaluator;
            0    1     1  fraction  F
    MethodParameters:
          Name  Flags
      fraction  

  private static float[] mergeTvals(float[], float[]);
    descriptor: ([F[F)[F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // float[] tvals0
        start local 1 // float[] tvals1
         0: .line 116
            aload 0 /* tvals0 */
            aload 1 /* tvals1 */
            aconst_null
            invokestatic com.sun.javafx.sg.prism.ShapeEvaluator.sortTvals:([F[F[F)I
            istore 2 /* count */
        start local 2 // int count
         1: .line 117
            iload 2 /* count */
            newarray 6
            astore 3 /* newtvals */
        start local 3 // float[] newtvals
         2: .line 118
            aload 0 /* tvals0 */
            aload 1 /* tvals1 */
            aload 3 /* newtvals */
            invokestatic com.sun.javafx.sg.prism.ShapeEvaluator.sortTvals:([F[F[F)I
            pop
         3: .line 119
            aload 3 /* newtvals */
            areturn
        end local 3 // float[] newtvals
        end local 2 // int count
        end local 1 // float[] tvals1
        end local 0 // float[] tvals0
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0    tvals0  [F
            0    4     1    tvals1  [F
            1    4     2     count  I
            2    4     3  newtvals  [F
    MethodParameters:
        Name  Flags
      tvals0  
      tvals1  

  private static int sortTvals(float[], float[], float[]);
    descriptor: ([F[F[F)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // float[] tvals0
        start local 1 // float[] tvals1
        start local 2 // float[] newtvals
         0: .line 126
            iconst_0
            istore 3 /* i0 */
        start local 3 // int i0
         1: .line 127
            iconst_0
            istore 4 /* i1 */
        start local 4 // int i1
         2: .line 128
            iconst_0
            istore 5 /* numtvals */
        start local 5 // int numtvals
         3: .line 129
            goto 13
         4: .line 130
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* tvals0 */
            iload 3 /* i0 */
            faload
            fstore 6 /* t0 */
        start local 6 // float t0
         5: .line 131
            aload 1 /* tvals1 */
            iload 4 /* i1 */
            faload
            fstore 7 /* t1 */
        start local 7 // float t1
         6: .line 132
            fload 6 /* t0 */
            fload 7 /* t1 */
            fcmpg
            ifgt 9
         7: .line 133
            aload 2 /* newtvals */
            ifnull 8
            aload 2 /* newtvals */
            iload 5 /* numtvals */
            fload 6 /* t0 */
            fastore
         8: .line 134
      StackMap locals: float float
      StackMap stack:
            iinc 3 /* i0 */ 1
         9: .line 136
      StackMap locals:
      StackMap stack:
            fload 7 /* t1 */
            fload 6 /* t0 */
            fcmpg
            ifgt 12
        10: .line 137
            aload 2 /* newtvals */
            ifnull 11
            aload 2 /* newtvals */
            iload 5 /* numtvals */
            fload 7 /* t1 */
            fastore
        11: .line 138
      StackMap locals:
      StackMap stack:
            iinc 4 /* i1 */ 1
        12: .line 140
      StackMap locals:
      StackMap stack:
            iinc 5 /* numtvals */ 1
        end local 7 // float t1
        end local 6 // float t0
        13: .line 129
      StackMap locals:
      StackMap stack:
            iload 3 /* i0 */
            aload 0 /* tvals0 */
            arraylength
            if_icmpge 14
            iload 4 /* i1 */
            aload 1 /* tvals1 */
            arraylength
            if_icmplt 4
        14: .line 142
      StackMap locals:
      StackMap stack:
            iload 5 /* numtvals */
            ireturn
        end local 5 // int numtvals
        end local 4 // int i1
        end local 3 // int i0
        end local 2 // float[] newtvals
        end local 1 // float[] tvals1
        end local 0 // float[] tvals0
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0    tvals0  [F
            0   15     1    tvals1  [F
            0   15     2  newtvals  [F
            1   15     3        i0  I
            2   15     4        i1  I
            3   15     5  numtvals  I
            5   13     6        t0  F
            6   13     7        t1  F
    MethodParameters:
          Name  Flags
      tvals0    
      tvals1    
      newtvals  

  private static float interp(float, float, float);
    descriptor: (FFF)F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // float v0
        start local 1 // float v1
        start local 2 // float t
         0: .line 146
            fload 0 /* v0 */
            fload 1 /* v1 */
            fload 0 /* v0 */
            fsub
            fload 2 /* t */
            fmul
            fadd
            freturn
        end local 2 // float t
        end local 1 // float v1
        end local 0 // float v0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    v0  F
            0    1     1    v1  F
            0    1     2     t  F
    MethodParameters:
      Name  Flags
      v0    
      v1    
      t     
}
SourceFile: "ShapeEvaluator.java"
NestMembers:
  com.sun.javafx.sg.prism.ShapeEvaluator$Geometry  com.sun.javafx.sg.prism.ShapeEvaluator$Iterator  com.sun.javafx.sg.prism.ShapeEvaluator$MorphedShape
InnerClasses:
  private Geometry = com.sun.javafx.sg.prism.ShapeEvaluator$Geometry of com.sun.javafx.sg.prism.ShapeEvaluator
  private Iterator = com.sun.javafx.sg.prism.ShapeEvaluator$Iterator of com.sun.javafx.sg.prism.ShapeEvaluator
  private MorphedShape = com.sun.javafx.sg.prism.ShapeEvaluator$MorphedShape of com.sun.javafx.sg.prism.ShapeEvaluator