The following unit test:
class VEBug extends GroovyTestCase {
static void caller(double start, Integer numIter) {
numIter.times {
assertEquals(20d, VEBug.foo(start))
}
}
static double foo(double x) {
return x*10
}
void testCaller() {
caller(2.0d, 5)
}
}
fails with "Caught: java.lang.VerifyError: (class: VEBug, method: caller signature: (DLjava/lang/Integer;)V) Register 1 contains wrong type"
If you change the first parameter of caller to be type Double instead of double, it works fine.
Now fixed