blob: 68c14269fd8b32b971fb7c17824d1deab4958cec (
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
|
import java.lang.annotation.*;
class C1 {
@SomeAnnotation
public void aMethod() {}
}
class C2 extends C1 {
public void aMethod() {}
}
class Main {
public static void main(String[] args) {
C1 c1 = new C1();
C2 c2 = new C2();
c1.aMethod();
c2.aMethod();
}
}
aspect X {
pointcut annotatedMethodCall() :
call(@SomeAnnotation * C1.aMethod()); //CW L16
pointcut c1MethodCall() : // CW L16, L17
call(* C1.aMethod());
declare warning : annotatedMethodCall() : "annotatedMethodCall()";
declare warning : c1MethodCall() : "c1MethodCall()";
}
@Inherited @interface SomeAnnotation {}
|