backend/tests: add objectExpression{1,2,3}
This commit is contained in:
committed by
SvyatoslavScherbina
parent
26e1075893
commit
d5988297b1
@@ -814,6 +814,21 @@ task lambda13(type: RunKonanTest) {
|
|||||||
source = "codegen/lambda/lambda13.kt"
|
source = "codegen/lambda/lambda13.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task objectExpression1(type: RunKonanTest) {
|
||||||
|
goldValue = "aabb\n"
|
||||||
|
source = "codegen/objectExpression/1.kt"
|
||||||
|
}
|
||||||
|
|
||||||
|
task objectExpression2(type: RunKonanTest) {
|
||||||
|
goldValue = "a\n"
|
||||||
|
source = "codegen/objectExpression/2.kt"
|
||||||
|
}
|
||||||
|
|
||||||
|
task objectExpression3(type: RunKonanTest) {
|
||||||
|
goldValue = "\n1\n2\n"
|
||||||
|
source = "codegen/objectExpression/3.kt"
|
||||||
|
}
|
||||||
|
|
||||||
task initializers2(type: RunKonanTest) {
|
task initializers2(type: RunKonanTest) {
|
||||||
goldValue = "init globalValue2\n" +
|
goldValue = "init globalValue2\n" +
|
||||||
"init globalValue3\n" +
|
"init globalValue3\n" +
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
fun main(args: Array<String>) {
|
||||||
|
val a = "a"
|
||||||
|
|
||||||
|
val x = object {
|
||||||
|
override fun toString(): String {
|
||||||
|
return foo(a) + foo("b")
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(s: String) = s + s
|
||||||
|
}
|
||||||
|
|
||||||
|
println(x.toString())
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
fun main(args: Array<String>) {
|
||||||
|
val a = "a"
|
||||||
|
|
||||||
|
val x = object {
|
||||||
|
override fun toString(): String {
|
||||||
|
return foo {
|
||||||
|
a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(lambda: () -> String) = lambda()
|
||||||
|
}
|
||||||
|
|
||||||
|
print(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun print(x: Any) = println(x.toString())
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
fun main(args: Array<String>) {
|
||||||
|
var cnt = 0
|
||||||
|
|
||||||
|
var x: Any = ""
|
||||||
|
|
||||||
|
for (i in 0 .. 1) {
|
||||||
|
print(x)
|
||||||
|
cnt++
|
||||||
|
val y = object {
|
||||||
|
override fun toString() = cnt.toString()
|
||||||
|
}
|
||||||
|
x = y
|
||||||
|
}
|
||||||
|
print(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun print(x: Any) = println(x.toString())
|
||||||
Reference in New Issue
Block a user