12345678910111213141516171819202122232425262728293031 |
- import org.aspectj.testing.*;
-
- import java.util.Vector;
-
- /** @testcase PR#685 subaspect method declaration on superaspect inner interface (types) */
- public class InnerInterfaceTypes {
- public static void main (String[] args) {
- Object o = new C().getThis();
- Tester.check(null != o,
- "null != new C().getThis()");
- ConcreteAspect cc = ConcreteAspect.aspectOf();
- Tester.check(null != cc,
- "null != ConcreteAspect.aspectOf()");
- Object p = cc.getField();
- Tester.check(null != p, "null != cc.getField()");
- }
- }
- class C implements AbstractAspect.InnerInterface {}
-
- abstract aspect AbstractAspect {
- /** bug iff interface defined in abstract aspect
- * - not outer or subaspect
- */
- interface InnerInterface {}
-
- private Object privateField = new Object();
-
- Object getField() {
- return new Vector(); // bad CE: "type name not found"
- }
- }
|