aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs152/pr147845/GenericAspectHierarchy.aj
blob: b9c483105deb602be8c306ceb0b38821948b20b3 (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
interface MyBase { void foo(); };
interface MyMarker extends MyBase { void bar(); }

abstract aspect Base<A extends MyBase> {

 pointcut somePC() : execution(* A.*(..));

 declare warning : somePC() : "a match";

}

abstract aspect Middle<B extends MyBase> extends Base<B> {}

aspect Sub extends Middle<MyMarker> {}
         
         
class C1 implements MyBase {

  public void foo() {}

}

class C2 implements MyMarker {

  public void foo() {}  // CW L 25
  
  public void bar() {}  // CW L 27


}