[ 
https://issues.apache.org/jira/browse/GROOVY-10758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17607316#comment-17607316
 ] 

Christopher Smith commented on GROOVY-10758:
--------------------------------------------

Understood, and I know how to do this now, but as the power of ASTTs is the 
single largest reason I'm an advocate of Groovy, I'd like to make the learning 
process easier for those to come after!

> Improve error message when using generic ClassNodes in ASTT
> -----------------------------------------------------------
>
>                 Key: GROOVY-10758
>                 URL: https://issues.apache.org/jira/browse/GROOVY-10758
>             Project: Groovy
>          Issue Type: Improvement
>          Components: Compiler
>    Affects Versions: 4.0.5
>            Reporter: Christopher Smith
>            Priority: Minor
>
> When mistakenly using a shared instance of a {{ClassNode}} that has generics 
> applied, the compiler (helpfully!) produces this error:
> {code}
> transform used a generics containing ClassNode 
> com.example.Resource<com.example.FooAttributes> for the super class 
> com.example.FooResource directly. You are not supposed to do this. Please 
> create a new ClassNode referring to the old ClassNode and use the new 
> ClassNode instead of the old one. Otherwise the compiler will create wrong 
> descriptors and a potential NullPointerException in TypeResolver in the 
> OpenJDK. If this is not your own doing, please report this bug to the writer 
> of the transform.
> {code}
> However, there is no explanation of *how* to create the "new ClassNode", and 
> [I couldn't find anything in the API that made the error go 
> away|https://stackoverflow.com/questions/73749765/how-do-i-subclass-a-generic-base-class-in-a-groovy-ast-transformation].
>  It would be helpful to ASTT neophytes if the error message specified the 
> method call(s) suitable for this operation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to