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.

LocalClassClosingOverProceed.java 944B

12345678910111213141516171819202122232425262728293031323334353637
  1. import org.aspectj.testing.Tester;
  2. // bart.vanhaute@cs.kuleuven.ac.be conflated jitterbug
  3. public class LocalClassClosingOverProceed {
  4. public static void main(String[] args) {
  5. new Target().method();
  6. Tester.checkAllEvents();
  7. }
  8. static {
  9. Tester.expectEvent("Target.method");
  10. Tester.expectEvent("before proceed");
  11. Tester.expectEvent("after proceed");
  12. }
  13. }
  14. class Target {
  15. public void method() {
  16. Tester.event("Target.method");
  17. }
  18. }
  19. aspect NamedLocalClass {
  20. /** @testcase PR#636 named local class closing over proceed() in around */
  21. void around(): execution(void Target.method()) {
  22. //Runnable r = new Runnable () {
  23. class LocalClass {
  24. public void run() {
  25. Tester.event("before proceed");
  26. proceed();
  27. Tester.event("after proceed");
  28. }
  29. };
  30. new LocalClass().run();
  31. //r.run();
  32. }
  33. }