You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

PackagesAndAdviceCf.java 1.0KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package packagevisibility;
  2. import org.aspectj.testing.Tester;
  3. import packagevisibility.testPackage.*;
  4. public class PackagesAndAdviceCf
  5. {
  6. public static void main(String[] args) { test(); }
  7. public static void test() {
  8. packagevisibility.testPackage.Class1 c1 =
  9. new packagevisibility.testPackage.Class1();
  10. Tester.checkEqual(c1.doIt("-1"),
  11. "-1-advised-advised1-1-class1",
  12. "publically visible");
  13. Tester.checkEqual(c1.doItToClass2("-2"),
  14. "-2-advised-advised1-2-class2",
  15. "package visible");
  16. }
  17. }
  18. aspect A {
  19. static String message = "-advised";
  20. String around(String s):
  21. call(String doIt(String)) && args(s) &&
  22. (target(packagevisibility.testPackage.Class1) ||
  23. target(packagevisibility.testPackage.Class2)) { // Cf type not visible
  24. String result = s + message;
  25. result += A1.message;
  26. return result + proceed(s);
  27. }
  28. }
  29. class A1 {
  30. static String message = "-advised1";
  31. }