|
|
@@ -0,0 +1,32 @@ |
|
|
|
// nested values, more complex than just a marker |
|
|
|
import java.lang.annotation.*; |
|
|
|
|
|
|
|
aspect X { |
|
|
|
declare parents: |
|
|
|
@SomeAnnotation(a = @Foo(value="123")) * implements java.io.Serializable; |
|
|
|
} |
|
|
|
|
|
|
|
@SomeAnnotation(a = @Foo(value="123")) |
|
|
|
public class Example { |
|
|
|
|
|
|
|
public static void main(String []argv) { |
|
|
|
Example e = new Example(); |
|
|
|
if (e instanceof java.io.Serializable) { |
|
|
|
System.out.println("yes"); |
|
|
|
} else { |
|
|
|
System.out.println("no"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Retention(RetentionPolicy.RUNTIME) |
|
|
|
@interface Foo { |
|
|
|
String value(); |
|
|
|
} |
|
|
|
|
|
|
|
@Retention(RetentionPolicy.RUNTIME) |
|
|
|
@interface SomeAnnotation { |
|
|
|
Foo a(); |
|
|
|
} |
|
|
|
|