Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.8.5
-
None
Description
The problem manifests when a long value is effectively being changed to an 'int' and results in an exception during compilation.
Example class:
class AnObject { public static final long serialVersionUID = -5239748510188117876L }
Using groovy 1.8.5, the generated stub (during joint compilation using the 'Groovyc' ant taskdef) looks like (sans imports):
public class AnObject implements groovy.lang.GroovyObject { public static final long serialVersionUID = -5239748510188117876; }
The problem is that this yields a compilation exception 'integer number too large'.
If you exclude the 'public' keyword on the member definition and re-compile, the stub instead looks like:
public class AnObject implements groovy.lang.GroovyObject { public static final long getSerialVersionUID() { return (long)0;} }
This can then compile successfully.