diff --git a/compiler/java8-tests/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxWithJava8CodegenTestGenerated.java b/compiler/java8-tests/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxWithJava8CodegenTestGenerated.java index 523e1f8ee8a..6bae70acab4 100644 --- a/compiler/java8-tests/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxWithJava8CodegenTestGenerated.java +++ b/compiler/java8-tests/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxWithJava8CodegenTestGenerated.java @@ -47,6 +47,12 @@ public class BlackBoxWithJava8CodegenTestGenerated extends AbstractBlackBoxCodeg doTestWithJava(fileName); } + @TestMetadata("dontDelegateToDefaultMethods") + public void testDontDelegateToDefaultMethods() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/java8/boxWithJava/dontDelegateToDefaultMethods/"); + doTestWithJava(fileName); + } + @TestMetadata("samOnInterfaceWithDefaultMethod") public void testSamOnInterfaceWithDefaultMethod() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/"); diff --git a/compiler/testData/codegen/java8/boxWithJava/dontDelegateToDefaultMethods/Test.java b/compiler/testData/codegen/java8/boxWithJava/dontDelegateToDefaultMethods/Test.java new file mode 100644 index 00000000000..1e92c6bc32d --- /dev/null +++ b/compiler/testData/codegen/java8/boxWithJava/dontDelegateToDefaultMethods/Test.java @@ -0,0 +1,8 @@ +interface Test { + + T call(); + + default T testDefault(T p) { + return p; + } +} diff --git a/compiler/testData/codegen/java8/boxWithJava/dontDelegateToDefaultMethods/delegation.kt b/compiler/testData/codegen/java8/boxWithJava/dontDelegateToDefaultMethods/delegation.kt new file mode 100644 index 00000000000..dc115d0bd78 --- /dev/null +++ b/compiler/testData/codegen/java8/boxWithJava/dontDelegateToDefaultMethods/delegation.kt @@ -0,0 +1,11 @@ +class Child : Test { + override fun call() : String { + return "OK" + } +} +fun box(): String { + val res = Child().call() + if (res != "OK") return "fail $res" + + return Child().testDefault("OK") +}