12345678910111213141516 |
-
- class A { void run() {} }
- class B extends A {}
- aspect C {
- before() : runB() { }
- pointcut runB(): call(void B.run()); // CW 6 XLint, for each shadow (12, 14)
-
- }
- public class CompoundMessage {
- public static void main(String[] args) {
- // ok with -1.4; otherwise, becomes A.run in bytecode
- new B().run(); // CW 12 DW
- // never works - compile-time type of reference is A, not B
- new B().run(); // CW 12 DW
- }
- }
|