Added
Link Here
|
1 |
class SomeClass { |
2 |
|
3 |
public void doSomething() { |
4 |
} |
5 |
|
6 |
public static void main(String... args) { |
7 |
new SomeClass().doSomething(); |
8 |
} |
9 |
|
10 |
} |
11 |
|
12 |
aspect MyAspect { |
13 |
|
14 |
public interface MyWorld { |
15 |
} |
16 |
|
17 |
declare parents : SomeClass implements MyWorld; |
18 |
|
19 |
pointcut doSomethingInMyWorld(MyWorld myWorld) : |
20 |
execution(void SomeClass.doSomething()) && |
21 |
this(myWorld); |
22 |
|
23 |
void around(MyWorld myWorld) : doSomethingInMyWorld(myWorld) { |
24 |
System.out.println("this works"); |
25 |
} |
26 |
|
27 |
} |
28 |
|
29 |
aspect DoesntCompile { |
30 |
|
31 |
public interface MyWorld { |
32 |
} |
33 |
|
34 |
declare parents : SomeClass implements MyWorld; |
35 |
|
36 |
pointcut doSomething(SomeClass someClass) : |
37 |
execution(void SomeClass.doSomething()) && |
38 |
this(someClass); |
39 |
|
40 |
pointcut doSomethingInMyWorld(MyWorld myWorld) : doSomething(myWorld); |
41 |
|
42 |
void around(MyWorld myWorld) : doSomethingInMyWorld(myWorld) { |
43 |
} |
44 |
|
45 |
} |