5cb949ad7f
In 1.3, due to changes in language, testdata for some tests can be different from 1.2 We want to simlultaneously test both versions, so instead of fixing language version in such tests, we split them into two: one with fixed 1.2, another with fixed 1.3
264 lines
13 KiB
Plaintext
Vendored
264 lines
13 KiB
Plaintext
Vendored
== println ==
|
|
fun println(obj: Any?) {}
|
|
---------------------
|
|
<v0>: * NEW: magic[FAKE_INITIALIZER](obj: Any?) -> <v0>
|
|
=====================
|
|
== Demo0 ==
|
|
class Demo0 {
|
|
private val some = object {
|
|
fun foo() {
|
|
println(state) // Ok
|
|
}
|
|
}
|
|
|
|
private var state: Boolean = true
|
|
}
|
|
---------------------
|
|
object { fun foo() { println(state) // Ok } } <v0>: <no name provided> NEW: r(object { fun foo() { println(state) // Ok } }) -> <v0>
|
|
true <v1>: Boolean NEW: r(true) -> <v1>
|
|
=====================
|
|
== foo ==
|
|
fun foo() {
|
|
println(state) // Ok
|
|
}
|
|
---------------------
|
|
<v0>: Demo0 NEW: magic[IMPLICIT_RECEIVER](state) -> <v0>
|
|
state <v1>: * NEW: r(state|<v0>) -> <v1>
|
|
println(state) <v2>: * NEW: call(println(state), println|<v1>) -> <v2>
|
|
{ println(state) // Ok } <v2>: * COPY
|
|
=====================
|
|
== Demo1 ==
|
|
class Demo1 {
|
|
private val some = object {
|
|
fun foo() {
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // must be initialized
|
|
}
|
|
}
|
|
|
|
private var state: Boolean = true
|
|
}
|
|
---------------------
|
|
object { fun foo() { if (state) state = true println(state) // must be initialized } } <v0>: <no name provided> NEW: r(object { fun foo() { if (state) state = true println(state) // must be initialized } }) -> <v0>
|
|
true <v1>: Boolean NEW: r(true) -> <v1>
|
|
=====================
|
|
== foo ==
|
|
fun foo() {
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // must be initialized
|
|
}
|
|
---------------------
|
|
<v0>: Demo1 NEW: magic[IMPLICIT_RECEIVER](state) -> <v0>
|
|
<v2>: Demo1 NEW: magic[IMPLICIT_RECEIVER](state) -> <v2>
|
|
<v6>: Demo1 NEW: magic[IMPLICIT_RECEIVER](state) -> <v6>
|
|
state <v1>: Boolean NEW: r(state|<v0>) -> <v1>
|
|
true <v3>: Boolean NEW: r(true) -> <v3>
|
|
state = true !<v4>: *
|
|
if (state) state = true <v5>: * NEW: merge(if (state) state = true|!<v4>) -> <v5>
|
|
state <v7>: * NEW: r(state|<v6>) -> <v7>
|
|
println(state) <v8>: * NEW: call(println(state), println|<v7>) -> <v8>
|
|
{ if (state) state = true println(state) // must be initialized } <v8>: * COPY
|
|
=====================
|
|
== Demo1A ==
|
|
class Demo1A {
|
|
fun foo() {
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // Ok
|
|
}
|
|
|
|
private var state: Boolean = true
|
|
}
|
|
---------------------
|
|
true <v0>: Boolean NEW: r(true) -> <v0>
|
|
=====================
|
|
== foo ==
|
|
fun foo() {
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // Ok
|
|
}
|
|
---------------------
|
|
<v0>: Demo1A NEW: magic[IMPLICIT_RECEIVER](state) -> <v0>
|
|
<v2>: Demo1A NEW: magic[IMPLICIT_RECEIVER](state) -> <v2>
|
|
<v6>: Demo1A NEW: magic[IMPLICIT_RECEIVER](state) -> <v6>
|
|
state <v1>: Boolean NEW: r(state|<v0>) -> <v1>
|
|
true <v3>: Boolean NEW: r(true) -> <v3>
|
|
state = true !<v4>: *
|
|
if (state) state = true <v5>: * NEW: merge(if (state) state = true|!<v4>) -> <v5>
|
|
state <v7>: * NEW: r(state|<v6>) -> <v7>
|
|
println(state) <v8>: * NEW: call(println(state), println|<v7>) -> <v8>
|
|
{ if (state) state = true println(state) // Ok } <v8>: * COPY
|
|
=====================
|
|
== Demo2 ==
|
|
class Demo2 {
|
|
private val some = object {
|
|
fun foo() {
|
|
if (state)
|
|
state = true
|
|
else
|
|
state = false
|
|
|
|
println(state) // OK
|
|
}
|
|
}
|
|
|
|
private var state: Boolean = true
|
|
}
|
|
---------------------
|
|
object { fun foo() { if (state) state = true else state = false println(state) // OK } } <v0>: <no name provided> NEW: r(object { fun foo() { if (state) state = true else state = false println(state) // OK } }) -> <v0>
|
|
true <v1>: Boolean NEW: r(true) -> <v1>
|
|
=====================
|
|
== foo ==
|
|
fun foo() {
|
|
if (state)
|
|
state = true
|
|
else
|
|
state = false
|
|
|
|
println(state) // OK
|
|
}
|
|
---------------------
|
|
<v0>: Demo2 NEW: magic[IMPLICIT_RECEIVER](state) -> <v0>
|
|
<v2>: Demo2 NEW: magic[IMPLICIT_RECEIVER](state) -> <v2>
|
|
<v4>: Demo2 NEW: magic[IMPLICIT_RECEIVER](state) -> <v4>
|
|
<v9>: Demo2 NEW: magic[IMPLICIT_RECEIVER](state) -> <v9>
|
|
state <v1>: Boolean NEW: r(state|<v0>) -> <v1>
|
|
true <v3>: Boolean NEW: r(true) -> <v3>
|
|
state = true !<v6>: *
|
|
false <v5>: Boolean NEW: r(false) -> <v5>
|
|
state = false !<v7>: *
|
|
if (state) state = true else state = false <v8>: * NEW: merge(if (state) state = true else state = false|!<v6>, !<v7>) -> <v8>
|
|
state <v10>: * NEW: r(state|<v9>) -> <v10>
|
|
println(state) <v11>: * NEW: call(println(state), println|<v10>) -> <v11>
|
|
{ if (state) state = true else state = false println(state) // OK } <v11>: * COPY
|
|
=====================
|
|
== Demo3 ==
|
|
class Demo3 {
|
|
private val some = run {
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // OK
|
|
}
|
|
|
|
private var state: Boolean = true
|
|
}
|
|
---------------------
|
|
<v0>: Demo3 NEW: magic[IMPLICIT_RECEIVER](run { if (state) state = true println(state) // OK }) -> <v0>
|
|
{ if (state) state = true println(state) // OK } <v1>: {<: Demo3.() -> Unit} NEW: r({ if (state) state = true println(state) // OK }) -> <v1>
|
|
run { if (state) state = true println(state) // OK } <v2>: Unit NEW: call(run { if (state) state = true println(state) // OK }, run|<v0>, <v1>) -> <v2>
|
|
true <v3>: Boolean NEW: r(true) -> <v3>
|
|
=====================
|
|
== anonymous_0 ==
|
|
{
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // OK
|
|
}
|
|
---------------------
|
|
<v0>: Demo3 NEW: magic[IMPLICIT_RECEIVER](state) -> <v0>
|
|
<v2>: Demo3 NEW: magic[IMPLICIT_RECEIVER](state) -> <v2>
|
|
<v6>: Demo3 NEW: magic[IMPLICIT_RECEIVER](state) -> <v6>
|
|
state <v1>: Boolean NEW: r(state|<v0>) -> <v1>
|
|
true <v3>: Boolean NEW: r(true) -> <v3>
|
|
state = true !<v4>: *
|
|
if (state) state = true <v5>: * NEW: merge(if (state) state = true|!<v4>) -> <v5>
|
|
state <v7>: * NEW: r(state|<v6>) -> <v7>
|
|
println(state) <v8>: * NEW: call(println(state), println|<v7>) -> <v8>
|
|
if (state) state = true println(state) // OK <v8>: * COPY
|
|
=====================
|
|
== run ==
|
|
fun <T, R> T.run(f: T.() -> R) = f()
|
|
---------------------
|
|
<v0>: {<: T.() -> R} NEW: magic[FAKE_INITIALIZER](f: T.() -> R) -> <v0>
|
|
<v2>: {<: T} NEW: magic[IMPLICIT_RECEIVER](f()) -> <v2>
|
|
f <v1>: {<: (T) -> R} NEW: r(f) -> <v1>
|
|
f() <v3>: {<: R} NEW: call(f(), invoke|<v1>, <v2>) -> <v3>
|
|
=====================
|
|
== exec ==
|
|
fun <T> exec(f: () -> T): T = f()
|
|
---------------------
|
|
<v0>: {<: () -> T} NEW: magic[FAKE_INITIALIZER](f: () -> T) -> <v0>
|
|
f <v1>: {<: () -> T} NEW: r(f) -> <v1>
|
|
f() <v2>: {<: T} NEW: call(f(), invoke|<v1>) -> <v2>
|
|
=====================
|
|
== Demo4 ==
|
|
class Demo4 {
|
|
private val some = exec {
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // must be initialized
|
|
}
|
|
|
|
private var state: Boolean = true
|
|
}
|
|
---------------------
|
|
{ if (state) state = true println(state) // must be initialized } <v0>: {<: () -> Unit} NEW: r({ if (state) state = true println(state) // must be initialized }) -> <v0>
|
|
exec { if (state) state = true println(state) // must be initialized } <v1>: Unit NEW: call(exec { if (state) state = true println(state) // must be initialized }, exec|<v0>) -> <v1>
|
|
true <v2>: Boolean NEW: r(true) -> <v2>
|
|
=====================
|
|
== anonymous_1 ==
|
|
{
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // must be initialized
|
|
}
|
|
---------------------
|
|
<v0>: Demo4 NEW: magic[IMPLICIT_RECEIVER](state) -> <v0>
|
|
<v2>: Demo4 NEW: magic[IMPLICIT_RECEIVER](state) -> <v2>
|
|
<v6>: Demo4 NEW: magic[IMPLICIT_RECEIVER](state) -> <v6>
|
|
state <v1>: Boolean NEW: r(state|<v0>) -> <v1>
|
|
true <v3>: Boolean NEW: r(true) -> <v3>
|
|
state = true !<v4>: *
|
|
if (state) state = true <v5>: * NEW: merge(if (state) state = true|!<v4>) -> <v5>
|
|
state <v7>: * NEW: r(state|<v6>) -> <v7>
|
|
println(state) <v8>: * NEW: call(println(state), println|<v7>) -> <v8>
|
|
if (state) state = true println(state) // must be initialized <v8>: * COPY
|
|
=====================
|
|
== Demo5 ==
|
|
class Demo5 {
|
|
private var state: Boolean = true
|
|
|
|
private val some = object {
|
|
fun foo() {
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // OK
|
|
}
|
|
}
|
|
}
|
|
---------------------
|
|
true <v0>: Boolean NEW: r(true) -> <v0>
|
|
object { fun foo() { if (state) state = true println(state) // OK } } <v1>: <no name provided> NEW: r(object { fun foo() { if (state) state = true println(state) // OK } }) -> <v1>
|
|
=====================
|
|
== foo ==
|
|
fun foo() {
|
|
if (state)
|
|
state = true
|
|
|
|
println(state) // OK
|
|
}
|
|
---------------------
|
|
<v0>: Demo5 NEW: magic[IMPLICIT_RECEIVER](state) -> <v0>
|
|
<v2>: Demo5 NEW: magic[IMPLICIT_RECEIVER](state) -> <v2>
|
|
<v6>: Demo5 NEW: magic[IMPLICIT_RECEIVER](state) -> <v6>
|
|
state <v1>: Boolean NEW: r(state|<v0>) -> <v1>
|
|
true <v3>: Boolean NEW: r(true) -> <v3>
|
|
state = true !<v4>: *
|
|
if (state) state = true <v5>: * NEW: merge(if (state) state = true|!<v4>) -> <v5>
|
|
state <v7>: * NEW: r(state|<v6>) -> <v7>
|
|
println(state) <v8>: * NEW: call(println(state), println|<v7>) -> <v8>
|
|
{ if (state) state = true println(state) // OK } <v8>: * COPY
|
|
=====================
|