Files
kotlin-fork/compiler/testData/cfg-variables/bugs/referenceToPropertyInitializer.values
T
Denis Zharkov 73799e2c3c Replace deprecated lambda syntax in testData
It's done with similar constructions where possible trying to preserve
intended behavior.
Some usages are removed because they test exactly the feature that
we are going to drop soon.
2015-09-25 08:29:25 +03:00

68 lines
2.9 KiB
Plaintext
Vendored

== TestFunctionLiteral ==
class TestFunctionLiteral {
val sum: (Int)->Int = { x: Int ->
sum(x - 1) + x
}
}
---------------------
{ x: Int -> sum(x - 1) + x } <v0>: {<: (Int) -> Int} NEW: r({ x: Int -> sum(x - 1) + x }) -> <v0>
=====================
== anonymous_0 ==
{ x: Int ->
sum(x - 1) + x
}
---------------------
<v0>: Int NEW: magic[FAKE_INITIALIZER](x: Int) -> <v0>
<v1>: TestFunctionLiteral NEW: magic[IMPLICIT_RECEIVER](sum) -> <v1>
sum <v2>: {<: (Int) -> Int} NEW: r(sum|<v1>) -> <v2>
x <v3>: Int NEW: r(x) -> <v3>
1 <v4>: Int NEW: r(1) -> <v4>
x - 1 <v5>: Int NEW: call(x - 1, minus|<v3>, <v4>) -> <v5>
sum(x - 1) <v6>: Int NEW: call(sum(x - 1), invoke|<v2>, <v5>) -> <v6>
x <v7>: Int NEW: r(x) -> <v7>
sum(x - 1) + x <v8>: Int NEW: call(sum(x - 1) + x, plus|<v6>, <v7>) -> <v8>
sum(x - 1) + x <v8>: Int COPY
=====================
== A ==
open class A(val a: A)
---------------------
<v0>: {<: A} NEW: magic[FAKE_INITIALIZER](val a: A) -> <v0>
=====================
== TestObjectLiteral ==
class TestObjectLiteral {
val obj: A = object: A(obj) {
init {
val x = obj
}
fun foo() {
val y = obj
}
}
}
---------------------
<v0>: TestObjectLiteral NEW: magic[IMPLICIT_RECEIVER](obj) -> <v0>
<v3>: TestObjectLiteral NEW: magic[IMPLICIT_RECEIVER](obj) -> <v3>
obj <v1>: {<: A} NEW: r(obj|<v0>) -> <v1>
A(obj) <v2>: * NEW: call(A(obj), <init>|<v1>) -> <v2>
obj <v4>: {<: A} NEW: r(obj|<v3>) -> <v4>
object: A(obj) { init { val x = obj } fun foo() { val y = obj } } <v5>: {<: A} NEW: r(object: A(obj) { init { val x = obj } fun foo() { val y = obj } }) -> <v5>
=====================
== foo ==
fun foo() {
val y = obj
}
---------------------
<v0>: TestObjectLiteral NEW: magic[IMPLICIT_RECEIVER](obj) -> <v0>
obj <v1>: {<: A} NEW: r(obj|<v0>) -> <v1>
=====================
== TestOther ==
class TestOther {
val x: Int = x + 1
}
---------------------
<v0>: TestOther NEW: magic[IMPLICIT_RECEIVER](x) -> <v0>
x <v1>: Int NEW: r(x|<v0>) -> <v1>
1 <v2>: Int NEW: r(1) -> <v2>
x + 1 <v3>: Int NEW: call(x + 1, plus|<v1>, <v2>) -> <v3>
=====================