aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs169/pr287613/DeclareAnnot.java
blob: d1b8aaa11bd4e80f9727062878328c7998204bf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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;
*/
}