Details
Description
I have been marking Grails generated methods as Generated, but there are still open cases and those should be resolved in groovy. https://github.com/grails/grails-core/issues/11318
In Grails with Controllers there is heavy use of Traits and
org.codehaus.groovy.transform.trait.TraitComposer class doesn't mark all its generated methods as Generated.
Example of trait composition:
trait TraitA { private String variableA @groovy.transform.Generated String methodA() { "method" } } trait TraitB { private String variableB @groovy.transform.Generated String methodB() { "i'm method too" } } trait TraitComposeAB implements TraitA, TraitB { } class ClassUnderTest implements TraitComposeAB { }
For ClassUnderTest the TraitComposer will add methods for traits variables:
"public java.lang.String ClassUnderTest.TraitB__variableB$get()" "public java.lang.String ClassUnderTest.TraitA__variableA$get()" "public java.lang.String ClassUnderTest.TraitA__variableA$set(java.lang.String)" "public java.lang.String ClassUnderTest.TraitB__variableB$set(java.lang.String)"
and for methods:
"public java.lang.String ClassUnderTest.TraitAtrait$super$methodA()" "public java.lang.String ClassUnderTest.TraitBtrait$super$methodB()"
Those methods I think should be marked as Generated.
Will provide pull-request soon.