public abstract class org.apache.batik.anim.InterpolatingAnimation extends org.apache.batik.anim.AbstractAnimation
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.batik.anim.InterpolatingAnimation
  super_class: org.apache.batik.anim.AbstractAnimation
{
  protected int calcMode;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected float[] keyTimes;
    descriptor: [F
    flags: (0x0004) ACC_PROTECTED

  protected float[] keySplines;
    descriptor: [F
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.batik.ext.awt.geom.Cubic[] keySplineCubics;
    descriptor: [Lorg/apache/batik/ext/awt/geom/Cubic;
    flags: (0x0004) ACC_PROTECTED

  protected boolean additive;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean cumulative;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  public void <init>(org.apache.batik.anim.timing.TimedElement, org.apache.batik.anim.dom.AnimatableElement, int, float[], float[], boolean, boolean);
    descriptor: (Lorg/apache/batik/anim/timing/TimedElement;Lorg/apache/batik/anim/dom/AnimatableElement;I[F[FZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=20, locals=10, args_size=8
        start local 0 // org.apache.batik.anim.InterpolatingAnimation this
        start local 1 // org.apache.batik.anim.timing.TimedElement timedElement
        start local 2 // org.apache.batik.anim.dom.AnimatableElement animatableElement
        start local 3 // int calcMode
        start local 4 // float[] keyTimes
        start local 5 // float[] keySplines
        start local 6 // boolean additive
        start local 7 // boolean cumulative
         0: .line 78
            aload 0 /* this */
            aload 1 /* timedElement */
            aload 2 /* animatableElement */
            invokespecial org.apache.batik.anim.AbstractAnimation.<init>:(Lorg/apache/batik/anim/timing/TimedElement;Lorg/apache/batik/anim/dom/AnimatableElement;)V
         1: .line 79
            aload 0 /* this */
            iload 3 /* calcMode */
            putfield org.apache.batik.anim.InterpolatingAnimation.calcMode:I
         2: .line 80
            aload 0 /* this */
            aload 4 /* keyTimes */
            putfield org.apache.batik.anim.InterpolatingAnimation.keyTimes:[F
         3: .line 81
            aload 0 /* this */
            aload 5 /* keySplines */
            putfield org.apache.batik.anim.InterpolatingAnimation.keySplines:[F
         4: .line 82
            aload 0 /* this */
            iload 6 /* additive */
            putfield org.apache.batik.anim.InterpolatingAnimation.additive:Z
         5: .line 83
            aload 0 /* this */
            iload 7 /* cumulative */
            putfield org.apache.batik.anim.InterpolatingAnimation.cumulative:Z
         6: .line 85
            iload 3 /* calcMode */
            iconst_3
            if_icmpne 25
         7: .line 86
            aload 5 /* keySplines */
            ifnull 8
            aload 5 /* keySplines */
            arraylength
            iconst_4
            irem
            ifeq 13
         8: .line 87
      StackMap locals: org.apache.batik.anim.InterpolatingAnimation org.apache.batik.anim.timing.TimedElement org.apache.batik.anim.dom.AnimatableElement int float[] float[] int int
      StackMap stack:
            aload 1 /* timedElement */
         9: .line 88
            ldc "attribute.malformed"
        10: .line 89
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_1
        11: .line 90
            ldc "keySplines"
            aastore
        12: .line 87
            invokevirtual org.apache.batik.anim.timing.TimedElement.createException:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/batik/anim/AnimationException;
            athrow
        13: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* keySplines */
            arraylength
            iconst_4
            idiv
            anewarray org.apache.batik.ext.awt.geom.Cubic
            putfield org.apache.batik.anim.InterpolatingAnimation.keySplineCubics:[Lorg/apache/batik/ext/awt/geom/Cubic;
        14: .line 93
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        15: goto 24
        16: .line 94
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.anim.InterpolatingAnimation.keySplineCubics:[Lorg/apache/batik/ext/awt/geom/Cubic;
            iload 8 /* i */
            new org.apache.batik.ext.awt.geom.Cubic
            dup
            dconst_0
            dconst_0
        17: .line 95
            aload 5 /* keySplines */
            iload 8 /* i */
            iconst_4
            imul
            faload
            f2d
        18: .line 96
            aload 5 /* keySplines */
            iload 8 /* i */
            iconst_4
            imul
            iconst_1
            iadd
            faload
            f2d
        19: .line 97
            aload 5 /* keySplines */
            iload 8 /* i */
            iconst_4
            imul
            iconst_2
            iadd
            faload
            f2d
        20: .line 98
            aload 5 /* keySplines */
            iload 8 /* i */
            iconst_4
            imul
            iconst_3
            iadd
            faload
            f2d
        21: .line 99
            dconst_1
            dconst_1
            invokespecial org.apache.batik.ext.awt.geom.Cubic.<init>:(DDDDDDDD)V
        22: .line 94
            aastore
        23: .line 93
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 8 /* i */
            aload 5 /* keySplines */
            arraylength
            iconst_4
            idiv
            if_icmplt 16
        end local 8 // int i
        25: .line 103
      StackMap locals:
      StackMap stack:
            aload 4 /* keyTimes */
            ifnull 50
        26: .line 104
            iconst_0
            istore 8 /* invalidKeyTimes */
        start local 8 // boolean invalidKeyTimes
        27: .line 105
            iload 3 /* calcMode */
            iconst_1
            if_icmpeq 29
            iload 3 /* calcMode */
            iconst_3
            if_icmpeq 29
        28: .line 106
            iload 3 /* calcMode */
            iconst_2
            if_icmpne 32
        29: .line 107
      StackMap locals: int
      StackMap stack:
            aload 4 /* keyTimes */
            arraylength
            iconst_2
            if_icmplt 34
        30: .line 108
            aload 4 /* keyTimes */
            iconst_0
            faload
            fconst_0
            fcmpl
            ifne 34
        31: .line 109
            aload 4 /* keyTimes */
            aload 4 /* keyTimes */
            arraylength
            iconst_1
            isub
            faload
            fconst_1
            fcmpl
            ifne 34
        32: .line 110
      StackMap locals:
      StackMap stack:
            iload 3 /* calcMode */
            ifne 35
        33: .line 111
            aload 4 /* keyTimes */
            arraylength
            ifeq 34
            aload 4 /* keyTimes */
            iconst_0
            faload
            fconst_0
            fcmpl
            ifeq 35
        34: .line 112
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* invalidKeyTimes */
        35: .line 114
      StackMap locals:
      StackMap stack:
            iload 8 /* invalidKeyTimes */
            ifne 44
        36: .line 115
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        37: goto 43
        38: .line 116
      StackMap locals: int
      StackMap stack:
            aload 4 /* keyTimes */
            iload 9 /* i */
            faload
            fconst_0
            fcmpg
            iflt 40
            aload 4 /* keyTimes */
            iconst_1
            faload
            fconst_1
            fcmpl
            ifgt 40
        39: .line 117
            aload 4 /* keyTimes */
            iload 9 /* i */
            faload
            aload 4 /* keyTimes */
            iload 9 /* i */
            iconst_1
            isub
            faload
            fcmpg
            ifge 42
        40: .line 118
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* invalidKeyTimes */
        41: .line 119
            goto 44
        42: .line 115
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 9 /* i */
            aload 4 /* keyTimes */
            arraylength
            if_icmplt 38
        end local 9 // int i
        44: .line 123
      StackMap locals:
      StackMap stack:
            iload 8 /* invalidKeyTimes */
            ifeq 50
        45: .line 124
            aload 1 /* timedElement */
        46: .line 125
            ldc "attribute.malformed"
        47: .line 126
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_1
        48: .line 127
            ldc "keyTimes"
            aastore
        49: .line 124
            invokevirtual org.apache.batik.anim.timing.TimedElement.createException:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/batik/anim/AnimationException;
            athrow
        end local 8 // boolean invalidKeyTimes
        50: .line 130
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean cumulative
        end local 6 // boolean additive
        end local 5 // float[] keySplines
        end local 4 // float[] keyTimes
        end local 3 // int calcMode
        end local 2 // org.apache.batik.anim.dom.AnimatableElement animatableElement
        end local 1 // org.apache.batik.anim.timing.TimedElement timedElement
        end local 0 // org.apache.batik.anim.InterpolatingAnimation this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   51     0               this  Lorg/apache/batik/anim/InterpolatingAnimation;
            0   51     1       timedElement  Lorg/apache/batik/anim/timing/TimedElement;
            0   51     2  animatableElement  Lorg/apache/batik/anim/dom/AnimatableElement;
            0   51     3           calcMode  I
            0   51     4           keyTimes  [F
            0   51     5         keySplines  [F
            0   51     6           additive  Z
            0   51     7         cumulative  Z
           15   25     8                  i  I
           27   50     8    invalidKeyTimes  Z
           37   44     9                  i  I
    MethodParameters:
                   Name  Flags
      timedElement       
      animatableElement  
      calcMode           
      keyTimes           
      keySplines         
      additive           
      cumulative         

  protected boolean willReplace();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.InterpolatingAnimation this
         0: .line 137
            aload 0 /* this */
            getfield org.apache.batik.anim.InterpolatingAnimation.additive:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.apache.batik.anim.InterpolatingAnimation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/anim/InterpolatingAnimation;

  protected void sampledLastValue(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.batik.anim.InterpolatingAnimation this
        start local 1 // int repeatIteration
         0: .line 144
            aload 0 /* this */
            fconst_1
            iload 1 /* repeatIteration */
            invokevirtual org.apache.batik.anim.InterpolatingAnimation.sampledAtUnitTime:(FI)V
         1: .line 145
            return
        end local 1 // int repeatIteration
        end local 0 // org.apache.batik.anim.InterpolatingAnimation this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/apache/batik/anim/InterpolatingAnimation;
            0    2     1  repeatIteration  I
    MethodParameters:
                 Name  Flags
      repeatIteration  

  protected void sampledAt(float, float, int);
    descriptor: (FFI)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.apache.batik.anim.InterpolatingAnimation this
        start local 1 // float simpleTime
        start local 2 // float simpleDur
        start local 3 // int repeatIteration
         0: .line 153
            fload 2 /* simpleDur */
            ldc Infinity
            fcmpl
            ifne 3
         1: .line 154
            fconst_0
            fstore 4 /* unitTime */
        start local 4 // float unitTime
         2: .line 155
            goto 4
        end local 4 // float unitTime
         3: .line 156
      StackMap locals:
      StackMap stack:
            fload 1 /* simpleTime */
            fload 2 /* simpleDur */
            fdiv
            fstore 4 /* unitTime */
        start local 4 // float unitTime
         4: .line 158
      StackMap locals: float
      StackMap stack:
            aload 0 /* this */
            fload 4 /* unitTime */
            iload 3 /* repeatIteration */
            invokevirtual org.apache.batik.anim.InterpolatingAnimation.sampledAtUnitTime:(FI)V
         5: .line 159
            return
        end local 4 // float unitTime
        end local 3 // int repeatIteration
        end local 2 // float simpleDur
        end local 1 // float simpleTime
        end local 0 // org.apache.batik.anim.InterpolatingAnimation this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/apache/batik/anim/InterpolatingAnimation;
            0    6     1       simpleTime  F
            0    6     2        simpleDur  F
            0    6     3  repeatIteration  I
            2    3     4         unitTime  F
            4    6     4         unitTime  F
    MethodParameters:
                 Name  Flags
      simpleTime       
      simpleDur        
      repeatIteration  

  protected abstract void sampledAtUnitTime(float, int);
    descriptor: (FI)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      unitTime         
      repeatIteration  
}
SourceFile: "InterpolatingAnimation.java"