// lots of errors import java.util.*; abstract aspect GenericAspect { interface SimpleI {} declare parents: A implements SimpleI; public N SimpleI.m0(N n) { System.err.println(n);return n;} public List SimpleI.m1(List ln) { System.err.println(ln);return ln;} public N SimpleI.f; public List SimpleI.lf; } // We are making the decp put SimpleI on Base - so all these string // things below should fail! aspect GenericAspectM extends GenericAspect { public static void main(String []argv) { Base b = new Base(); List ls = new ArrayList(); String s = b.m0("hello"); // error List ls2 = b.m1(ls);// error b.f="hello";// error b.lf=ls;// error } } class Base {}