blob: e5700a38cfe4d852d126f8aece137317143b9707 (
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
|
// Now C1 and C2 implement the interface
import org.aspectj.lang.annotation.*;
public class A {
public static void main(String []argv) {
C1 c1 = new C1();
System.out.println("C1.m() returns "+((NonMarkerInterface)c1).m());
C2 c2 = new C2();
System.out.println("C2.m() returns "+((NonMarkerInterface)c2).m());
}
}
@Aspect class X {
@DeclareParents(value="C*")
public NonMarkerInterface nmi;
}
interface NonMarkerInterface {
public int m();
}
class Y implements NonMarkerInterface {
public Y() {}
public int m() { return 43;}
}
class C1 {
public int m() { return 1;}
}
class C2 {
public int m() { return 2;}
}
|