|
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 { }