Add tests on callable references

Object members and accessors for private class members
This commit is contained in:
Alexander Udalov
2013-12-17 23:37:57 +04:00
parent 363fe607fc
commit 596b1622a3
4 changed files with 48 additions and 0 deletions
@@ -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
}
@@ -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
}
@@ -0,0 +1,7 @@
class A {
private fun foo() = "OK"
fun bar() = this.(::foo)()
}
fun box() = A().bar()
@@ -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");