import org.aspectj.testing.Tester;

public class Driver {
  public static void main(String[] args) { test(); }

  public static void test() {
    I i = new C4();
    Tester.checkEqual(i.m(), 42, "i.m()");
  }
}


interface I {}
abstract class C1 implements I{}
class C2 extends C1 implements I {}
class C3 extends C1 {}
class C4 extends C2 {}


aspect Aspect {
    //introduction I {
    public int I.m() {return 42;}
        //}
}