Hi all, apologies if this is a FAQ, my mailing list searches did not turn up any matches.
I’m experimenting with the @Repeatable annotations of Java 8 on some aspects, and apparently AspectJ does not provide any support for @Repeatable, as I get an exception at some point. (Below are the details of my setup and the offending annotation description.) Am I correct that there is no support? Are there any plans to include it? Thanks in advance! AspectJ Compiler version: 1.8.3.20140820082000 Relevant stack trace (cutting out a ton of frames at the bottom as I’m doing the experiments in Clojure): --- ERROR in (test-suite test-annotation-contents) (EclipseSourceType.java:820) Uncaught exception, not in assertion. expected: nil actual: org.aspectj.ajdt.internal.compiler.lookup.EclipseSourceType$MissingImplementationException: Please raise an AspectJ bug. AspectJ does not know how to convert this annotation [@Repeatable(MultiRequires.class)] at org.aspectj.ajdt.internal.compiler.lookup.EclipseSourceType.generateAnnotation (EclipseSourceType.java:820) org.aspectj.ajdt.internal.compiler.lookup.EclipseSourceType.convertEclipseAnnotation (EclipseSourceType.java:718) org.aspectj.ajdt.internal.compiler.lookup.EclipseSourceType.getAnnotations (EclipseSourceType.java:698) org.aspectj.weaver.ReferenceType.getAnnotations (ReferenceType.java:200) sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java:-2) sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke (Method.java:606) clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:93) clojure.lang.Reflector.invokeNoArgInstanceMember (Reflector.java:313) --- Source code of the annotation: --- package damp.ekeko.aspectj.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Repeatable; import java.lang.annotation.Target; @Target(ElementType.TYPE) @Repeatable(MultiRequires.class) public @interface Requires { String aspect() default ""; String label() default ""; } --- package damp.ekeko.aspectj.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target(ElementType.TYPE) public @interface MultiRequires { Requires[] value(); } --- ---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD lab - Computer Science Department (DCC) - University of Chile _______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/aspectj-users