Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Support for @Repeatable annotations


OK, just bad luck I guess. I have entered a bug, basically with the contents of my original mail. The URL is https://bugs.eclipse.org/bugs/show_bug.cgi?id=445712 Thanks for looking in to this!

Greetings,

On Oct 1, 2014, at 12:17 PM, Andy Clement <andrew.clement@xxxxxxxxx> wrote:

I guess it is the old adage that if it isn't tested it doesn't work. We have no tests for repeatable in the current test suite. I knew we had no 'proper' support in the AspectJ language (i.e. pointcuts are not aware of repeatable annotations that have been packed into a separate annotation), but I kind of hoped the basic use of them would work because it behaves in JDT. Guess not. Please raise an AspectJ bugzilla for this.

cheers
Andy

On 29 September 2014 12:14, Johan Fabry <jfabry@xxxxxxxxxxxxx> wrote:
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@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users



---> Save our in-boxes! http://emailcharter.org <---

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile


Back to the top