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 dd10429da4f..523e1f8ee8a 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,4 +47,10 @@ public class BlackBoxWithJava8CodegenTestGenerated extends AbstractBlackBoxCodeg doTestWithJava(fileName); } + @TestMetadata("samOnInterfaceWithDefaultMethod") + public void testSamOnInterfaceWithDefaultMethod() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/"); + doTestWithJava(fileName); + } + } diff --git a/compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/JavaCall.java b/compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/JavaCall.java new file mode 100644 index 00000000000..44f7df52eff --- /dev/null +++ b/compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/JavaCall.java @@ -0,0 +1,5 @@ +class JavaCall { + String call(Test test) { + return test.call(); + } +} \ No newline at end of file diff --git a/compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/Test.java b/compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/Test.java new file mode 100644 index 00000000000..ae22869d2e4 --- /dev/null +++ b/compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/Test.java @@ -0,0 +1,12 @@ +interface Test { + + String call(); + + default String test() { + return "K"; + } + + static String testStatic() { + return "K"; + } +} diff --git a/compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/sam.kt b/compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/sam.kt new file mode 100644 index 00000000000..bcfeefa593b --- /dev/null +++ b/compiler/testData/codegen/java8/boxWithJava/samOnInterfaceWithDefaultMethod/sam.kt @@ -0,0 +1,3 @@ +fun box(): String { + return JavaCall().call {"OK"} +} diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/generated/AbstractBlackBoxCodegenTest.java b/compiler/tests/org/jetbrains/kotlin/codegen/generated/AbstractBlackBoxCodegenTest.java index 864f53c196e..e17efabab17 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/generated/AbstractBlackBoxCodegenTest.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/generated/AbstractBlackBoxCodegenTest.java @@ -153,8 +153,7 @@ public abstract class AbstractBlackBoxCodegenTest extends CodegenTestCase { File kotlinOut = JetTestUtils.tmpDir(toString()); OutputUtilsPackage.writeAllTo(classFileFactory, kotlinOut); - // TODO: support several Java sources - File javaOut = compileJava(KotlinPackage.single(javaFilePaths), kotlinOut.getPath()); + File javaOut = compileJava(javaFilePaths, kotlinOut.getPath()); // Add javac output to classpath so that the created class loader can find generated Java classes addJvmClasspathRoot(configuration, javaOut);