summaryrefslogtreecommitdiffstats
path: root/tests/new/cflowAdviceNoSource/Driver.java
blob: 1fd246dd3f68453284dfa719dd52053754b4009a (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
import org.aspectj.testing.Tester;

// PR#285 cflow advice with no source

public class Driver {

    public static String s = "";

    public static void main(String[] args){ test(); }

    public static void test() {
        new Driver().go();
        Tester.checkEqual(s, "-go-advised", "advice runs");
    }

    int go(){
        s += "-go";
        return Math.max(1, 3);
    }
}

aspect A of eachcflow(instanceof(Driver) && executions(* go(..))) {

   before (): calls(* Math.*(..)) && ! calls(* Driver.go()) && ! calls(* Driver.test()) {
        Driver.s += "-advised";
   }
}