Blocks :
|
|
Relates :
|
|
Relates :
|
As part of the effort to remove bridging complexity form VM and metafactory, the compiler should start generating bridges in interfaces. There are two scenario we need to cover: 1) Generate bridges in interface using existing bridging logic 2) Pass the metafactory additional bridging info so that the functional interface is correctly implemented The first part is simple; it means generating bridges in cases like the following: interface A { Object m(); } interface B extends A { String m(); //there should be a bridge to A.m()Object } The second part is more subtle, as current bridging logic doesn't cover cases like: interface A { Object m(); } interface B { String m(); } interface C extends A, B { }