Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
1.7-rc-2
-
None
-
Mac OS 10.5.8
Java 1.5.0_19
Description
org/spockframework/Foob.groovy:
package org.spockframework class Foob { def doit() { println "foob" } }
org/spockframework/compiler/Barb.groovy:
package org.spockframework.compiler import org.spockframework.Foob class Barb { @Delegate Foob foob static void main(String[] args) { new Barb().barb() } def barb() { this.doit() } }
When I run the main method, I get:
Exception in thread "main" java.lang.ClassFormatError: Repetitive method name/signature in class file org/spockframework/compiler/Barb at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:675) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:316) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
When I change this.doit() to doit(), I get:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke method doit() on null object at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:77) at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:751) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:728) at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:17) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121) at org.spockframework.compiler.Barb.doit(Barb.groovy) at org.spockframework.compiler.Barb$doit.callCurrent(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:147) at org.spockframework.compiler.Barb.barb(Barb.groovy:28) at org.spockframework.compiler.Barb$barb.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121) at org.spockframework.compiler.Barb.main(Barb.groovy:24)