[NI-MIGRATE] Update pseudocode tests for NI

This commit is contained in:
Mikhail Zarechenskiy
2020-02-06 11:27:38 +03:00
parent a0071885bf
commit ca57d6cd16
7 changed files with 39 additions and 42 deletions
+2 -2
View File
@@ -50,8 +50,8 @@ a || false
== anonymous_0 ==
{1}
---------------------
1 <v0>: Int NEW: r(1) -> <v0>
1 <v0>: Int COPY
1 <v0>: {<: Any} NEW: r(1) -> <v0>
1 <v0>: {<: Any} COPY
=====================
== foo ==
fun foo(a : Boolean, b : Int) : Unit {}
@@ -65,11 +65,11 @@ with(B) { A.foo() } <v2>: {<: ???} COPY
A.foo()
}
---------------------
<v0>: B NEW: magic[IMPLICIT_RECEIVER](foo) -> <v0>
<v3>: C NEW: magic[IMPLICIT_RECEIVER](foo()) -> <v3>
A <v1>: A.Companion NEW: r(A, Companion) -> <v1>
foo <v2>: X NEW: r(foo|<v0>, <v1>) -> <v2>
foo() <v4>: {<: [ERROR : Error function type]} NEW: call(foo(), invoke|<v2>, <v3>) -> <v4>
A.foo() <v4>: {<: [ERROR : Error function type]} COPY
A.foo() <v4>: {<: [ERROR : Error function type]} COPY
<v0>: B NEW: magic[IMPLICIT_RECEIVER](foo) -> <v0>
<v3>: C NEW: magic[IMPLICIT_RECEIVER](foo()) -> <v3>
A <v1>: A.Companion NEW: r(A, Companion) -> <v1>
foo <v2>: X NEW: r(foo|<v0>, <v1>) -> <v2>
foo() <v4>: {<: ???} NEW: call(foo(), invoke|<v2>, <v3>) -> <v4>
A.foo() <v4>: {<: ???} COPY
A.foo() <v4>: {<: ???} COPY
=====================
@@ -1,7 +1,7 @@
== C ==
class C {
fun component1() = 1
fun component2() = 2
operator fun component1() = 1
operator fun component2() = 2
}
---------------------
L0:
@@ -14,7 +14,7 @@ sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== component1 ==
fun component1() = 1
operator fun component1() = 1
---------------------
L0:
1 <START>
@@ -28,7 +28,7 @@ sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== component2 ==
fun component2() = 2
operator fun component2() = 2
---------------------
L0:
1 <START>
@@ -69,4 +69,4 @@ error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
=====================
@@ -1,8 +1,8 @@
package n
class C {
fun component1() = 1
fun component2() = 2
operator fun component1() = 1
operator fun component2() = 2
}
fun test(c: C) {
@@ -1,17 +1,17 @@
== C ==
class C {
fun component1() = 1
fun component2() = 2
operator fun component1() = 1
operator fun component2() = 2
}
---------------------
=====================
== component1 ==
fun component1() = 1
operator fun component1() = 1
---------------------
1 <v0>: Int NEW: r(1) -> <v0>
=====================
== component2 ==
fun component2() = 2
operator fun component2() = 2
---------------------
2 <v0>: Int NEW: r(2) -> <v0>
=====================
@@ -22,8 +22,8 @@ fun test(c: C) {
}
---------------------
<v0>: C NEW: magic[FAKE_INITIALIZER](c: C) -> <v0>
a <v2>: Int NEW: call(a, component1|<v1>) -> <v2>
b <v3>: Int NEW: call(b, component2|<v1>) -> <v3>
c <v1>: C NEW: r(c) -> <v1>
1 <v4>: Int NEW: r(1) -> <v4>
a <v2>: Int NEW: call(a, component1|<v1>) -> <v2>
b <v3>: Int NEW: call(b, component2|<v1>) -> <v3>
c <v1>: C NEW: r(c) -> <v1>
1 <v4>: Int NEW: r(1) -> <v4>
=====================
@@ -246,18 +246,16 @@ L8:
mark({ if (it == null) { return@outer Unit } else { return@outer Unit } })
r({ if (it == null) { return@outer Unit } else { return@outer Unit } }) -> <v1>
mark(myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } })
call(myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } }, myLet|<v0>, <v1>)
call(myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } }, myLet|<v0>, <v1>) -> <v2>
L10 [before inlined declaration]:
inlined({ if (it == null) { return@outer Unit } else { return@outer Unit } }) NEXT:[<SINK>]
L11 [after inlined declaration]:
- jmp(error) NEXT:[<ERROR>] PREV:[]
- jmp(error) NEXT:[<ERROR>] PREV:[]
inlined({ if (it == null) { return@outer Unit } else { return@outer Unit } }) NEXT:[<SINK>]
L9:
- 5 <END> NEXT:[<SINK>] PREV:[]
L11 [after inlined declaration]:
- 5 <END> NEXT:[<SINK>] PREV:[]
error:
- <ERROR> PREV:[]
- <ERROR> PREV:[]
sink:
<SINK> PREV:[inlined({ if (it == null) { return@outer Unit } else { return@outer Unit } })]
<SINK> PREV:[inlined({ if (it == null) { return@outer Unit } else { return@outer Unit } })]
=====================
== inlined anonymous_4 ==
{
@@ -288,9 +286,8 @@ L14 [else branch]:
ret(*|<v5>) L5 NEXT:[<END>]
L15 ['if' expression result]:
- 8 merge(if (it == null) { return@outer Unit } else { return@outer Unit }|!<v4>, !<v6>) -> <v7> PREV:[]
- 7 ret(*|<v7>) L13 PREV:[]
L13:
- <END> NEXT:[<SINK>] PREV:[]
- 7 <END> NEXT:[<SINK>] PREV:[]
error:
- <ERROR> PREV:[]
sink:
@@ -137,12 +137,12 @@ myRun middle@ { x.myLet inner@ { if (it == null) { return@outer Unit } else { re
}
}
---------------------
x <v0>: {<: Int?} NEW: r(x) -> <v0>
{ if (it == null) { return@outer Unit } else { return@outer Unit } } <v1>: {<: (Int?) -> Nothing} NEW: r({ if (it == null) { return@outer Unit } else { return@outer Unit } }) -> <v1>
inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } } <v1>: {<: (Int?) -> Nothing} COPY
myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } } !<v2>: *
x.myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } } !<v2>: * COPY
x.myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } } !<v2>: * COPY
x <v0>: {<: Int?} NEW: r(x) -> <v0>
{ if (it == null) { return@outer Unit } else { return@outer Unit } } <v1>: {<: (Int?) -> Unit} NEW: r({ if (it == null) { return@outer Unit } else { return@outer Unit } }) -> <v1>
inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } } <v1>: {<: (Int?) -> Unit} COPY
myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } } <v2>: * NEW: call(myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } }, myLet|<v0>, <v1>) -> <v2>
x.myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } } <v2>: * COPY
x.myLet inner@ { if (it == null) { return@outer Unit } else { return@outer Unit } } <v2>: * COPY
=====================
== inlined anonymous_4 ==
{
@@ -163,6 +163,6 @@ return@outer Unit !<v4>: *
Unit <v5>: Unit NEW: r(Unit) -> <v5>
return@outer Unit !<v6>: *
{ return@outer Unit } !<v6>: * COPY
if (it == null) { return@outer Unit } else { return@outer Unit } <v7>: Nothing NEW: merge(if (it == null) { return@outer Unit } else { return@outer Unit }|!<v4>, !<v6>) -> <v7>
if (it == null) { return@outer Unit } else { return@outer Unit } <v7>: Nothing COPY
if (it == null) { return@outer Unit } else { return@outer Unit } <v7>: * NEW: merge(if (it == null) { return@outer Unit } else { return@outer Unit }|!<v4>, !<v6>) -> <v7>
if (it == null) { return@outer Unit } else { return@outer Unit } <v7>: * COPY
=====================