1
public class pr115250_2 {
2
public static void main(String[] args) {
7
C foo() { return null; }
10
// properly get compiler error wrt return type of join point
11
static aspect Normal {
12
C around() : execution(* C.foo()) {
18
// no compiler error wrt return type of join point
20
static abstract aspect SS<Target> {
21
abstract protected pointcut exec();
22
Target around() : exec() { // expect CE for execution(C.new());
23
System.err.println("funky advice running");
28
static aspect A extends SS<C> {
29
protected pointcut exec() : execution(* C.foo());