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.

DeclareAccess.java 876B

12345678910111213141516171819202122232425262728293031323334353637
  1. import org.aspectj.testing.*;
  2. public class DeclareAccess {
  3. public static void main (String[] args) {
  4. Tester.event("main");
  5. Target t = new Target();
  6. Aspect a = Aspect.aspectOf();
  7. a.tryPI(t);
  8. Tester.checkAllEvents();
  9. }
  10. static {
  11. Tester.expectEvent("run");
  12. Tester.expectEvent("main");
  13. Tester.expectEvent("value");
  14. }
  15. }
  16. class Target {
  17. public String value() {
  18. Tester.event("run");
  19. return "value";
  20. }
  21. }
  22. /** @testcase private inner interface accessible in scope when declared on outer class */
  23. aspect Aspect {
  24. private interface PI {
  25. public String value();
  26. }
  27. public void tryPI(Target t) {
  28. PI pi = (PI) t;
  29. Tester.event(pi.value());
  30. }
  31. /** @testcase private interface declared on Target */
  32. declare parents: Target implements PI;
  33. }