IR: work around a bug in interface delegation descriptors

interface I {
        fun f(x: Int = 1)
    }
    class C(val y: I) : I by y {
        // implicit `override fun f(x: Int) = y.f(x)` has a default value for `x`
    }

-- the only case where a function with overridden symbols has defaults.
This commit is contained in:
pyos
2020-01-02 13:01:02 +01:00
committed by Alexander Udalov
parent 98f5c5aa95
commit 6b5d92a693
4 changed files with 51 additions and 13 deletions
@@ -118,6 +118,11 @@ public class CompileKotlinAgainstKotlinTestGenerated extends AbstractCompileKotl
runTest("compiler/testData/compileKotlinAgainstKotlin/defaultLambdaRegeneration2.kt");
}
@TestMetadata("delegatedDefault.kt")
public void testDelegatedDefault() throws Exception {
runTest("compiler/testData/compileKotlinAgainstKotlin/delegatedDefault.kt");
}
@TestMetadata("doublyNestedClass.kt")
public void testDoublyNestedClass() throws Exception {
runTest("compiler/testData/compileKotlinAgainstKotlin/doublyNestedClass.kt");