You should be able to use "default []".  I don't think it supports "default new 
Class[0]".  Is this under Static Type Checking or Static Compilation?

NOTE: https://issues.apache.org/jira/browse/GROOVY-11492 item 3 covers the 
missing "default {}" support.


________________________________
From: Saravanan Palanichamy <chava...@gmail.com>
Sent: Tuesday, April 15, 2025 4:21 AM
To: us...@groovy.apache.org <us...@groovy.apache.org>; dev@groovy.apache.org 
<dev@groovy.apache.org>
Subject: [EXT] Default for annotation members with type class

External Email: Use caution with links and attachments.

Hello Groovy users

What is the right way to define this java annotation in groovy? I am testing 
this out in Groovy 5.0, I have not tried 4.x.

I tried using [] after the default keyword, but I get the error

"Cannot return value of type java.util.ArrayList<#E> for method returning 
java.lang.Class<?>[]" and
"Cannot return value of type java.util.ArrayList<#E> for method returning 
java.lang.Class<? extends MyClazz>[]"

@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {

    Class<?>[] groups() default {};

    Class<? extends MyClazz>[] payloads() default {};

}

regards
Saravanan

Reply via email to