Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.8.6
-
None
-
Max OS X 10.6.8, Mac Java, Eclipse 3.7
Description
Given an interface:
public interface DeprecatedMethods { @Deprecated public void setHeight(float height); }
and a delegating class:
class DelegateDeprecated { @Delegate private DeprecatedMethods delegate }
then the compiler shows a compilation error:
$ groovyc DelegateDeprecated.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
DelegateDeprecated.groovy: 15: Can't have an abstract method in a non-abstract class. The class 'DelegateDeprecated' must be declared abstract or the method 'void setHeight(float)' must be implemented.
@ line 15, column 1.
class DelegateDeprecated {
^
1 error
This happens from the command line and Eclipse, and can be made to go away by removing the @Deprecated annotation.