1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * This test case produces a ClassFormatError under 1.1.0, but
- * the code is not set up to run/test correctly
- * after the bug is fixed.
- */
-
- /** @testcase PR#40876 subtype-qualified pointcut reference */
- public class PointcutLibraryTest {
- public static void main(String[] a) {
- new Test().run();
- }
- }
-
- class Test {
- public void run(){ prun(); }
- private void prun() {
- System.out.println("Test.prun()");
- }
- }
-
- /** private default implementation of library */
- class PrivatePointcutLibrary {
- pointcut adviceCflow() : !cflow(adviceexecution());
- pointcut publicCalls() : call(public * *(..))
- && !adviceCflow();
- }
-
- /** public interface for library */
- class PointcutLibrary extends PrivatePointcutLibrary {
- }
-
- // ---- different clients of the library
-
- /** use library by inheriting scope in class */
- class CPL extends PointcutLibrary {
- static aspect A {
- before() : publicCalls() {
- System.out.println("CPL: "
- + thisJoinPointStaticPart);
- }
- }
- }
-
- /** client by external reference to CPL */
- aspect ExternalClientOfCPL {
- before() : CPL.publicCalls() { // remove this to avoid bug?
- System.out.println("XDP: "
- + thisJoinPointStaticPart);
- }
- }
|