Pseudocode: Generate instructions for callable reference expressions
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
== bar ==
|
||||
fun bar(): Int = 1
|
||||
---------------------
|
||||
L0:
|
||||
1 <START>
|
||||
r(1) -> <v0>
|
||||
ret(*|<v0>) L1
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== foo ==
|
||||
fun foo(): Any = ::bar
|
||||
---------------------
|
||||
L0:
|
||||
1 <START>
|
||||
mark(::bar)
|
||||
magic[CALLABLE_REFERENCE](::bar) -> <v0>
|
||||
ret(*|<v0>) L1
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,3 @@
|
||||
fun bar(): Int = 1
|
||||
|
||||
fun foo(): Any = ::bar
|
||||
@@ -0,0 +1,10 @@
|
||||
== bar ==
|
||||
fun bar(): Int = 1
|
||||
---------------------
|
||||
1 <v0>: Int NEW: r(1) -> <v0>
|
||||
=====================
|
||||
== foo ==
|
||||
fun foo(): Any = ::bar
|
||||
---------------------
|
||||
::bar <v0>: {<: Any} NEW: magic[CALLABLE_REFERENCE](::bar) -> <v0>
|
||||
=====================
|
||||
Reference in New Issue
Block a user