blob: 5578c84f87df415f601c9a75a9ab3815128dc49f (
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
import org.aspectj.testing.Tester;
public aspect Driver {
static boolean t1, t2, t3, t4;
public static void main(String[] args) { test(); }
public static void test() {
Foo f1 = new Foo();
f1.m1("foo");
f1.m2(1);
f1.m3("foo");
f1.m3(1);
Tester.check(t1, "finding m1(String)");
Tester.check(t2, "finding m2(int)");
Tester.check(t3, "finding m3(String)");
Tester.check(t4, "finding m3(int)");
}
before(String x): target(Foo) && call(void m1(String)) && args(x) {
t1 = true;
}
before(int x): target(Foo) && call(void m2(int)) && args(x) {
t2 = true;
}
before(String x): target(Foo) && call(void m3(String)) && args(x) {
t3 = true;
}
before(int x): target(Foo) && call(void m3(int)) && args(x) {
t4 = true;
}
}
class Foo {
void m1(String x) { }
void m2(int x) { }
void m3(String x) { }
void m3(int x) { }
}
|