You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2022/04/27 08:34:00 UTC

[jira] [Closed] (GROOVY-10570) AnnotationCollector produces unspecified errors when used in Java

     [ https://issues.apache.org/jira/browse/GROOVY-10570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul King closed GROOVY-10570.
------------------------------

> AnnotationCollector produces unspecified errors when used in Java
> -----------------------------------------------------------------
>
>                 Key: GROOVY-10570
>                 URL: https://issues.apache.org/jira/browse/GROOVY-10570
>             Project: Groovy
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 4.0.1
>            Reporter: Christopher Smith
>            Assignee: Eric Milles
>            Priority: Minor
>             Fix For: 5.0.0-alpha-1, 2.5.17, 3.0.11, 4.0.2
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> I have an {{AnnotationCollector}} that refers to some Java classes (type converters). The stub generator has an error generating the stub, so I tried writing the annotation itself in Java. While this compiled correctly, when compiling tests using that annotation I get a BUG! in the Groovy compiler:
> {code}
> BUG! exception in phase 'semantic analysis' in source unit '/home/christopher/git/.../IgnoreMetaClassAttributeConverterProviderTest.groovy' com.example.DynamoDbRecord.value()
> ...
> Caused by: java.lang.NoSuchMethodException: com.example.DynamoDbRecord.value()
>     at java.lang.Class.getMethod (Class.java:2108)
>     at org.codehaus.groovy.transform.AnnotationCollectorTransform.getTargetListFromClass (AnnotationCollectorTransform.java:276)
>     at org.codehaus.groovy.transform.AnnotationCollectorTransform.getMeta (AnnotationCollectorTransform.java:76)
>     at org.codehaus.groovy.transform.AnnotationCollectorTransform.getStoredTargetList (AnnotationCollectorTransform.java:226)
>     at org.codehaus.groovy.transform.AnnotationCollectorTransform.getTargetAnnotationList (AnnotationCollectorTransform.java:356)
>     at org.codehaus.groovy.transform.AnnotationCollectorTransform.visit (AnnotationCollectorTransform.java:383)
>     at org.codehaus.groovy.transform.ASTTransformationCollectorCodeVisitor.findCollectedAnnotations (ASTTransformationCollectorCodeVisitor.java:207)
>     at org.codehaus.groovy.transform.ASTTransformationCollectorCodeVisitor.visitAnnotations (ASTTransformationCollectorCodeVisitor.java:93)
> {code}
> Adding a {{String value default ""}} to the annotation produces an NPE.
> It would make sense to me to learn that using {{AnnotationCollector}} in Java is unsupported, but the Groovy compiler should probably have a better error report.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)