Pseudocode: Implement computation of expected type predicates
This commit is contained in:
@@ -9,18 +9,18 @@ fun foo() {
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
1 <v0> NEW()
|
||||
2 <v1> NEW()
|
||||
1 < 2 <v2> NEW(<v0>, <v1>)
|
||||
b <v3> NEW()
|
||||
use(b) <v4> NEW(<v3>)
|
||||
{ use(b) } <v4> COPY
|
||||
true <v5> NEW()
|
||||
if (1 < 2) { use(b) } else { b = true } <v4> COPY
|
||||
{ val b: Boolean if (1 < 2) { use(b) } else { b = true } } <v4> COPY
|
||||
1 <v0>: {<: Comparable<Int>} NEW()
|
||||
2 <v1>: Int NEW()
|
||||
1 < 2 <v2>: Boolean NEW(<v0>, <v1>)
|
||||
b <v3>: {<: Any?} NEW()
|
||||
use(b) <v4>: * NEW(<v3>)
|
||||
{ use(b) } <v4>: * COPY
|
||||
true <v5>: Boolean NEW()
|
||||
if (1 < 2) { use(b) } else { b = true } <v4>: * COPY
|
||||
{ val b: Boolean if (1 < 2) { use(b) } else { b = true } } <v4>: * COPY
|
||||
=====================
|
||||
== use ==
|
||||
fun use(vararg a: Any?) = a
|
||||
---------------------
|
||||
a <v1> NEW()
|
||||
a <v1>: {<: Array<Any?>} NEW()
|
||||
=====================
|
||||
|
||||
Reference in New Issue
Block a user