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.

InnerInFieldInit.java 1.0KB

1234567891011121314151617181920212223242526272829
  1. import org.aspectj.testing.Tester;
  2. import org.aspectj.testing.Tester;
  3. public class InnerInFieldInit {
  4. public static void main(String[] args) {
  5. Tester.expectEvent("innerfield");
  6. TargetClass me = new TargetClass();
  7. Tester.check(me.result, "me.result");
  8. Tester.checkAllEvents();
  9. }
  10. }
  11. interface Valid { public boolean valid();}
  12. aspect InnerInFieldInitAspect {
  13. /** @testcase Introduced type unavailable to qualified new expressions in introduced field initializers */
  14. public boolean TargetClass.result =
  15. new Valid() {
  16. public boolean valid() {
  17. InnerClass i = TargetClass.this.new InnerClass();
  18. if (!i.valid()) Util.fail("this.new InnerClass()");
  19. InnerClass j = getThis().new InnerClass();
  20. if (!j.valid()) Util.fail("getThis().new InnerClass()");
  21. Util.signal("innerfield");
  22. return i.valid() && j.valid();
  23. }
  24. }.valid();
  25. }