public class android.util.Spline$LinearSpline extends android.util.Spline
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.util.Spline$LinearSpline
super_class: android.util.Spline
{
private final float[] mX;
descriptor: [F
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final float[] mY;
descriptor: [F
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final float[] mM;
descriptor: [F
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(float[], float[]);
descriptor: ([F[F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial android.util.Spline.<init>:()V
1: aload 1
ifnull 2
aload 2
ifnull 2
aload 1
arraylength
aload 2
arraylength
if_icmpne 2
aload 1
arraylength
iconst_2
if_icmpge 3
2: StackMap locals: android.util.Spline$LinearSpline float[] float[]
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "There must be at least two control points and the arrays must be of equal length."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
arraylength
istore 3
start local 3 4: aload 0
iload 3
iconst_1
isub
newarray 6
putfield android.util.Spline$LinearSpline.mM:[F
5: iconst_0
istore 4
start local 4 6: goto 9
7: StackMap locals: int int
StackMap stack:
aload 0
getfield android.util.Spline$LinearSpline.mM:[F
iload 4
aload 2
iload 4
iconst_1
iadd
faload
aload 2
iload 4
faload
fsub
aload 1
iload 4
iconst_1
iadd
faload
aload 1
iload 4
faload
fsub
fdiv
fastore
8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 3
iconst_1
isub
if_icmplt 7
end local 4 10: aload 0
aload 1
putfield android.util.Spline$LinearSpline.mX:[F
11: aload 0
aload 2
putfield android.util.Spline$LinearSpline.mY:[F
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/util/Spline$LinearSpline;
0 13 1 x [F
0 13 2 y [F
4 13 3 N I
6 10 4 i I
MethodParameters:
Name Flags
x
y
public float interpolate(float);
descriptor: (F)F
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.util.Spline$LinearSpline.mX:[F
arraylength
istore 2
start local 2 1: fload 1
invokestatic java.lang.Float.isNaN:(F)Z
ifeq 3
2: fload 1
freturn
3: StackMap locals: int
StackMap stack:
fload 1
aload 0
getfield android.util.Spline$LinearSpline.mX:[F
iconst_0
faload
fcmpg
ifgt 5
4: aload 0
getfield android.util.Spline$LinearSpline.mY:[F
iconst_0
faload
freturn
5: StackMap locals:
StackMap stack:
fload 1
aload 0
getfield android.util.Spline$LinearSpline.mX:[F
iload 2
iconst_1
isub
faload
fcmpl
iflt 7
6: aload 0
getfield android.util.Spline$LinearSpline.mY:[F
iload 2
iconst_1
isub
faload
freturn
7: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 8: goto 12
9: StackMap locals: int
StackMap stack:
iinc 3 1
10: fload 1
aload 0
getfield android.util.Spline$LinearSpline.mX:[F
iload 3
faload
fcmpl
ifne 12
11: aload 0
getfield android.util.Spline$LinearSpline.mY:[F
iload 3
faload
freturn
12: StackMap locals:
StackMap stack:
fload 1
aload 0
getfield android.util.Spline$LinearSpline.mX:[F
iload 3
iconst_1
iadd
faload
fcmpl
ifge 9
13: aload 0
getfield android.util.Spline$LinearSpline.mY:[F
iload 3
faload
aload 0
getfield android.util.Spline$LinearSpline.mM:[F
iload 3
faload
fload 1
aload 0
getfield android.util.Spline$LinearSpline.mX:[F
iload 3
faload
fsub
fmul
fadd
freturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/util/Spline$LinearSpline;
0 14 1 x F
1 14 2 n I
8 14 3 i I
MethodParameters:
Name Flags
x
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield android.util.Spline$LinearSpline.mX:[F
arraylength
istore 2
start local 2 2: aload 1
ldc "LinearSpline{["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: iconst_0
istore 3
start local 3 4: goto 13
5: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
iload 3
ifeq 7
6: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals:
StackMap stack:
aload 1
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.util.Spline$LinearSpline.mX:[F
iload 3
faload
invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
pop
8: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.util.Spline$LinearSpline.mY:[F
iload 3
faload
invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
pop
9: iload 3
iload 2
iconst_1
isub
if_icmpge 11
10: aload 1
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.util.Spline$LinearSpline.mM:[F
iload 3
faload
invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 1
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
iload 2
if_icmplt 5
end local 3 14: aload 1
ldc "]}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/util/Spline$LinearSpline;
1 16 1 str Ljava/lang/StringBuilder;
2 16 2 n I
4 14 3 i I
}
SourceFile: "Spline.java"
NestHost: android.util.Spline
InnerClasses:
public LinearSpline = android.util.Spline$LinearSpline of android.util.Spline