public class com.sun.scenario.animation.SplineInterpolator extends javafx.animation.Interpolator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.scenario.animation.SplineInterpolator
super_class: javafx.animation.Interpolator
{
private final double x1;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double y1;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double x2;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double y2;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isCurveLinear;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int SAMPLE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final double SAMPLE_INCREMENT;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0625
private final double[] xSamples;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=10, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: aload 0
invokespecial javafx.animation.Interpolator.<init>:()V
1: aload 0
bipush 17
newarray 7
putfield com.sun.scenario.animation.SplineInterpolator.xSamples:[D
2: dload 1
dconst_0
dcmpg
iflt 4
dload 1
dconst_1
dcmpl
ifgt 4
dload 3
dconst_0
dcmpg
iflt 4
dload 3
dconst_1
dcmpl
ifgt 4
dload 5
dconst_0
dcmpg
iflt 4
dload 5
dconst_1
dcmpl
ifgt 4
3: dload 7
dconst_0
dcmpg
iflt 4
dload 7
dconst_1
dcmpl
ifle 7
4: StackMap locals: com.sun.scenario.animation.SplineInterpolator double double double double
StackMap stack:
new java.lang.IllegalArgumentException
dup
5: ldc "Control point coordinates must all be in range [0,1]"
6: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
dload 1
putfield com.sun.scenario.animation.SplineInterpolator.x1:D
8: aload 0
dload 3
putfield com.sun.scenario.animation.SplineInterpolator.y1:D
9: aload 0
dload 5
putfield com.sun.scenario.animation.SplineInterpolator.x2:D
10: aload 0
dload 7
putfield com.sun.scenario.animation.SplineInterpolator.y2:D
11: aload 0
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y1:D
dcmpl
ifne 12
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y2:D
dcmpl
ifne 12
iconst_1
goto 13
StackMap locals:
StackMap stack: com.sun.scenario.animation.SplineInterpolator
12: iconst_0
StackMap locals: com.sun.scenario.animation.SplineInterpolator double double double double
StackMap stack: com.sun.scenario.animation.SplineInterpolator int
13: putfield com.sun.scenario.animation.SplineInterpolator.isCurveLinear:Z
14: aload 0
getfield com.sun.scenario.animation.SplineInterpolator.isCurveLinear:Z
ifne 20
15: iconst_0
istore 9
start local 9 16: goto 19
17: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.xSamples:[D
iload 9
aload 0
iload 9
i2d
ldc 0.0625
dmul
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
invokevirtual com.sun.scenario.animation.SplineInterpolator.eval:(DDD)D
dastore
18: iinc 9 1
StackMap locals:
StackMap stack:
19: iload 9
bipush 17
if_icmplt 17
end local 9 20: StackMap locals:
StackMap stack:
return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/scenario/animation/SplineInterpolator;
0 21 1 px1 D
0 21 3 py1 D
0 21 5 px2 D
0 21 7 py2 D
16 20 9 i I
MethodParameters:
Name Flags
px1
py1
px2
py2
public double getX1();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/SplineInterpolator;
public double getY1();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y1:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/SplineInterpolator;
public double getX2();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/SplineInterpolator;
public double getY2();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y2:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/animation/SplineInterpolator;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 7
istore 1
start local 1 1: bipush 19
iload 1
imul
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
bipush 32
lushr
lxor
l2i
iadd
istore 1
2: bipush 19
iload 1
imul
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y1:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y1:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
bipush 32
lushr
lxor
l2i
iadd
istore 1
3: bipush 19
iload 1
imul
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
bipush 32
lushr
lxor
l2i
iadd
istore 1
4: bipush 19
iload 1
imul
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y2:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y2:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
bipush 32
lushr
lxor
l2i
iadd
istore 1
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/scenario/animation/SplineInterpolator;
1 6 1 hash I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.scenario.animation.SplineInterpolator
astore 2
start local 2 5: aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 2
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
lcmp
ifeq 7
6: iconst_0
ireturn
7: StackMap locals: com.sun.scenario.animation.SplineInterpolator
StackMap stack:
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y1:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 2
getfield com.sun.scenario.animation.SplineInterpolator.y1:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
lcmp
ifeq 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 2
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
lcmp
ifeq 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y2:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 2
getfield com.sun.scenario.animation.SplineInterpolator.y2:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
lcmp
ifeq 13
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/scenario/animation/SplineInterpolator;
0 14 1 obj Ljava/lang/Object;
5 14 2 other Lcom/sun/scenario/animation/SplineInterpolator;
MethodParameters:
Name Flags
obj
public double curve(double);
descriptor: (D)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: dload 1
dconst_0
dcmpg
iflt 1
dload 1
dconst_1
dcmpl
ifle 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "x must be in range [0,1]"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.isCurveLinear:Z
ifne 3
dload 1
dconst_0
dcmpl
ifeq 3
dload 1
dconst_1
dcmpl
ifne 4
3: StackMap locals:
StackMap stack:
dload 1
dreturn
4: StackMap locals:
StackMap stack:
aload 0
aload 0
dload 1
invokevirtual com.sun.scenario.animation.SplineInterpolator.findTForX:(D)D
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y1:D
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y2:D
invokevirtual com.sun.scenario.animation.SplineInterpolator.eval:(DDD)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/scenario/animation/SplineInterpolator;
0 5 1 x D
MethodParameters:
Name Flags
x
private double eval(double, double, double);
descriptor: (DDD)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=9, args_size=4
start local 0 start local 1 start local 3 start local 5 0: dconst_1
dload 1
dsub
dstore 7
start local 7 1: dload 1
ldc 3.0
dload 7
dmul
dload 7
dload 3
dmul
dload 1
dload 5
dmul
dadd
dmul
dload 1
dload 1
dmul
dadd
dmul
dreturn
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/scenario/animation/SplineInterpolator;
0 2 1 t D
0 2 3 p1 D
0 2 5 p2 D
1 2 7 compT D
MethodParameters:
Name Flags
t
p1
p2
private double evalDerivative(double, double, double);
descriptor: (DDD)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=9, args_size=4
start local 0 start local 1 start local 3 start local 5 0: dconst_1
dload 1
dsub
dstore 7
start local 7 1: ldc 3.0
dload 7
dload 7
dload 3
dmul
ldc 2.0
dload 1
dmul
dload 5
dload 3
dsub
dmul
dadd
dmul
dload 1
dload 1
dmul
dconst_1
dload 5
dsub
dmul
dadd
dmul
dreturn
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/scenario/animation/SplineInterpolator;
0 2 1 t D
0 2 3 p1 D
0 2 5 p2 D
1 2 7 compT D
MethodParameters:
Name Flags
t
p1
p2
private double getInitialGuessForT(double);
descriptor: (D)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: iconst_1
istore 3
start local 3 1: goto 10
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.xSamples:[D
iload 3
daload
dload 1
dcmpl
iflt 9
3: aload 0
getfield com.sun.scenario.animation.SplineInterpolator.xSamples:[D
iload 3
daload
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.xSamples:[D
iload 3
iconst_1
isub
daload
dsub
dstore 4
start local 4 4: dload 4
dconst_0
dcmpl
ifne 6
5: iload 3
iconst_1
isub
i2d
ldc 0.0625
dmul
dreturn
6: StackMap locals: double
StackMap stack:
iload 3
iconst_1
isub
i2d
dload 1
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.xSamples:[D
iload 3
iconst_1
isub
daload
dsub
dload 4
ddiv
dadd
7: ldc 0.0625
8: dmul
dreturn
end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
bipush 17
if_icmplt 2
end local 3 11: dconst_1
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/scenario/animation/SplineInterpolator;
0 12 1 x D
1 11 3 i I
4 9 4 xRange D
MethodParameters:
Name Flags
x
private double findTForX(double);
descriptor: (D)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: aload 0
dload 1
invokevirtual com.sun.scenario.animation.SplineInterpolator.getInitialGuessForT:(D)D
dstore 3
start local 3 1: iconst_0
istore 5
start local 5 2: goto 11
3: StackMap locals: double int
StackMap stack:
aload 0
dload 3
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
invokevirtual com.sun.scenario.animation.SplineInterpolator.eval:(DDD)D
dload 1
dsub
dstore 6
start local 6 4: dload 6
dconst_0
dcmpl
ifne 6
5: goto 12
6: StackMap locals: double
StackMap stack:
aload 0
dload 3
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
invokevirtual com.sun.scenario.animation.SplineInterpolator.evalDerivative:(DDD)D
dstore 8
start local 8 7: dload 8
dconst_0
dcmpl
ifne 9
8: goto 12
9: StackMap locals: double
StackMap stack:
dload 3
dload 6
dload 8
ddiv
dsub
dstore 3
end local 8 end local 6 10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iconst_4
if_icmplt 3
end local 5 12: StackMap locals:
StackMap stack:
dload 3
dreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/scenario/animation/SplineInterpolator;
0 13 1 x D
1 13 3 t D
2 12 5 i I
4 10 6 xT D
7 10 8 dXdT D
MethodParameters:
Name Flags
x
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "SplineInterpolator [x1="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x1:D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
ldc ", y1="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y1:D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
ldc ", x2="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.x2:D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
1: ldc ", y2="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.scenario.animation.SplineInterpolator.y2:D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/scenario/animation/SplineInterpolator;
}
SourceFile: "SplineInterpolator.java"