import org.xyz.*; public aspect AnnotationPatternMatching { declare warning : execution(@Immutable * *(..)) : "@Immutable"; declare warning : execution(!@Persistent * *(..)) : "!@Persistent"; declare warning : execution(@Foo @Goo * *(..)) : "@Foo @Goo"; declare warning : execution(@(Foo || Goo) * *(..)) : "@(Foo || Goo)"; declare warning : execution(@(org.xyz..*) * *(..)) : "@(org.xyz..*)"; } @interface Immutable {} @interface Persistent {} @interface Foo{} @interface Goo{} class Annotated { @Immutable void m1() {} @Persistent void m2() {} @Foo @Goo void m3() {} @Foo void m4() {} @OrgXYZAnnotation void m5() {} }ed-null-storage-merged Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/COPYING-README
blob: 53e29ec47717dd5d2924d7b2a74d48db262154f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16