Pseudocode: Implement computation of expected type predicates

This commit is contained in:
Alexey Sedunov
2014-06-23 14:02:22 +04:00
parent 50228fa085
commit 5e2c2b4eca
87 changed files with 1154 additions and 803 deletions
@@ -17,7 +17,7 @@ class C() {
}
}
---------------------
1 <v0> NEW()
1 <v0>: Int NEW()
=====================
== doSmth ==
fun doSmth(i: Int) {}
@@ -33,8 +33,8 @@ fun test1() {
}
}
---------------------
1 <v1> NEW()
object { val x : Int { $x = 1 } } <v2> NEW()
1 <v1>: Int NEW()
object { val x : Int { $x = 1 } } <v2>: <no name provided> NEW()
=====================
== O ==
object O {
@@ -44,7 +44,7 @@ object O {
}
}
---------------------
1 <v1> NEW()
1 <v1>: Int NEW()
=====================
== test2 ==
fun test2() {
@@ -54,9 +54,9 @@ fun test2() {
}
}
---------------------
1 <v0> NEW()
b <v1> NEW()
object { val x = b } <v2> NEW()
1 <v0>: Int NEW()
b <v1>: Int NEW()
object { val x = b } <v2>: <no name provided> NEW()
=====================
== test3 ==
fun test3() {
@@ -68,14 +68,14 @@ fun test3() {
}
}
---------------------
object { val y : Int fun inner_bar() { y = 10 } } <v0> NEW()
object { val y : Int fun inner_bar() { y = 10 } } <v0>: <no name provided> NEW()
=====================
== inner_bar ==
fun inner_bar() {
y = 10
}
---------------------
10 <v1> NEW()
10 <v1>: Int NEW()
=====================
== test4 ==
fun test4() {
@@ -91,15 +91,15 @@ fun test4() {
}
}
---------------------
1 <v1> NEW()
object { val x : Int val y : Int { $x = 1 } fun ggg() { y = 10 } } <v2> NEW()
1 <v1>: Int NEW()
object { val x : Int val y : Int { $x = 1 } fun ggg() { y = 10 } } <v2>: <no name provided> NEW()
=====================
== ggg ==
fun ggg() {
y = 10
}
---------------------
10 <v1> NEW()
10 <v1>: Int NEW()
=====================
== test5 ==
fun test5() {
@@ -117,21 +117,21 @@ fun test5() {
}
}
---------------------
1 <v0> NEW()
2 <v2> NEW()
object { var x = 1 { $x = 2 } fun foo() { x = 3 } fun bar() { x = 4 } } <v3> NEW()
1 <v0>: Int NEW()
2 <v2>: Int NEW()
object { var x = 1 { $x = 2 } fun foo() { x = 3 } fun bar() { x = 4 } } <v3>: <no name provided> NEW()
=====================
== foo ==
fun foo() {
x = 3
}
---------------------
3 <v1> NEW()
3 <v1>: Int NEW()
=====================
== bar ==
fun bar() {
x = 4
}
---------------------
4 <v1> NEW()
4 <v1>: Int NEW()
=====================
@@ -17,7 +17,7 @@ class B : A {
== foo ==
override fun foo() = 10
---------------------
10 <v0> NEW()
10 <v0>: Int NEW()
=====================
== foo ==
fun foo(b: B) : Int {
@@ -25,9 +25,9 @@ fun foo(b: B) : Int {
return o.foo()
}
---------------------
b <v1> NEW()
object : A by b {} <v2> NEW()
o <v3> NEW()
foo() <v4> NEW(<v3>)
o.foo() <v4> COPY
b <v1>: * NEW()
object : A by b {} <v2>: <no name provided> NEW()
o <v3>: {<: A} NEW()
foo() <v4>: Int NEW(<v3>)
o.foo() <v4>: Int COPY
=====================
@@ -21,12 +21,12 @@ fun f() {
}
}
---------------------
"" <v0> NEW()
"" <v0>: String NEW()
=====================
== loc ==
fun loc() {
val x3 = ""
}
---------------------
"" <v0> NEW()
"" <v0>: String NEW()
=====================
@@ -16,5 +16,5 @@ get() {
return b
}
---------------------
b <v0> NEW()
b <v0>: Int NEW()
=====================