JVM IR: do not generate certain special bridges as final

Special bridges which are generated as a replacement for a non-final
fake override and use invokespecial to call the already existing
implementation in the superclass, should not be final. Otherwise we
can't generate an override for the original Kotlin function in a
subclass with the same JVM signature.
This commit is contained in:
Alexander Udalov
2020-02-11 20:22:26 +01:00
parent df046683cc
commit 3278451b07
6 changed files with 42 additions and 7 deletions
@@ -27216,6 +27216,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/specialBuiltins/removeSetInt.kt");
}
@TestMetadata("specialBridgeModality.kt")
public void testSpecialBridgeModality() throws Exception {
runTest("compiler/testData/codegen/box/specialBuiltins/specialBridgeModality.kt");
}
@TestMetadata("throwable.kt")
public void testThrowable() throws Exception {
runTest("compiler/testData/codegen/box/specialBuiltins/throwable.kt");