blob: 6d5cf27cd1a6199fb89ae8c4a34d9585aad2f7d2 (
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
|
import org.aspectj.testing.Tester;
public class Driver {
static Object objectFromClass;
static Object objectFromAspect;
static String stringFromClass;
static String stringFromAspect;
public static void main(String[] args) { test(); }
static public void test() {
Driver obj = new Driver();
obj.doit();
Tester.check(objectFromClass == objectFromAspect,
"this matches this");
Tester.check(stringFromClass.equals(stringFromAspect),
"this.toString() matches this.toString()");
}
void doit() {
objectFromClass = this;
stringFromClass = this.toString();
}
}
aspect DriverAspect pertarget(target(Driver)) {
before (Driver d): target(d) && call(* doit(..)) {
d.objectFromAspect = d;
d.stringFromAspect = d.toString();
}
}
|