From 596b1622a3f95c7690183405864514c2da736fdc Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 17 Dec 2013 23:37:57 +0400 Subject: [PATCH] Add tests on callable references Object members and accessors for private class members --- .../callableReference/objectMemberUnitNoArgs.kt | 13 +++++++++++++ .../objectMemberUnitOneStringArg.kt | 13 +++++++++++++ .../box/callableReference/privateClassMember.kt | 7 +++++++ .../generated/BlackBoxCodegenTestGenerated.java | 15 +++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 compiler/testData/codegen/box/callableReference/objectMemberUnitNoArgs.kt create mode 100644 compiler/testData/codegen/box/callableReference/objectMemberUnitOneStringArg.kt create mode 100644 compiler/testData/codegen/box/callableReference/privateClassMember.kt diff --git a/compiler/testData/codegen/box/callableReference/objectMemberUnitNoArgs.kt b/compiler/testData/codegen/box/callableReference/objectMemberUnitNoArgs.kt new file mode 100644 index 00000000000..35d45d87c65 --- /dev/null +++ b/compiler/testData/codegen/box/callableReference/objectMemberUnitNoArgs.kt @@ -0,0 +1,13 @@ +object A { + var result = "Fail" + + fun foo() { + result = "OK" + } +} + +fun box(): String { + val x = A::foo + A.x() + return A.result +} diff --git a/compiler/testData/codegen/box/callableReference/objectMemberUnitOneStringArg.kt b/compiler/testData/codegen/box/callableReference/objectMemberUnitOneStringArg.kt new file mode 100644 index 00000000000..1598361da6a --- /dev/null +++ b/compiler/testData/codegen/box/callableReference/objectMemberUnitOneStringArg.kt @@ -0,0 +1,13 @@ +object A { + var result = "Fail" + + fun foo(newResult: String) { + result = newResult + } +} + +fun box(): String { + val x = A::foo + A.x("OK") + return A.result +} diff --git a/compiler/testData/codegen/box/callableReference/privateClassMember.kt b/compiler/testData/codegen/box/callableReference/privateClassMember.kt new file mode 100644 index 00000000000..1b7ffe85906 --- /dev/null +++ b/compiler/testData/codegen/box/callableReference/privateClassMember.kt @@ -0,0 +1,7 @@ +class A { + private fun foo() = "OK" + + fun bar() = this.(::foo)() +} + +fun box() = A().bar() diff --git a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java index baf9ec25d36..593cae5515c 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -666,6 +666,21 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest("compiler/testData/codegen/box/callableReference/newArray.kt"); } + @TestMetadata("objectMemberUnitNoArgs.kt") + public void testObjectMemberUnitNoArgs() throws Exception { + doTest("compiler/testData/codegen/box/callableReference/objectMemberUnitNoArgs.kt"); + } + + @TestMetadata("objectMemberUnitOneStringArg.kt") + public void testObjectMemberUnitOneStringArg() throws Exception { + doTest("compiler/testData/codegen/box/callableReference/objectMemberUnitOneStringArg.kt"); + } + + @TestMetadata("privateClassMember.kt") + public void testPrivateClassMember() throws Exception { + doTest("compiler/testData/codegen/box/callableReference/privateClassMember.kt"); + } + @TestMetadata("sortListOfStrings.kt") public void testSortListOfStrings() throws Exception { doTest("compiler/testData/codegen/box/callableReference/sortListOfStrings.kt");