Keegan Witt created GROOVY-8895: ----------------------------------- Summary: Traits defining getter conflicts with generated getter Key: GROOVY-8895 URL: https://issues.apache.org/jira/browse/GROOVY-8895 Project: Groovy Issue Type: Bug Components: Stub generator / Joint compiler Reporter: Keegan Witt
{code:java} class Foo { } trait GetFoo { abstract Foo getFoo() } class BaseFooSpec { Foo foo } class FooSpec extends BaseFooSpec implements GetFoo { } {code} Generates a stub for FooSpec with {code:java} 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(); } {code} Note the {{getFoo()}} is still {{abstract}} instead of using the getter generated from _BaseFooSpec_. -- This message was sent by Atlassian JIRA (v7.6.3#76005)