Mark some expressions after processing their components
when it's semantically correct Expressions: calls, 'for' loops, elvis operators It's significant for reporting 'unreachable code' correctly
This commit is contained in:
@@ -70,8 +70,8 @@ L0:
|
||||
r(object : A by b {}) -> <v2>
|
||||
w(o|<v2>)
|
||||
mark(o.foo())
|
||||
mark(foo())
|
||||
r(o) -> <v3>
|
||||
mark(foo())
|
||||
call(foo, foo|<v3>) -> <v4>
|
||||
ret(*|<v4>) L1
|
||||
L1:
|
||||
|
||||
+1
-1
@@ -19,12 +19,12 @@ fun foo() = "foo" + this.$bar
|
||||
---------------------
|
||||
L0:
|
||||
1 <START>
|
||||
mark("foo" + this.$bar)
|
||||
mark("foo")
|
||||
r("foo") -> <v0>
|
||||
mark(this.$bar)
|
||||
r(this) -> <v1>
|
||||
r($bar|<v1>) -> <v2>
|
||||
mark("foo" + this.$bar)
|
||||
call(+, plus|<v0>, <v2>) -> <v3>
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
|
||||
Reference in New Issue
Block a user