summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndy Clement <andrew.clement@gmail.com>2012-04-11 17:33:59 -0700
committerAndy Clement <andrew.clement@gmail.com>2012-04-11 17:33:59 -0700
commit724823aa185922c9d2fd13a0c56049862d3ec0bb (patch)
tree80f6e6c0ac8f416507504266c9ce8385f09f620c /tests
parent45cbaf5e89474b34b9804bf8387d2189a6bc2eb6 (diff)
downloadaspectj-724823aa185922c9d2fd13a0c56049862d3ec0bb.tar.gz
aspectj-724823aa185922c9d2fd13a0c56049862d3ec0bb.zip
declare annotation on type XML support
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs170/xmldefs/Anno7.java5
-rw-r--r--tests/bugs170/xmldefs/Hello7.java39
-rw-r--r--tests/bugs170/xmldefs/aop7.xml13
3 files changed, 57 insertions, 0 deletions
diff --git a/tests/bugs170/xmldefs/Anno7.java b/tests/bugs170/xmldefs/Anno7.java
new file mode 100644
index 000000000..36fdeb361
--- /dev/null
+++ b/tests/bugs170/xmldefs/Anno7.java
@@ -0,0 +1,5 @@
+import java.lang.annotation.*;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Anno7 {
+}
diff --git a/tests/bugs170/xmldefs/Hello7.java b/tests/bugs170/xmldefs/Hello7.java
new file mode 100644
index 000000000..ed43f0145
--- /dev/null
+++ b/tests/bugs170/xmldefs/Hello7.java
@@ -0,0 +1,39 @@
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.util.Collections;
+import java.util.*;
+
+public class Hello7 {
+
+
+ public static void main(String[] args) {
+ printAnnos(Hello7.class);
+ }
+
+ public static void printAnnos(Class clazz) {
+ try {
+ Annotation[] annos = clazz.getAnnotations();
+ System.out.println("Annotations on "+clazz.getName()+"? "+(annos!=null && annos.length!=0));
+ if (annos!=null && annos.length>0) {
+ List<Annotation> la = new ArrayList<Annotation>();
+ for (Annotation anno: annos) {
+ la.add(anno);
+ }
+ Collections.<Annotation>sort(la,new AnnoComparator());
+
+ System.out.println("Annotation count is "+annos.length);
+ for (Annotation anno: la) {
+ System.out.println(anno);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ static class AnnoComparator implements Comparator<Annotation> {
+ public int compare(Annotation a, Annotation b) {
+ return a.toString().compareTo(b.toString());
+ }
+ }
+}
diff --git a/tests/bugs170/xmldefs/aop7.xml b/tests/bugs170/xmldefs/aop7.xml
new file mode 100644
index 000000000..048163f3a
--- /dev/null
+++ b/tests/bugs170/xmldefs/aop7.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<aspectj>
+ <aspects>
+ <concrete-aspect name="ConjuredUp">
+ <declare-annotation type="H*" annotation="@Anno7"/>
+ </concrete-aspect>
+ </aspects>
+
+ <weaver options="-Xreweavable -verbose -XlazyTjp -showWeaveInfo">
+ <include within="Hello7"/>
+ </weaver>
+</aspectj>
+