For large inheritance hierarchies, javac appears to require something like
exponential time to compile. This isn't exactly a bug in the sense of
incorrect behavior, but it isn't very nice either. On the other hand,
fixing this may well make the common case more expensive.
interface A {
void f();
}
interface B extends A {
void f();
}
interface C extends A, B {}
interface D extends B, C {}
interface E extends C, D {}
interface F extends D, E {}
interface G extends E, F {}
interface H extends F, G {}
interface I extends G, H {}
interface J extends H, I {}
interface K extends I, J {}
interface L extends J, K {}
interface M extends K, L {}
interface N extends L, M {}
interface O extends M, N {}
interface P extends N, O {}
interface Q extends O, P {}
interface R extends P, Q {}
interface S extends Q, R {}
class T {
void f(S o) {
o.f();
}
}