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.

InnerInterfaceTypes.java 968B

12345678910111213141516171819202122232425262728293031
  1. import org.aspectj.testing.*;
  2. import java.util.Vector;
  3. /** @testcase PR#685 subaspect method declaration on superaspect inner interface (types) */
  4. public class InnerInterfaceTypes {
  5. public static void main (String[] args) {
  6. Object o = new C().getThis();
  7. Tester.check(null != o,
  8. "null != new C().getThis()");
  9. ConcreteAspect cc = ConcreteAspect.aspectOf();
  10. Tester.check(null != cc,
  11. "null != ConcreteAspect.aspectOf()");
  12. Object p = cc.getField();
  13. Tester.check(null != p, "null != cc.getField()");
  14. }
  15. }
  16. class C implements AbstractAspect.InnerInterface {}
  17. abstract aspect AbstractAspect {
  18. /** bug iff interface defined in abstract aspect
  19. * - not outer or subaspect
  20. */
  21. interface InnerInterface {}
  22. private Object privateField = new Object();
  23. Object getField() {
  24. return new Vector(); // bad CE: "type name not found"
  25. }
  26. }