]> source.dussan.org Git - aspectj.git/commitdiff
bit more testing
authoraclement <aclement>
Sat, 27 Nov 2010 18:10:01 +0000 (18:10 +0000)
committeraclement <aclement>
Sat, 27 Nov 2010 18:10:01 +0000 (18:10 +0000)
tests/features1611/declareMinus/Unsupported.java
tests/features1611/declareMinus/WithValues.java
tests/src/org/aspectj/systemtest/ajc1611/newfeatures-tests.xml

index 4275b5aec7d30599c6b288ce0dcc8fcfce5c3f91..54d2af101f43a2c0b9ac3a0cb1ea9dfc827b2350 100644 (file)
@@ -6,6 +6,12 @@ import java.lang.annotation.RetentionPolicy;
        String foo();
 }
 
+@Retention(RetentionPolicy.RUNTIME)
+@interface Banno {
+       String hoo() default "abcde";
+}
+
+
 @Anno(foo="anc")
 aspect X {
 
@@ -13,6 +19,7 @@ aspect X {
        declare @method: int i(..): -@Anno;
        declare @type: X: -@Anno;
     declare @field: int i: -@Anno(foo="abc");  
+    
        
        public static void main(String[] args) throws Exception {
                if (X.class.getDeclaredField("i").getAnnotation(Anno.class)==null) {
@@ -20,5 +27,12 @@ aspect X {
                } else {
                        System.out.println("failed");
                }
+               if (X.class.getDeclaredField("j").getAnnotation(Banno.class)==null) {
+                       System.out.println("not on j");
+               } else {
+                       System.out.println("is on j");
+               }
        }
+       
+       int j;
 }
\ No newline at end of file
index a756c2e23915327e341c2f4543d49cd6e9a11888..3084eb890f7b16af7ca4323063a01974a85fe691 100644 (file)
@@ -1,4 +1,4 @@
-import java.lang.annotation.Retention;
+import java.lang.annotation.*;
 import java.lang.annotation.RetentionPolicy;
 
 @Retention(RetentionPolicy.RUNTIME)
@@ -11,12 +11,30 @@ public aspect WithValues {
        int i;
        
        declare @field: int i: -@Anno;
+    declare @field: int j:  @Banno(hoo="abc");
+    int j;
        
        public static void main(String[] args) throws Exception {
                if (WithValues.class.getDeclaredField("i").getAnnotation(Anno.class)==null) {
-                       System.out.println("not there");
+                       System.out.println("i does not have Anno");
                } else {
-                       System.out.println("failed");
+                       System.out.println("i has Anno");
+               }       
+               Annotation a = WithValues.class.getDeclaredField("j").getAnnotation(Banno.class);
+               if (a==null) {
+                       System.out.println("j does not have Banno");
+               } else {
+                       System.out.println("j has Banno:"+a);
+               }
+               a = WithValues.class.getDeclaredField("j").getAnnotation(Anno.class);
+               if (a==null) {
+                       System.out.println("j does not have Anno");
+               } else {
+                       System.out.println("j has Anno:"+a);
                }
        }
-}
\ No newline at end of file
+}
+@Retention(RetentionPolicy.RUNTIME)
+@interface Banno {
+       String hoo();
+}
index ff56008a8a15ba6fdc9d553e10aa84c461a9ed38..7ba5316b5c895e1069c08104b140fd722845a9f0 100644 (file)
     <compile files="WithValues.java" options="-1.5"/>
     <run class="WithValues">
     <stdout>
-    <line text="not there"/>
+    <line text="i does not have Anno"/>
+    <line text="j has Banno:@Banno(hoo=abc)"/>
+    <line text="j does not have Anno"/>
     </stdout></run>
   </ajc-test>
   
   <ajc-test dir="features1611/declareMinus" title="declare minus - unsupported">
     <compile files="Unsupported.java" options="-1.5">
-        <message kind="error" line="13" text="Annotation removal only supported for declare @field (compiler limitation)"/>
-        <message kind="error" line="14" text="Annotation removal only supported for declare @field (compiler limitation)"/>
-        <message kind="error" line="15" text="Annotation removal does not allow values to be specified for the annotation (compiler limitation)"/>
+        <message kind="error" line="19" text="Annotation removal only supported for declare @field (compiler limitation)"/>
+        <message kind="error" line="20" text="Annotation removal only supported for declare @field (compiler limitation)"/>
+        <message kind="error" line="21" text="Annotation removal does not allow values to be specified for the annotation (compiler limitation)"/>
     </compile>
   </ajc-test>