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"
|
||||
}
|
||||
|
||||
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) {
|
||||
goldValue = "init globalValue2\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