Pseudocode: Introduce pseudo-value analysis
This commit is contained in:
@@ -9,14 +9,14 @@ L0:
|
||||
2 mark({ throw Exception() test() })
|
||||
mark(throw Exception())
|
||||
mark(Exception())
|
||||
call(Exception, <init>)
|
||||
throw (throw Exception()) NEXT:[<ERROR>]
|
||||
call(Exception, <init>) -> <v0>
|
||||
throw (throw Exception()|<v0>) NEXT:[<ERROR>]
|
||||
- mark(test()) PREV:[]
|
||||
- call(test, test) PREV:[]
|
||||
- call(test, test) -> <v1> PREV:[]
|
||||
L1:
|
||||
1 <END> NEXT:[<SINK>] PREV:[]
|
||||
error:
|
||||
<ERROR> PREV:[throw (throw Exception())]
|
||||
<ERROR> PREV:[throw (throw Exception()|<v0>)]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
|
||||
@@ -7,8 +7,8 @@ L0:
|
||||
1 <START>
|
||||
2 mark({ return ?: null })
|
||||
ret L1 NEXT:[<END>]
|
||||
- jt(L2) NEXT:[r(null), <END>] PREV:[]
|
||||
- r(null) PREV:[]
|
||||
- jt(L2) NEXT:[r(null) -> <v0>, <END>] PREV:[]
|
||||
- r(null) -> <v0> PREV:[]
|
||||
L1:
|
||||
L2:
|
||||
1 <END> NEXT:[<SINK>] PREV:[ret L1]
|
||||
|
||||
@@ -9,14 +9,14 @@ L0:
|
||||
mark("${throw Exception()} ${1}")
|
||||
mark(throw Exception())
|
||||
mark(Exception())
|
||||
call(Exception, <init>)
|
||||
throw (throw Exception()) NEXT:[<ERROR>]
|
||||
- r(1) PREV:[]
|
||||
- r("${throw Exception()} ${1}") PREV:[]
|
||||
call(Exception, <init>) -> <v0>
|
||||
throw (throw Exception()|<v0>) NEXT:[<ERROR>]
|
||||
- r(1) -> <v1> PREV:[]
|
||||
- magic("${throw Exception()} ${1}"|<v1>) -> <v2> PREV:[]
|
||||
L1:
|
||||
1 <END> NEXT:[<SINK>] PREV:[]
|
||||
1 <END> NEXT:[<SINK>] PREV:[]
|
||||
error:
|
||||
<ERROR> PREV:[throw (throw Exception())]
|
||||
<ERROR> PREV:[throw (throw Exception()|<v0>)]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
|
||||
Reference in New Issue
Block a user