diff --git a/compiler/testData/codegen/boxWithJava/samAdapters/operators/invoke.java b/compiler/testData/codegen/boxWithJava/samAdapters/operators/invoke.java new file mode 100644 index 00000000000..f5d89291195 --- /dev/null +++ b/compiler/testData/codegen/boxWithJava/samAdapters/operators/invoke.java @@ -0,0 +1,5 @@ +class JavaClass { + void invoke(Runnable i) { + i.run(); + } +} diff --git a/compiler/testData/codegen/boxWithJava/samAdapters/operators/invoke.kt b/compiler/testData/codegen/boxWithJava/samAdapters/operators/invoke.kt new file mode 100644 index 00000000000..adddf653b79 --- /dev/null +++ b/compiler/testData/codegen/boxWithJava/samAdapters/operators/invoke.kt @@ -0,0 +1,8 @@ +fun box(): String { + val obj = JavaClass() + + var v = "FAIL" + obj({ v = "O" }) + obj { v += "K" } + return v +} diff --git a/compiler/testData/codegen/boxWithJava/samAdapters/operators/multiInvoke.java b/compiler/testData/codegen/boxWithJava/samAdapters/operators/multiInvoke.java new file mode 100644 index 00000000000..89a33b0219c --- /dev/null +++ b/compiler/testData/codegen/boxWithJava/samAdapters/operators/multiInvoke.java @@ -0,0 +1,6 @@ +class JavaClass { + void invoke(Runnable p1, Runnable p2) { + p1.run(); + p2.run(); + } +} diff --git a/compiler/testData/codegen/boxWithJava/samAdapters/operators/multiInvoke.kt b/compiler/testData/codegen/boxWithJava/samAdapters/operators/multiInvoke.kt new file mode 100644 index 00000000000..b1bf1a36bfa --- /dev/null +++ b/compiler/testData/codegen/boxWithJava/samAdapters/operators/multiInvoke.kt @@ -0,0 +1,7 @@ +fun box(): String { + val obj = JavaClass() + + var v = "FAIL" + obj({ v = "O" }, { v += "K" }) + return v +} diff --git a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithJavaCodegenTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithJavaCodegenTestGenerated.java index ff05eb1389a..a20670c6f11 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithJavaCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithJavaCodegenTestGenerated.java @@ -257,11 +257,21 @@ public class BlackBoxWithJavaCodegenTestGenerated extends AbstractBlackBoxCodege doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/operators/get.kt"); } + @TestMetadata("invoke.kt") + public void testInvoke() throws Exception { + doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/operators/invoke.kt"); + } + @TestMetadata("multiGetSet.kt") public void testMultiGetSet() throws Exception { doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/operators/multiGetSet.kt"); } + @TestMetadata("multiInvoke.kt") + public void testMultiInvoke() throws Exception { + doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/operators/multiInvoke.kt"); + } + @TestMetadata("set.kt") public void testSet() throws Exception { doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/operators/set.kt");