blob: e0ef18ed957d4e2dccd13f4f24f8a5444056bdfe (
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
|
import java.util.*;
import org.aspectj.testing.Tester;
/** @testcase PR#456 advice on advice in usejavac mode */
public aspect AroundVarBug {
static {
Tester.expectEvent("Meta-advice reached");
Tester.expectEvent("advice reached");
}
protected pointcut iterator () :
call (public Iterator Collection.iterator ());
Iterator around () : iterator () {
return handleIterator (thisJoinPoint, proceed ());
}
private Iterator handleIterator (Object join, Iterator iter) {
Tester.event("advice reached");
return iter;
}
// -------------
// Meta-advice
// -------------
private pointcut adviceHandlers ():
call (private * AroundVarBug.handle*(..));
// Advice on this aspect!
Object around () : adviceHandlers () {
Tester.event("Meta-advice reached");
return proceed();
}
} // end of aspect AroundVarBug
|