java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
factorℝ2.evaluate(Ljava/lang/Object;IILjava/lang/Object;)Ljava/lang/Object; @27: invokevirtual
Reason:
Type 'arb/RealPolynomial' (current frame, stack[1]) is not assignable to 'arb/Real'
Current Frame:
bci: @27
flags: { }
locals: { 'factorℝ2', 'java/lang/Object', integer, integer, 'java/lang/Object' }
stack: { 'arb/Real', 'arb/RealPolynomial' }
Bytecode:
0000000: 2ab4 000e 9a00 072a b600 122a b400 162b
0000010: c000 18b6 001e 1904 c000 20b6 0024 1d19
0000020: 04c0 001a b600 28b0
Stackmap Table:
same_frame(@11)
at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3549)
at java.base/java.lang.Class.getConstructor0(Class.java:3754)
at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2930)
at arb4j@0.89/arb.expressions.Expression.constructNewInstance(Expression.java:578)
at arb4j@0.89/arb.expressions.Expression.instantiate(Expression.java:1267)
at arb4j@0.89/arb.expressions.nodes.nary.NAryOperation.registerFactorSubexpressionInstance(NAryOperation.java:674)
at arb4j@0.89/arb.expressions.nodes.nary.NAryOperation.generateFactorClass(NAryOperation.java:362)
at arb4j@0.89/arb.expressions.nodes.nary.NAryOperation.generate(NAryOperation.java:303)
at arb4j@0.89/arb.expressions.nodes.binary.BinaryOperation.generate(BinaryOperation.java:148)
at arb4j@0.89/arb.expressions.nodes.binary.BinaryOperation.generate(BinaryOperation.java:146)
at arb4j@0.89/arb.expressions.Expression.generateEvaluationMethod(Expression.java:1030)
at arb4j@0.89/arb.expressions.Expression.compile(Expression.java:532)
at arb4j@0.89/arb.expressions.Compiler.express(Compiler.java:143)
at arb4j@0.89/arb.expressions.nodes.nary.NAryOperation.generateFactorClass(NAryOperation.java:353)
at arb4j@0.89/arb.expressions.nodes.nary.NAryOperation.generate(NAryOperation.java:303)
at arb4j@0.89/arb.expressions.Expression.generateEvaluationMethod(Expression.java:1030)
at arb4j@0.89/arb.expressions.Expression.compile(Expression.java:532)
at arb4j@0.89/arb.expressions.Compiler.express(Compiler.java:143)
at arb4j@0.89/arb.expressions.Compiler.express(Compiler.java:157)
at arb4j@0.89/arb.expressions.Compiler.express(Compiler.java:109)
at arb4j@0.89/arb.expressions.Expression.compile(Expression.java:218)
at arb4j@0.89/arb.expressions.Expression.instantiate(Expression.java:165)
at arb4j@0.89/arb.functions.real.RealPolynomialNullaryFunction.express(RealPolynomialNullaryFunction.java:20)
at arb4j@0.89/arb.functions.polynomials.HypergeometricPolynomial.<init>(HypergeometricPolynomial.java:53)
at arb4j@0.89/arb.functions.polynomials.HypergeometricPolynomialTest.testSum(HypergeometricPolynomialTest.java:73)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at junit@4.13.2/junit.framework.TestCase.runTest(TestCase.java:177)
at junit@4.13.2/junit.framework.TestCase.runBare(TestCase.java:142)
at junit@4.13.2/junit.framework.TestResult$1.protect(TestResult.java:122)
at junit@4.13.2/junit.framework.TestResult.runProtected(TestResult.java:142)
at junit@4.13.2/junit.framework.TestResult.run(TestResult.java:125)
at junit@4.13.2/junit.framework.TestCase.run(TestCase.java:130)
at junit@4.13.2/junit.framework.TestSuite.runTest(TestSuite.java:241)
at junit@4.13.2/junit.framework.TestSuite.run(TestSuite.java:236)
at junit@4.13.2/org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:90)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:93)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
public arb.Real evaluate(arb.Integer, int, int, arb.Real);
descriptor: (Ljava/lang/Object;IILjava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
0: aload_0
1: getfield #14 // Field isInitialized:Z
4: ifne 11
7: aload_0
8: invokevirtual #18 // Method initialize:()V
11: aload_0
12: getfield #22 // Field α:Larb/Real;
15: aload_1
16: checkcast #24 // class arb/Integer
19: invokevirtual #30 // Method arb/Real.get:(Larb/Integer;)Larb/Real;
22: aload 4
24: checkcast #32 // class arb/RealPolynomial
27: invokevirtual #36 // Method arb/Real.identity:()Larb/Real;
30: iload_3
31: aload 4
33: checkcast #26 // class arb/Real
36: invokevirtual #40 // Method arb/Real.ascendingFactorial:(Larb/Real;ILarb/Real;)Larb/Real;
39: areturn
StackMapTable: number_of_entries = 1
frame_type = 11 /* same */
LocalVariableTable:
Start Length Slot Name Signature
0 40 0 this Lfactorℝ2;
0 40 1 in Larb/Integer;
0 40 2 order I
0 40 3 bits I
0 40 4 result Larb/Real;
Signature: #10 // (Larb/Integer;IILarb/Real;)Larb/Real;