JVM IR: do not resolve fake override in InterfaceSuperCallsLowering

This leads to problems after 4dd794c2d2, because the immediate super
function's DefaultImpls and the implementation's DefaultImpls have
differing type parameters.

Looks like resolveFakeOverride was used here (maybe unintentionally) as
a workaround to the problem caused by the incorrect origin check in
isDefinitelyNotDefaultImplsMethod.
This commit is contained in:
Alexander Udalov
2020-02-06 16:46:49 +01:00
parent d9cbc459d0
commit 15ff74209c
8 changed files with 49 additions and 7 deletions
@@ -27638,6 +27638,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/super/multipleSuperTraits.kt");
}
@TestMetadata("superCallToNonGenericImplThroughGenericDefaultImpls.kt")
public void testSuperCallToNonGenericImplThroughGenericDefaultImpls() throws Exception {
runTest("compiler/testData/codegen/box/super/superCallToNonGenericImplThroughGenericDefaultImpls.kt");
}
@TestMetadata("traitproperty.kt")
public void testTraitproperty() throws Exception {
runTest("compiler/testData/codegen/box/super/traitproperty.kt");