package test;
import junit.framework.TestCase;
public class EcjTest extends TestCase {
public static class A {
public A foo() {
System.out.println("In A");
return null;
}
// Object foo() ...
}
public static class B extends A {
public B foo() {
System.out.println("In B");
return null;
}
// A foo() ...
}
public static class C extends B {
public C foo() {
System.out.println("In C");
return null;
}
// B foo() ...
}
public void testSimple() {
A c = new C();
c.foo(); // 9: invokevirtual #18; //Method
// test/EcjTest$A.foo:()Ltest/EcjTest$A;
// but prints in C
}
}