|
123456789101112131415161718192021222324252627282930 |
- import java.lang.annotation.*;
-
- @Retention(RetentionPolicy.RUNTIME)
- @interface Annot {}
-
- aspect DeclareAnnot {
- // declare @method: * *.get*() || boolean *.is*(): @Annot;
-
- // declare @field: (String *.*) || (boolean *.*) : @Annot;
- // declare @field: (String *.*) && (boolean *.*) : @Annot;
- // declare @field: (String *.*) && !(boolean *.*) : @Annot;
- declare @field: ((String *.*) || !(String *.*)) && !(boolean *.*) : @Annot;
- declare @field: String *.* : @Annot;
-
- /*
- declare @constructor: Person.new() || Person.new(*) : @Annot;
-
- declare @method: * *.get*() && boolean *.is*(): @Annot;
-
- declare @field: String *.* && boolean *.* : @Annot;
-
- declare @constructor: Person.new() && Person.new(*) : @Annot;
-
- declare @method: !(* *.get*()): @Annot;
-
- declare @field: !(String *.*) : @Annot;
-
- declare @constructor: !(Person.new()) : @Annot;
- */
- }
|