Support bridges in interfaces for default methods

This commit is contained in:
Mikhail Bogdanov
2020-03-27 18:21:38 +01:00
parent 93b915c77a
commit a3f930d2e4
18 changed files with 790 additions and 5 deletions
@@ -1460,7 +1460,8 @@ public class FunctionCodegen {
iv.invokespecial(parentInternalName, delegateTo.getName(), delegateTo.getDescriptor(), false);
}
else {
if (JvmAnnotationUtilKt.isCompiledToJvmDefaultIfNoAbstract(descriptor, state.getJvmDefaultMode())) {
if (isInterface(descriptor.getContainingDeclaration()) &&
JvmAnnotationUtilKt.isCompiledToJvmDefaultIfNoAbstract(descriptor, state.getJvmDefaultMode())) {
iv.invokeinterface(v.getThisName(), delegateTo.getName(), delegateTo.getDescriptor());
}
else {