Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
class Foo { } trait GetFoo { abstract Foo getFoo() } class BaseFooSpec { Foo foo } class FooSpec extends BaseFooSpec implements GetFoo { }
Generates a stub for FooSpec with
public class FooSpec extends BaseFooSpec implements GetFoo, groovy.lang.GroovyObject { ; @groovy.transform.Generated() @groovy.transform.Internal() public groovy.lang.MetaClass getMetaClass() { return (groovy.lang.MetaClass)null;} @groovy.transform.Generated() @groovy.transform.Internal() public void setMetaClass(groovy.lang.MetaClass mc) { } @groovy.transform.Generated() @groovy.transform.Internal() public java.lang.Object invokeMethod(java.lang.String method, java.lang.Object arguments) { return null;} @groovy.transform.Generated() @groovy.transform.Internal() public java.lang.Object getProperty(java.lang.String property) { return null;} @groovy.transform.Generated() @groovy.transform.Internal() public void setProperty(java.lang.String property, java.lang.Object value) { } public abstract Foo getFoo(); }
Note the getFoo() is still abstract instead of using the getter generated from BaseFooSpec.
Attachments
Issue Links
- is cloned by
-
GROOVY-8951 Traits defining getter conflicts with generated getter (improvements for pre-compiled case)
- Closed