-
Sub-task
-
Resolution: Fixed
-
P2
-
8, 8-repo-lambda
-
b96
-
Verified
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 { }
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 { }
- blocks
-
JDK-8013576 Add stat support to LambdaToMethod
- Closed
- relates to
-
JDK-8015402 Lambda metafactory should not attempt to generate bridge methods
- Closed
-
JDK-8017045 anti-delta fix for 8013789
- Closed