abstract class com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval extends com.sun.scenario.animation.shared.InterpolationInterval
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval
  super_class: com.sun.scenario.animation.shared.InterpolationInterval
{
  private final double duration;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double p2;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final double p3;
    descriptor: D
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final com.sun.scenario.animation.NumberTangentInterpolator leftInterpolator;
    descriptor: Lcom/sun/scenario/animation/NumberTangentInterpolator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected double p0;
    descriptor: D
    flags: (0x0004) ACC_PROTECTED

  private double p1;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 120
            ldc Lcom/sun/scenario/animation/shared/InterpolationInterval;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(javafx.animation.KeyValue, long, javafx.animation.KeyValue, long);
    descriptor: (Ljavafx/animation/KeyValue;JLjavafx/animation/KeyValue;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval this
        start local 1 // javafx.animation.KeyValue rightKeyValue
        start local 2 // long ticks
        start local 4 // javafx.animation.KeyValue leftKeyValue
        start local 5 // long duration
         0: .line 133
            aload 0 /* this */
            lload 2 /* ticks */
            aload 1 /* rightKeyValue */
            invokevirtual javafx.animation.KeyValue.getInterpolator:()Ljavafx/animation/Interpolator;
            invokespecial com.sun.scenario.animation.shared.InterpolationInterval.<init>:(JLjavafx/animation/Interpolator;)V
         1: .line 134
            getstatic com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.$assertionsDisabled:Z
            ifne 4
            aload 1 /* rightKeyValue */
            invokevirtual javafx.animation.KeyValue.getEndValue:()Ljava/lang/Object;
            instanceof java.lang.Number
            ifeq 3
         2: .line 135
            aload 4 /* leftKeyValue */
            invokevirtual javafx.animation.KeyValue.getEndValue:()Ljava/lang/Object;
            instanceof java.lang.Number
            ifne 4
      StackMap locals: com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval javafx.animation.KeyValue long javafx.animation.KeyValue long
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 5 /* duration */
            l2d
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.duration:D
         5: .line 138
            aload 4 /* leftKeyValue */
         6: .line 139
            invokevirtual javafx.animation.KeyValue.getInterpolator:()Ljavafx/animation/Interpolator;
         7: .line 138
            astore 7 /* rawLeftInterpolator */
        start local 7 // javafx.animation.Interpolator rawLeftInterpolator
         8: .line 140
            aload 0 /* this */
            aload 7 /* rawLeftInterpolator */
            instanceof com.sun.scenario.animation.NumberTangentInterpolator
            ifeq 9
            aload 7 /* rawLeftInterpolator */
            checkcast com.sun.scenario.animation.NumberTangentInterpolator
            goto 10
         9: .line 141
      StackMap locals: com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval javafx.animation.KeyValue long javafx.animation.KeyValue long javafx.animation.Interpolator
      StackMap stack: com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval
            aconst_null
        10: .line 140
      StackMap locals: com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval javafx.animation.KeyValue long javafx.animation.KeyValue long javafx.animation.Interpolator
      StackMap stack: com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval com.sun.scenario.animation.NumberTangentInterpolator
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.leftInterpolator:Lcom/sun/scenario/animation/NumberTangentInterpolator;
        11: .line 142
            aload 0 /* this */
            aload 4 /* leftKeyValue */
            invokevirtual javafx.animation.KeyValue.getEndValue:()Ljava/lang/Object;
            checkcast java.lang.Number
        12: .line 143
            invokevirtual java.lang.Number.doubleValue:()D
        13: .line 142
            invokevirtual com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.recalculateStartValue:(D)V
        14: .line 145
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.rightInterpolator:Ljavafx/animation/Interpolator;
            instanceof com.sun.scenario.animation.NumberTangentInterpolator
            ifeq 15
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.rightInterpolator:Ljavafx/animation/Interpolator;
            checkcast com.sun.scenario.animation.NumberTangentInterpolator
            goto 16
        15: .line 146
      StackMap locals:
      StackMap stack:
            aconst_null
        16: .line 145
      StackMap locals:
      StackMap stack: com.sun.scenario.animation.NumberTangentInterpolator
            astore 8 /* interpolator */
        start local 8 // com.sun.scenario.animation.NumberTangentInterpolator interpolator
        17: .line 147
            aload 0 /* this */
            aload 1 /* rightKeyValue */
            invokevirtual javafx.animation.KeyValue.getEndValue:()Ljava/lang/Object;
            checkcast java.lang.Number
            invokevirtual java.lang.Number.doubleValue:()D
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p3:D
        18: .line 148
            aload 8 /* interpolator */
            ifnonnull 19
            dconst_0
            goto 24
      StackMap locals: com.sun.scenario.animation.NumberTangentInterpolator
      StackMap stack:
        19: aload 8 /* interpolator */
        20: .line 149
            invokevirtual com.sun.scenario.animation.NumberTangentInterpolator.getInValue:()D
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p3:D
            dsub
        21: .line 150
            lload 5 /* duration */
            l2d
            dmul
        22: .line 151
            aload 8 /* interpolator */
            invokevirtual com.sun.scenario.animation.NumberTangentInterpolator.getInTicks:()D
            ddiv
        23: .line 152
            ldc 3.0
            ddiv
        24: .line 148
      StackMap locals:
      StackMap stack: double
            dstore 9 /* p2Delta */
        start local 9 // double p2Delta
        25: .line 153
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p3:D
            dload 9 /* p2Delta */
            dadd
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p2:D
        26: .line 154
            return
        end local 9 // double p2Delta
        end local 8 // com.sun.scenario.animation.NumberTangentInterpolator interpolator
        end local 7 // javafx.animation.Interpolator rawLeftInterpolator
        end local 5 // long duration
        end local 4 // javafx.animation.KeyValue leftKeyValue
        end local 2 // long ticks
        end local 1 // javafx.animation.KeyValue rightKeyValue
        end local 0 // com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   27     0                 this  Lcom/sun/scenario/animation/shared/InterpolationInterval$TangentInterpolationInterval;
            0   27     1        rightKeyValue  Ljavafx/animation/KeyValue;
            0   27     2                ticks  J
            0   27     4         leftKeyValue  Ljavafx/animation/KeyValue;
            0   27     5             duration  J
            8   27     7  rawLeftInterpolator  Ljavafx/animation/Interpolator;
           17   27     8         interpolator  Lcom/sun/scenario/animation/NumberTangentInterpolator;
           25   27     9              p2Delta  D
    MethodParameters:
               Name  Flags
      rightKeyValue  
      ticks          
      leftKeyValue   
      duration       

  private void <init>(javafx.animation.KeyValue, long);
    descriptor: (Ljavafx/animation/KeyValue;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval this
        start local 1 // javafx.animation.KeyValue rightKeyValue
        start local 2 // long ticks
         0: .line 158
            aload 0 /* this */
            lload 2 /* ticks */
            aload 1 /* rightKeyValue */
            invokevirtual javafx.animation.KeyValue.getInterpolator:()Ljavafx/animation/Interpolator;
            invokespecial com.sun.scenario.animation.shared.InterpolationInterval.<init>:(JLjavafx/animation/Interpolator;)V
         1: .line 159
            getstatic com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.$assertionsDisabled:Z
            ifne 2
            aload 1 /* rightKeyValue */
            invokevirtual javafx.animation.KeyValue.getEndValue:()Ljava/lang/Object;
            instanceof java.lang.Number
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 161
      StackMap locals: com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval javafx.animation.KeyValue long
      StackMap stack:
            aload 0 /* this */
            lload 2 /* ticks */
            l2d
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.duration:D
         3: .line 162
            aload 0 /* this */
            aconst_null
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.leftInterpolator:Lcom/sun/scenario/animation/NumberTangentInterpolator;
         4: .line 164
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.rightInterpolator:Ljavafx/animation/Interpolator;
            instanceof com.sun.scenario.animation.NumberTangentInterpolator
            ifeq 5
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.rightInterpolator:Ljavafx/animation/Interpolator;
            checkcast com.sun.scenario.animation.NumberTangentInterpolator
            goto 6
         5: .line 165
      StackMap locals:
      StackMap stack:
            aconst_null
         6: .line 164
      StackMap locals:
      StackMap stack: com.sun.scenario.animation.NumberTangentInterpolator
            astore 4 /* interpolator */
        start local 4 // com.sun.scenario.animation.NumberTangentInterpolator interpolator
         7: .line 166
            aload 0 /* this */
            aload 1 /* rightKeyValue */
            invokevirtual javafx.animation.KeyValue.getEndValue:()Ljava/lang/Object;
            checkcast java.lang.Number
            invokevirtual java.lang.Number.doubleValue:()D
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p3:D
         8: .line 167
            aload 4 /* interpolator */
            ifnonnull 9
            dconst_0
            goto 14
      StackMap locals: com.sun.scenario.animation.NumberTangentInterpolator
      StackMap stack:
         9: aload 4 /* interpolator */
        10: .line 168
            invokevirtual com.sun.scenario.animation.NumberTangentInterpolator.getInValue:()D
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p3:D
            dsub
        11: .line 169
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.duration:D
            dmul
        12: .line 170
            aload 4 /* interpolator */
            invokevirtual com.sun.scenario.animation.NumberTangentInterpolator.getInTicks:()D
            ddiv
        13: .line 171
            ldc 3.0
            ddiv
        14: .line 167
      StackMap locals:
      StackMap stack: double
            dstore 5 /* p2Delta */
        start local 5 // double p2Delta
        15: .line 172
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p3:D
            dload 5 /* p2Delta */
            dadd
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p2:D
        16: .line 173
            return
        end local 5 // double p2Delta
        end local 4 // com.sun.scenario.animation.NumberTangentInterpolator interpolator
        end local 2 // long ticks
        end local 1 // javafx.animation.KeyValue rightKeyValue
        end local 0 // com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lcom/sun/scenario/animation/shared/InterpolationInterval$TangentInterpolationInterval;
            0   17     1  rightKeyValue  Ljavafx/animation/KeyValue;
            0   17     2          ticks  J
            7   17     4   interpolator  Lcom/sun/scenario/animation/NumberTangentInterpolator;
           15   17     5        p2Delta  D
    MethodParameters:
               Name  Flags
      rightKeyValue  
      ticks          

  protected double calculate(double);
    descriptor: (D)D
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval this
        start local 1 // double t
         0: .line 176
            dconst_1
            dload 1 /* t */
            dsub
            dstore 3 /* oneMinusT */
        start local 3 // double oneMinusT
         1: .line 177
            dload 1 /* t */
            dload 1 /* t */
            dmul
            dstore 5 /* tSquared */
        start local 5 // double tSquared
         2: .line 178
            dload 3 /* oneMinusT */
            dload 3 /* oneMinusT */
            dmul
            dstore 7 /* oneMinusTSquared */
        start local 7 // double oneMinusTSquared
         3: .line 180
            dload 7 /* oneMinusTSquared */
            dload 3 /* oneMinusT */
            dmul
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p0:D
            dmul
            ldc 3.0
            dload 7 /* oneMinusTSquared */
            dmul
            dload 1 /* t */
            dmul
         4: .line 181
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p1:D
            dmul
         5: .line 180
            dadd
         6: .line 181
            ldc 3.0
            dload 3 /* oneMinusT */
            dmul
            dload 5 /* tSquared */
            dmul
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p2:D
            dmul
         7: .line 180
            dadd
         8: .line 181
            dload 5 /* tSquared */
            dload 1 /* t */
            dmul
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p3:D
            dmul
         9: .line 180
            dadd
            dreturn
        end local 7 // double oneMinusTSquared
        end local 5 // double tSquared
        end local 3 // double oneMinusT
        end local 1 // double t
        end local 0 // com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lcom/sun/scenario/animation/shared/InterpolationInterval$TangentInterpolationInterval;
            0   10     1                 t  D
            1   10     3         oneMinusT  D
            2   10     5          tSquared  D
            3   10     7  oneMinusTSquared  D
    MethodParameters:
      Name  Flags
      t     

  protected final void recalculateStartValue(double);
    descriptor: (D)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval this
        start local 1 // double leftValue
         0: .line 185
            aload 0 /* this */
            dload 1 /* leftValue */
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p0:D
         1: .line 186
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.leftInterpolator:Lcom/sun/scenario/animation/NumberTangentInterpolator;
            ifnonnull 2
            dconst_0
            goto 7
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.leftInterpolator:Lcom/sun/scenario/animation/NumberTangentInterpolator;
            invokevirtual com.sun.scenario.animation.NumberTangentInterpolator.getOutValue:()D
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p0:D
            dsub
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.duration:D
            dmul
         3: .line 188
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.leftInterpolator:Lcom/sun/scenario/animation/NumberTangentInterpolator;
            invokevirtual com.sun.scenario.animation.NumberTangentInterpolator.getOutTicks:()D
         4: .line 187
            ddiv
         5: .line 188
            ldc 3.0
         6: .line 187
            ddiv
         7: .line 186
      StackMap locals:
      StackMap stack: double
            dstore 3 /* p1Delta */
        start local 3 // double p1Delta
         8: .line 189
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p0:D
            dload 3 /* p1Delta */
            dadd
            putfield com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval.p1:D
         9: .line 190
            return
        end local 3 // double p1Delta
        end local 1 // double leftValue
        end local 0 // com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/sun/scenario/animation/shared/InterpolationInterval$TangentInterpolationInterval;
            0   10     1  leftValue  D
            8   10     3    p1Delta  D
    MethodParameters:
           Name  Flags
      leftValue  
}
SourceFile: "InterpolationInterval.java"
NestHost: com.sun.scenario.animation.shared.InterpolationInterval
InnerClasses:
  private abstract TangentInterpolationInterval = com.sun.scenario.animation.shared.InterpolationInterval$TangentInterpolationInterval of com.sun.scenario.animation.shared.InterpolationInterval