Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.0, 1.1-rc-2
-
Fix Version/s: 1.5
-
Component/s: class generator, command line processing
-
Labels:None
-
Environment:Windows XP
Groovy Version: 1.0 JVM: 1.6.0-b105
Groovy Version: 1.1-rc-2 JVM: 1.6.0-b105
-
Number of attachments :
Description
Using a java framework that defines a class like this
public class FrameworkComponent {
// lots of fields
// lots of methods
public final Object getProperty(String name)
// lots of other fields
// lots of other methods
}
If one tries to create a Groovy class that extends this
FrameworkComponent like the following:
class MyComponent extends FrameworkComponent {
def size = 10
}
the groovy compiler raises an error saying that MyComponent
overrides final method getProperty(String name) from
FrameworkComponent.
Attached to this issue follows bug.zip containing a mockup of this
framework and a Groovy class that extends the framework class.
To reproduce the error just unzip the file, navigate to the unzipped folder
and fire:
groovyc -cp framework.jar MyComponent.groovy
it will raise the following error lines
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, MyComponent.groovy: -1: You are not allowed to overwrite the final method getProperty(java.lang.String) from class 'FrameworkComponent'.
@ line -1, column -1.
1 error
Issue Links
- is superceded by
-
GROOVY-2837
CLONE -Groovy objects trying to override final methods
-
IMO this issue effects our java integration story and needs to be fixed for 1.1