[
https://issues.apache.org/jira/browse/GROOVY-7151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul King closed GROOVY-7151.
-----------------------------
> groovyc should accept meta annotation with ElementType.TYPE
> -----------------------------------------------------------
>
> Key: GROOVY-7151
> URL: https://issues.apache.org/jira/browse/GROOVY-7151
> Project: Groovy
> Issue Type: Bug
> Components: Compiler
> Affects Versions: 2.4.0-beta-3
> Reporter: Marcin Zajaczkowski
> Assignee: Cédric Champeau
> Priority: Minor
> Fix For: 2.5.0-alpha-1
>
>
> groovyc fails on a try to annotate Groovy annotation with an annotation with
> Target set to TargetType.TYPE.
> {code:java}
> @Target({ElementType.TYPE})
> @Retention(RetentionPolicy.RUNTIME)
> @Documented
> public @interface Import {
> Class<?>[] value();
> }
> @Target(ElementType.TYPE)
> @Retention(RetentionPolicy.RUNTIME)
> @Import(CorrelationIdConfiguration.class)
> public @interface EnableCorrelationId {
> }
> EnableCorrelationId.groovy: 12: Annotation
> @org.springframework.context.annotation.Import is not allowed on element
> ANNOTATION
> @ line 12, column 1.
> @Import(CorrelationIdConfiguration.class)
> ^
> {code}
> The same works for Java annotations what follows [Java Language
> Specification|http://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.6.4.1]:
> {quote}
> Type declarations: class, interface, enum, and annotation type declarations
> (ç8.1.1, ç9.1.1, ç8.5, ç9.5, ç8.9, ç9.6)
> Corresponds to java.lang.annotation.ElementType.TYPE
> Additionally, annotation type declarations correspond to
> java.lang.annotation.ElementType.ANNOTATION_TYPE
> {quote}
> This is very common in Spring (Boot) application when @Import annotation
> (which has ElementType.TYPE) is used.
> I fixed that and will make a PR in a few minutes (with proper JIRA ticket ID).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)