Pseudocode: Generate UNSUPPORTED_ELEMENT for misplaced returns

This commit is contained in:
Alexey Sedunov
2014-07-21 15:46:52 +04:00
parent b0bf11c51e
commit d07deeb5fb
6 changed files with 66 additions and 0 deletions
@@ -0,0 +1,34 @@
== a ==
val a: Int = return 1
---------------------
L0:
1 <START>
v(val a: Int = return 1)
r(1) -> <v0>
magic[UNSUPPORTED_ELEMENT](return 1|<v0>) -> <v1>
w(a|<v1>)
L1:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== A ==
class A {
val a: Int = return 1
}
---------------------
L0:
1 <START>
v(val a: Int = return 1)
r(1) -> <v0>
magic[UNSUPPORTED_ELEMENT](return 1|<v0>) -> <v1>
w(a|<v1>)
L1:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
@@ -0,0 +1,5 @@
val a: Int = return 1
class A {
val a: Int = return 1
}
@@ -0,0 +1,14 @@
== a ==
val a: Int = return 1
---------------------
1 <v0>: * NEW: r(1) -> <v0>
return 1 <v1>: Int NEW: magic[UNSUPPORTED_ELEMENT](return 1|<v0>) -> <v1>
=====================
== A ==
class A {
val a: Int = return 1
}
---------------------
1 <v0>: * NEW: r(1) -> <v0>
return 1 <v1>: Int NEW: magic[UNSUPPORTED_ELEMENT](return 1|<v0>) -> <v1>
=====================