From 9905e2a7193e921f36beeb5417cd3bbdc180c36d Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 26 Jun 2013 01:07:25 +0400 Subject: [PATCH] Added tests with SAM adapters in "invoke" convention. --- .../boxWithJava/samAdapters/operators/invoke.java | 5 +++++ .../boxWithJava/samAdapters/operators/invoke.kt | 8 ++++++++ .../boxWithJava/samAdapters/operators/multiInvoke.java | 6 ++++++ .../boxWithJava/samAdapters/operators/multiInvoke.kt | 7 +++++++ .../BlackBoxWithJavaCodegenTestGenerated.java | 10 ++++++++++ 5 files changed, 36 insertions(+) create mode 100644 compiler/testData/codegen/boxWithJava/samAdapters/operators/invoke.java create mode 100644 compiler/testData/codegen/boxWithJava/samAdapters/operators/invoke.kt create mode 100644 compiler/testData/codegen/boxWithJava/samAdapters/operators/multiInvoke.java create mode 100644 compiler/testData/codegen/boxWithJava/samAdapters/operators/multiInvoke.kt 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");