Files
kotlin-fork/compiler/testData/cfg/declarations/local/ObjectExpression.values
T
2015-05-12 19:43:17 +02:00

38 lines
1.6 KiB
Plaintext
Vendored

== A ==
interface A {
fun foo() : Int
}
---------------------
=====================
== foo ==
fun foo() : Int
---------------------
=====================
== B ==
class B : A {
override fun foo() = 10
}
---------------------
=====================
== foo ==
override fun foo() = 10
---------------------
10 <v0>: Int NEW: r(10) -> <v0>
=====================
== foo ==
fun foo(b: B) : Int {
val o = object : A by b {}
return o.foo()
}
---------------------
<v0>: B NEW: magic[FAKE_INITIALIZER](b: B) -> <v0>
<v2>: * NEW: magic[VALUE_CONSUMER](A by b|<v1>) -> <v2>
b <v1>: {<: A} NEW: r(b) -> <v1>
object : A by b {} <v3>: <no name provided> NEW: r(object : A by b {}) -> <v3>
o <v4>: {<: A} NEW: r(o) -> <v4>
foo() <v5>: Int NEW: call(foo(), foo|<v4>) -> <v5>
o.foo() <v5>: Int COPY
return o.foo() !<v6>: *
{ val o = object : A by b {} return o.foo() } !<v6>: * COPY
=====================