svf-tools 1.0.908 → 1.0.910

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/SVF-doxygen/html/AbstractInterpretation_8cpp_source.html +1549 -1576
  2. package/SVF-doxygen/html/AbstractInterpretation_8h_source.html +68 -75
  3. package/SVF-doxygen/html/AbstractState_8cpp_source.html +25 -25
  4. package/SVF-doxygen/html/AbstractState_8h_source.html +390 -391
  5. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +15 -15
  6. package/SVF-doxygen/html/RelExeState_8cpp_source.html +5 -5
  7. package/SVF-doxygen/html/RelExeState_8h_source.html +178 -179
  8. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +3 -3
  9. package/SVF-doxygen/html/SVFIR2AbsState_8cpp_source.html +10 -10
  10. package/SVF-doxygen/html/SVFIR2AbsState_8h_source.html +12 -17
  11. package/SVF-doxygen/html/ae_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/classSVF_1_1AEStat.html +115 -115
  13. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation-members.html +7 -9
  14. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation.html +1435 -1521
  15. package/SVF-doxygen/html/classSVF_1_1AbstractState-members.html +25 -25
  16. package/SVF-doxygen/html/classSVF_1_1AbstractState.html +340 -342
  17. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker-members.html +7 -9
  18. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +20 -10
  19. package/SVF-doxygen/html/classSVF_1_1RelExeState-members.html +19 -19
  20. package/SVF-doxygen/html/classSVF_1_1RelExeState.html +131 -132
  21. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +3 -3
  22. package/SVF-doxygen/html/classSVF_1_1SVFIR2AbsState-members.html +22 -24
  23. package/SVF-doxygen/html/classSVF_1_1SVFIR2AbsState.html +23 -91
  24. package/SVF-doxygen/html/classSymblicAbstractionTest.html +2 -2
  25. package/SVF-doxygen/html/functions.html +6 -9
  26. package/SVF-doxygen/html/functions_a.html +9 -3
  27. package/SVF-doxygen/html/functions_f.html +3 -3
  28. package/SVF-doxygen/html/functions_func.html +1 -1
  29. package/SVF-doxygen/html/functions_func_g.html +9 -9
  30. package/SVF-doxygen/html/functions_func_i.html +7 -13
  31. package/SVF-doxygen/html/functions_func_p.html +3 -3
  32. package/SVF-doxygen/html/functions_g.html +10 -10
  33. package/SVF-doxygen/html/functions_i.html +12 -18
  34. package/SVF-doxygen/html/functions_l.html +3 -9
  35. package/SVF-doxygen/html/functions_o.html +17 -17
  36. package/SVF-doxygen/html/functions_p.html +18 -22
  37. package/SVF-doxygen/html/functions_r.html +1 -1
  38. package/SVF-doxygen/html/functions_s.html +12 -14
  39. package/SVF-doxygen/html/functions_t.html +2 -2
  40. package/SVF-doxygen/html/functions_type.html +6 -0
  41. package/SVF-doxygen/html/functions_type_l.html +0 -6
  42. package/SVF-doxygen/html/functions_v.html +3 -3
  43. package/SVF-doxygen/html/functions_vars.html +6 -9
  44. package/SVF-doxygen/html/functions_w.html +1 -1
  45. package/SVF-doxygen/html/search/all_0.js +167 -168
  46. package/SVF-doxygen/html/search/all_1.js +504 -502
  47. package/SVF-doxygen/html/search/all_10.js +326 -326
  48. package/SVF-doxygen/html/search/all_11.js +227 -227
  49. package/SVF-doxygen/html/search/all_12.js +562 -562
  50. package/SVF-doxygen/html/search/all_13.js +186 -186
  51. package/SVF-doxygen/html/search/all_14.js +74 -74
  52. package/SVF-doxygen/html/search/all_15.js +175 -175
  53. package/SVF-doxygen/html/search/all_16.js +77 -77
  54. package/SVF-doxygen/html/search/all_17.js +1 -1
  55. package/SVF-doxygen/html/search/all_18.js +1 -1
  56. package/SVF-doxygen/html/search/all_19.js +27 -27
  57. package/SVF-doxygen/html/search/all_1a.js +174 -174
  58. package/SVF-doxygen/html/search/all_2.js +180 -180
  59. package/SVF-doxygen/html/search/all_3.js +635 -635
  60. package/SVF-doxygen/html/search/all_4.js +237 -237
  61. package/SVF-doxygen/html/search/all_5.js +120 -120
  62. package/SVF-doxygen/html/search/all_6.js +236 -236
  63. package/SVF-doxygen/html/search/all_7.js +1039 -1039
  64. package/SVF-doxygen/html/search/all_8.js +224 -224
  65. package/SVF-doxygen/html/search/all_9.js +623 -625
  66. package/SVF-doxygen/html/search/all_a.js +46 -46
  67. package/SVF-doxygen/html/search/all_b.js +24 -24
  68. package/SVF-doxygen/html/search/all_c.js +111 -113
  69. package/SVF-doxygen/html/search/all_d.js +204 -204
  70. package/SVF-doxygen/html/search/all_e.js +207 -207
  71. package/SVF-doxygen/html/search/all_f.js +122 -122
  72. package/SVF-doxygen/html/search/classes_0.js +29 -29
  73. package/SVF-doxygen/html/search/classes_1.js +11 -11
  74. package/SVF-doxygen/html/search/classes_10.js +71 -71
  75. package/SVF-doxygen/html/search/classes_11.js +14 -14
  76. package/SVF-doxygen/html/search/classes_12.js +2 -2
  77. package/SVF-doxygen/html/search/classes_13.js +10 -10
  78. package/SVF-doxygen/html/search/classes_14.js +19 -19
  79. package/SVF-doxygen/html/search/classes_15.js +1 -1
  80. package/SVF-doxygen/html/search/classes_2.js +72 -72
  81. package/SVF-doxygen/html/search/classes_3.js +35 -35
  82. package/SVF-doxygen/html/search/classes_4.js +7 -7
  83. package/SVF-doxygen/html/search/classes_5.js +28 -28
  84. package/SVF-doxygen/html/search/classes_6.js +98 -98
  85. package/SVF-doxygen/html/search/classes_7.js +33 -33
  86. package/SVF-doxygen/html/search/classes_8.js +57 -57
  87. package/SVF-doxygen/html/search/classes_9.js +1 -1
  88. package/SVF-doxygen/html/search/classes_a.js +12 -12
  89. package/SVF-doxygen/html/search/classes_b.js +29 -29
  90. package/SVF-doxygen/html/search/classes_c.js +6 -6
  91. package/SVF-doxygen/html/search/classes_d.js +19 -19
  92. package/SVF-doxygen/html/search/classes_e.js +36 -36
  93. package/SVF-doxygen/html/search/classes_f.js +25 -25
  94. package/SVF-doxygen/html/search/defines_0.js +3 -3
  95. package/SVF-doxygen/html/search/defines_1.js +3 -3
  96. package/SVF-doxygen/html/search/defines_10.js +2 -2
  97. package/SVF-doxygen/html/search/defines_2.js +30 -30
  98. package/SVF-doxygen/html/search/defines_3.js +20 -20
  99. package/SVF-doxygen/html/search/defines_4.js +3 -3
  100. package/SVF-doxygen/html/search/defines_5.js +4 -4
  101. package/SVF-doxygen/html/search/defines_6.js +2 -2
  102. package/SVF-doxygen/html/search/defines_7.js +5 -5
  103. package/SVF-doxygen/html/search/defines_8.js +11 -11
  104. package/SVF-doxygen/html/search/defines_9.js +9 -9
  105. package/SVF-doxygen/html/search/defines_a.js +2 -2
  106. package/SVF-doxygen/html/search/defines_b.js +1 -1
  107. package/SVF-doxygen/html/search/defines_c.js +3 -3
  108. package/SVF-doxygen/html/search/defines_d.js +2 -2
  109. package/SVF-doxygen/html/search/defines_e.js +8 -8
  110. package/SVF-doxygen/html/search/defines_f.js +4 -4
  111. package/SVF-doxygen/html/search/enums_0.js +3 -3
  112. package/SVF-doxygen/html/search/enums_1.js +2 -2
  113. package/SVF-doxygen/html/search/enums_10.js +1 -1
  114. package/SVF-doxygen/html/search/enums_11.js +1 -1
  115. package/SVF-doxygen/html/search/enums_2.js +9 -9
  116. package/SVF-doxygen/html/search/enums_3.js +2 -2
  117. package/SVF-doxygen/html/search/enums_4.js +3 -3
  118. package/SVF-doxygen/html/search/enums_5.js +1 -1
  119. package/SVF-doxygen/html/search/enums_6.js +2 -2
  120. package/SVF-doxygen/html/search/enums_7.js +2 -2
  121. package/SVF-doxygen/html/search/enums_8.js +4 -4
  122. package/SVF-doxygen/html/search/enums_9.js +1 -1
  123. package/SVF-doxygen/html/search/enums_a.js +1 -1
  124. package/SVF-doxygen/html/search/enums_b.js +7 -7
  125. package/SVF-doxygen/html/search/enums_c.js +1 -1
  126. package/SVF-doxygen/html/search/enums_d.js +4 -4
  127. package/SVF-doxygen/html/search/enums_e.js +2 -2
  128. package/SVF-doxygen/html/search/enums_f.js +4 -4
  129. package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
  130. package/SVF-doxygen/html/search/enumvalues_1.js +16 -16
  131. package/SVF-doxygen/html/search/enumvalues_10.js +36 -36
  132. package/SVF-doxygen/html/search/enumvalues_11.js +6 -6
  133. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  134. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  135. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  136. package/SVF-doxygen/html/search/enumvalues_15.js +4 -4
  137. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  138. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  139. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  140. package/SVF-doxygen/html/search/enumvalues_5.js +50 -50
  141. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  142. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  143. package/SVF-doxygen/html/search/enumvalues_8.js +24 -24
  144. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  145. package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
  146. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  147. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  148. package/SVF-doxygen/html/search/enumvalues_d.js +19 -19
  149. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  150. package/SVF-doxygen/html/search/enumvalues_f.js +48 -48
  151. package/SVF-doxygen/html/search/files_0.js +18 -18
  152. package/SVF-doxygen/html/search/files_1.js +9 -9
  153. package/SVF-doxygen/html/search/files_10.js +8 -8
  154. package/SVF-doxygen/html/search/files_11.js +8 -8
  155. package/SVF-doxygen/html/search/files_12.js +2 -2
  156. package/SVF-doxygen/html/search/files_2.js +51 -51
  157. package/SVF-doxygen/html/search/files_3.js +14 -14
  158. package/SVF-doxygen/html/search/files_4.js +3 -3
  159. package/SVF-doxygen/html/search/files_5.js +13 -13
  160. package/SVF-doxygen/html/search/files_6.js +10 -10
  161. package/SVF-doxygen/html/search/files_7.js +15 -15
  162. package/SVF-doxygen/html/search/files_8.js +13 -13
  163. package/SVF-doxygen/html/search/files_9.js +18 -18
  164. package/SVF-doxygen/html/search/files_a.js +3 -3
  165. package/SVF-doxygen/html/search/files_b.js +4 -4
  166. package/SVF-doxygen/html/search/files_c.js +20 -20
  167. package/SVF-doxygen/html/search/files_d.js +4 -4
  168. package/SVF-doxygen/html/search/files_e.js +57 -57
  169. package/SVF-doxygen/html/search/files_f.js +8 -8
  170. package/SVF-doxygen/html/search/functions_0.js +13 -13
  171. package/SVF-doxygen/html/search/functions_1.js +366 -366
  172. package/SVF-doxygen/html/search/functions_10.js +140 -140
  173. package/SVF-doxygen/html/search/functions_11.js +140 -140
  174. package/SVF-doxygen/html/search/functions_12.js +293 -293
  175. package/SVF-doxygen/html/search/functions_13.js +52 -52
  176. package/SVF-doxygen/html/search/functions_14.js +41 -41
  177. package/SVF-doxygen/html/search/functions_15.js +70 -70
  178. package/SVF-doxygen/html/search/functions_16.js +38 -38
  179. package/SVF-doxygen/html/search/functions_17.js +3 -3
  180. package/SVF-doxygen/html/search/functions_18.js +174 -174
  181. package/SVF-doxygen/html/search/functions_2.js +92 -92
  182. package/SVF-doxygen/html/search/functions_3.js +257 -257
  183. package/SVF-doxygen/html/search/functions_4.js +85 -85
  184. package/SVF-doxygen/html/search/functions_5.js +54 -54
  185. package/SVF-doxygen/html/search/functions_6.js +65 -65
  186. package/SVF-doxygen/html/search/functions_7.js +857 -857
  187. package/SVF-doxygen/html/search/functions_8.js +176 -176
  188. package/SVF-doxygen/html/search/functions_9.js +436 -438
  189. package/SVF-doxygen/html/search/functions_a.js +30 -30
  190. package/SVF-doxygen/html/search/functions_b.js +2 -2
  191. package/SVF-doxygen/html/search/functions_c.js +22 -22
  192. package/SVF-doxygen/html/search/functions_d.js +81 -81
  193. package/SVF-doxygen/html/search/functions_e.js +34 -34
  194. package/SVF-doxygen/html/search/functions_f.js +58 -58
  195. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  196. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  197. package/SVF-doxygen/html/search/related_0.js +4 -4
  198. package/SVF-doxygen/html/search/related_1.js +2 -2
  199. package/SVF-doxygen/html/search/related_2.js +2 -2
  200. package/SVF-doxygen/html/search/related_3.js +2 -2
  201. package/SVF-doxygen/html/search/related_4.js +2 -2
  202. package/SVF-doxygen/html/search/related_5.js +1 -1
  203. package/SVF-doxygen/html/search/related_6.js +2 -2
  204. package/SVF-doxygen/html/search/related_7.js +5 -5
  205. package/SVF-doxygen/html/search/related_8.js +2 -2
  206. package/SVF-doxygen/html/search/related_9.js +4 -4
  207. package/SVF-doxygen/html/search/related_a.js +19 -19
  208. package/SVF-doxygen/html/search/related_b.js +4 -4
  209. package/SVF-doxygen/html/search/related_c.js +2 -2
  210. package/SVF-doxygen/html/search/related_d.js +11 -11
  211. package/SVF-doxygen/html/search/related_e.js +2 -2
  212. package/SVF-doxygen/html/search/related_f.js +2 -2
  213. package/SVF-doxygen/html/search/typedefs_0.js +20 -18
  214. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  215. package/SVF-doxygen/html/search/typedefs_10.js +65 -65
  216. package/SVF-doxygen/html/search/typedefs_11.js +12 -12
  217. package/SVF-doxygen/html/search/typedefs_12.js +13 -13
  218. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  219. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  220. package/SVF-doxygen/html/search/typedefs_2.js +125 -125
  221. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  222. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  223. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  224. package/SVF-doxygen/html/search/typedefs_6.js +54 -54
  225. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  226. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  227. package/SVF-doxygen/html/search/typedefs_9.js +4 -4
  228. package/SVF-doxygen/html/search/typedefs_a.js +28 -30
  229. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  230. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  231. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  232. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  233. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  234. package/SVF-doxygen/html/search/variables_0.js +170 -171
  235. package/SVF-doxygen/html/search/variables_1.js +78 -78
  236. package/SVF-doxygen/html/search/variables_10.js +98 -98
  237. package/SVF-doxygen/html/search/variables_11.js +47 -47
  238. package/SVF-doxygen/html/search/variables_12.js +93 -93
  239. package/SVF-doxygen/html/search/variables_13.js +76 -76
  240. package/SVF-doxygen/html/search/variables_14.js +14 -14
  241. package/SVF-doxygen/html/search/variables_15.js +49 -49
  242. package/SVF-doxygen/html/search/variables_16.js +11 -11
  243. package/SVF-doxygen/html/search/variables_17.js +1 -1
  244. package/SVF-doxygen/html/search/variables_18.js +17 -17
  245. package/SVF-doxygen/html/search/variables_2.js +40 -40
  246. package/SVF-doxygen/html/search/variables_3.js +143 -143
  247. package/SVF-doxygen/html/search/variables_4.js +51 -51
  248. package/SVF-doxygen/html/search/variables_5.js +39 -39
  249. package/SVF-doxygen/html/search/variables_6.js +66 -66
  250. package/SVF-doxygen/html/search/variables_7.js +32 -32
  251. package/SVF-doxygen/html/search/variables_8.js +8 -8
  252. package/SVF-doxygen/html/search/variables_9.js +80 -80
  253. package/SVF-doxygen/html/search/variables_a.js +4 -4
  254. package/SVF-doxygen/html/search/variables_b.js +10 -10
  255. package/SVF-doxygen/html/search/variables_c.js +44 -44
  256. package/SVF-doxygen/html/search/variables_d.js +58 -58
  257. package/SVF-doxygen/html/search/variables_e.js +123 -123
  258. package/SVF-doxygen/html/search/variables_f.js +31 -31
  259. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1RelExeState_01_4.html +6 -6
  260. package/package.json +1 -1
  261. package/svf/include/AE/Core/AbstractState.h +23 -24
  262. package/svf/include/AE/Core/RelExeState.h +10 -11
  263. package/svf/include/AE/Svfexe/AbstractInterpretation.h +4 -9
  264. package/svf/include/AE/Svfexe/SVFIR2AbsState.h +0 -3
  265. package/svf/lib/AE/Core/AbstractState.cpp +22 -22
  266. package/svf/lib/AE/Core/RelExeState.cpp +3 -3
  267. package/svf/lib/AE/Svfexe/AbstractInterpretation.cpp +3 -27
  268. package/svf/lib/AE/Svfexe/SVFIR2AbsState.cpp +8 -8
@@ -129,450 +129,449 @@ $(function() {
129
129
  <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword">public</span>:</div>
130
130
  <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e"> 59</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;u32_t, AbstractValue&gt;</a> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>;</div>
131
131
  <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
132
- <div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a046e475067c101430f87d67965ecfb08"> 61</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a> <a class="code" href="classSVF_1_1AbstractState.html#a046e475067c101430f87d67965ecfb08">LocToAbsValMap</a>;</div>
132
+ <div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#abac0c56904bd77bcd09fd65de51c25c9"> 61</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a> <a class="code" href="classSVF_1_1AbstractState.html#abac0c56904bd77bcd09fd65de51c25c9">AddrToAbsValMap</a>;</div>
133
133
  <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
134
134
  <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword">public</span>:</div>
135
135
  <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aac4048e1e39f2dbc16f20b7ffe61af5e"> 65</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#aac4048e1e39f2dbc16f20b7ffe61af5e">AbstractState</a>()</div>
136
136
  <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div>
137
137
  <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
138
138
  <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
139
- <div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a6772fed9390734578b46b85cbf9ba95f"> 69</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a6772fed9390734578b46b85cbf9ba95f">AbstractState</a>(<a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;_varToValMap, <a class="code" href="classSVF_1_1AbstractState.html#a046e475067c101430f87d67965ecfb08">LocToAbsValMap</a>&amp;_locToValMap) : <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>(_varToValMap),</div>
140
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>(_locToValMap) {}</div>
141
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
142
- <div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a4b2af0674aa1fd6689dc2660c4e7e812"> 73</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a4b2af0674aa1fd6689dc2660c4e7e812">AbstractState</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs) : <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>(rhs.<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>()),</div>
143
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>(rhs.<a class="code" href="classSVF_1_1AbstractState.html#ab409b0084c202ddf437b45873d6992c6">getLocToVal</a>())</div>
144
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
139
+ <div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a9d21fa95af8171b8a9b748a655f0317c"> 69</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a9d21fa95af8171b8a9b748a655f0317c">AbstractState</a>(<a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;_varToValMap, <a class="code" href="classSVF_1_1AbstractState.html#abac0c56904bd77bcd09fd65de51c25c9">AddrToAbsValMap</a>&amp;_locToValMap) : <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>(_varToValMap), <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>(_locToValMap) {}</div>
140
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
141
+ <div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a4b2af0674aa1fd6689dc2660c4e7e812"> 72</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a4b2af0674aa1fd6689dc2660c4e7e812">AbstractState</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs) : <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>(rhs.<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>()), <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>(rhs.<a class="code" href="classSVF_1_1AbstractState.html#ab8d9bf4a917a4691037ae08e2b634624">getLocToVal</a>())</div>
142
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div>
143
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; </div>
144
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
145
145
  <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
146
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
146
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AbstractState.html#ab956eb2731209fa52a8e4812d3ab8b37">~AbstractState</a>() = <span class="keywordflow">default</span>;</div>
147
147
  <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
148
- <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1AbstractState.html#ab956eb2731209fa52a8e4812d3ab8b37">~AbstractState</a>() = <span class="keywordflow">default</span>;</div>
149
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
150
- <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
151
- <div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aa594b7f3d1590073a88bcc73918dde39"> 83</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AbstractState.html#aa594b7f3d1590073a88bcc73918dde39">getVirtualMemAddress</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx)</div>
152
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div>
153
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AddressValue.html#aa6ccc9882f89804cd6566e3dfe3dfdc8">AddressValue::getVirtualMemAddress</a>(idx);</div>
154
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div>
155
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
156
- <div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4"> 89</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4">isVirtualMemAddress</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> val)</div>
157
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div>
158
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AddressValue.html#ab76f47f97262d40dbbee12f466f746e8">AddressValue::isVirtualMemAddress</a>(val);</div>
159
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
160
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
161
- <div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6"> 95</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">getInternalID</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx)</div>
162
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
163
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AddressValue.html#a3be7a2e3ec3215b67cd60f122d2cd10e">AddressValue::getInternalID</a>(idx);</div>
164
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
165
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
166
- <div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aad7588fead712273f6679d00759c06ea"> 100</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#aad7588fead712273f6679d00759c06ea">isNullPtr</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)</div>
167
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
168
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">getInternalID</a>(addr) == 0;</div>
169
- <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
170
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
171
- <div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ae7cf1e64c5d6c04c1c37e0075ab32880"> 105</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;<a class="code" href="classSVF_1_1AbstractState.html#ae7cf1e64c5d6c04c1c37e0075ab32880">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)</div>
172
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
173
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> (rhs != *<span class="keyword">this</span>)</div>
174
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
175
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a> = rhs.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>;</div>
176
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a> = rhs.<a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>;</div>
177
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
178
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
179
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
180
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
181
- <div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a67293389b28ed9ad361ec7ed92bd72dc"> 116</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a67293389b28ed9ad361ec7ed92bd72dc">AbstractState</a>(<a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;&amp;rhs) : <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>)),</div>
182
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs.<a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>))</div>
183
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
148
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
149
+ <div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aa594b7f3d1590073a88bcc73918dde39"> 81</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AbstractState.html#aa594b7f3d1590073a88bcc73918dde39">getVirtualMemAddress</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx)</div>
150
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div>
151
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AddressValue.html#aa6ccc9882f89804cd6566e3dfe3dfdc8">AddressValue::getVirtualMemAddress</a>(idx);</div>
152
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
153
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
154
+ <div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4"> 87</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4">isVirtualMemAddress</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> val)</div>
155
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
156
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AddressValue.html#ab76f47f97262d40dbbee12f466f746e8">AddressValue::isVirtualMemAddress</a>(val);</div>
157
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
158
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
159
+ <div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6"> 93</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">getInternalID</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx)</div>
160
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div>
161
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AddressValue.html#a3be7a2e3ec3215b67cd60f122d2cd10e">AddressValue::getInternalID</a>(idx);</div>
162
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div>
163
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
164
+ <div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aad7588fead712273f6679d00759c06ea"> 98</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#aad7588fead712273f6679d00759c06ea">isNullPtr</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)</div>
165
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
166
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">getInternalID</a>(addr) == 0;</div>
167
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
168
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
169
+ <div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ae7cf1e64c5d6c04c1c37e0075ab32880"> 103</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;<a class="code" href="classSVF_1_1AbstractState.html#ae7cf1e64c5d6c04c1c37e0075ab32880">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)</div>
170
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
171
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">if</span> (rhs != *<span class="keyword">this</span>)</div>
172
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
173
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a> = rhs.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>;</div>
174
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a> = rhs.<a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>;</div>
175
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
176
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
177
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
178
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
179
+ <div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a67293389b28ed9ad361ec7ed92bd72dc"> 114</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a67293389b28ed9ad361ec7ed92bd72dc">AbstractState</a>(<a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;&amp;rhs) : <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>)),</div>
180
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(rhs.<a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>))</div>
181
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
182
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
183
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
184
184
  <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
185
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
186
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
187
- <div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#af1ec2c0fcc4d87d07d4d87232085435c"> 123</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;<a class="code" href="classSVF_1_1AbstractState.html#af1ec2c0fcc4d87d07d4d87232085435c">operator=</a>(<a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;&amp;rhs)</div>
188
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
189
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">if</span> (&amp;rhs != <span class="keyword">this</span>)</div>
190
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div>
191
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._varToAbsVal);</div>
192
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._locToAbsVal);</div>
193
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
194
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
195
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
196
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
197
- <div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a325ac3691d7252d0dcef9aa5f774b4c4"> 134</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#a325ac3691d7252d0dcef9aa5f774b4c4">bottom</a>()<span class="keyword"> const</span></div>
198
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="keyword"> </span>{</div>
199
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> inv = *<span class="keyword">this</span>;</div>
200
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>)</div>
201
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; {</div>
202
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isInterval())</div>
203
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval().set_to_bottom();</div>
204
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
205
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">return</span> inv;</div>
206
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div>
207
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
208
- <div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ac34dc4e111967507950bd5afe4a59ea0"> 146</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#ac34dc4e111967507950bd5afe4a59ea0">top</a>()<span class="keyword"> const</span></div>
209
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="keyword"> </span>{</div>
210
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> inv = *<span class="keyword">this</span>;</div>
211
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>)</div>
212
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
213
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isInterval())</div>
214
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval().set_to_top();</div>
215
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
216
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> inv;</div>
217
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
218
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
219
- <div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ae9897b85e3cb2dc675d3a2df76c44878"> 158</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#ae9897b85e3cb2dc675d3a2df76c44878">sliceState</a>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;sl)</div>
220
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div>
221
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> inv;</div>
222
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>: sl)</div>
223
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div>
224
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; inv.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id] = <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id];</div>
225
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
226
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> inv;</div>
227
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div>
228
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
229
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="keyword">protected</span>:</div>
230
- <div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335"> 169</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>; </div>
231
- <div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3"> 170</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a046e475067c101430f87d67965ecfb08">LocToAbsValMap</a> <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>; </div>
232
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
233
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="keyword">public</span>:</div>
185
+ <div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#af1ec2c0fcc4d87d07d4d87232085435c"> 121</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;<a class="code" href="classSVF_1_1AbstractState.html#af1ec2c0fcc4d87d07d4d87232085435c">operator=</a>(<a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;&amp;rhs)</div>
186
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div>
187
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (&amp;rhs != <span class="keyword">this</span>)</div>
188
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
189
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._varToAbsVal);</div>
190
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(rhs._addrToAbsVal);</div>
191
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div>
192
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
193
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
194
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div>
195
+ <div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a325ac3691d7252d0dcef9aa5f774b4c4"> 132</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#a325ac3691d7252d0dcef9aa5f774b4c4">bottom</a>()<span class="keyword"> const</span></div>
196
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="keyword"> </span>{</div>
197
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> inv = *<span class="keyword">this</span>;</div>
198
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>)</div>
199
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
200
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isInterval())</div>
201
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval().set_to_bottom();</div>
202
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div>
203
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> inv;</div>
204
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
205
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
206
+ <div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ac34dc4e111967507950bd5afe4a59ea0"> 144</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#ac34dc4e111967507950bd5afe4a59ea0">top</a>()<span class="keyword"> const</span></div>
207
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="keyword"> </span>{</div>
208
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> inv = *<span class="keyword">this</span>;</div>
209
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: inv.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>)</div>
210
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div>
211
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isInterval())</div>
212
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval().set_to_top();</div>
213
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
214
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> inv;</div>
215
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
216
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
217
+ <div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ae9897b85e3cb2dc675d3a2df76c44878"> 156</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#ae9897b85e3cb2dc675d3a2df76c44878">sliceState</a>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;sl)</div>
218
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div>
219
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> inv;</div>
220
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>: sl)</div>
221
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div>
222
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; inv.<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id] = <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id];</div>
223
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div>
224
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span> inv;</div>
225
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
226
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
227
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="keyword">protected</span>:</div>
228
+ <div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335"> 167</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>; </div>
229
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#abac0c56904bd77bcd09fd65de51c25c9">AddrToAbsValMap</a></div>
230
+ <div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e"> 169</a></span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>; </div>
231
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; </div>
232
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="keyword">public</span>:</div>
233
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
234
234
  <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
235
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
236
- <div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a9666e46ba217b65e1482269055806034"> 176</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;<a class="code" href="classSVF_1_1AbstractState.html#a9666e46ba217b65e1482269055806034">operator[]</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
237
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div>
238
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[varId];</div>
239
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
240
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
241
- <div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ac4f511baa4ca9ecc1d6a3defae194ac5"> 182</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;<a class="code" href="classSVF_1_1AbstractState.html#ac4f511baa4ca9ecc1d6a3defae194ac5">operator[]</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)<span class="keyword"> const</span></div>
242
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="keyword"> </span>{</div>
243
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.at(varId);</div>
244
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div>
245
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
246
- <div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a234d0b11624febec605bc028f093240b"> 188</a></span>&#160; <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;<a class="code" href="classSVF_1_1AbstractState.html#a234d0b11624febec605bc028f093240b">getAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)</div>
247
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; {</div>
248
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.find(<span class="keywordtype">id</span>)!= <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.end())</div>
249
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div>
250
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id];</div>
251
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
252
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">else</span></div>
253
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div>
254
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id] = <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a>();</div>
255
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id];</div>
256
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
257
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div>
258
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
259
- <div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aa34516a95191c5ec56ce44a117e8b018"> 202</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#aa34516a95191c5ec56ce44a117e8b018">inVarToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
260
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="keyword"> </span>{</div>
261
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.find(<span class="keywordtype">id</span>)!= <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.end())</div>
262
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; {</div>
263
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.at(<span class="keywordtype">id</span>).isAddr())</div>
264
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div>
265
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
266
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
267
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
268
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
269
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div>
270
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; </div>
271
- <div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ab4d209d0739f2c45dbc2a7e61318e2e3"> 215</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#ab4d209d0739f2c45dbc2a7e61318e2e3">inVarToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
272
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="keyword"> </span>{</div>
273
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.end())</div>
274
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div>
275
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.at(<span class="keywordtype">id</span>).isInterval())</div>
276
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; {</div>
277
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
278
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div>
279
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div>
280
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
281
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div>
282
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; </div>
283
- <div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aff46e9d0fb20cedd54323c808d06f7cf"> 228</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#aff46e9d0fb20cedd54323c808d06f7cf">inLocToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
284
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="keyword"> </span>{</div>
285
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.find(<span class="keywordtype">id</span>)!= <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.end())</div>
286
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div>
287
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.at(<span class="keywordtype">id</span>).isAddr())</div>
288
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div>
289
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
290
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div>
291
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
292
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
293
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
294
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; </div>
295
- <div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aa2ac2ba25a9859232717ee22192feb35"> 241</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#aa2ac2ba25a9859232717ee22192feb35">inLocToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
296
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="keyword"> </span>{</div>
297
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.end())</div>
298
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; {</div>
299
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.at(<span class="keywordtype">id</span>).isInterval())</div>
300
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
301
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
302
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div>
303
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
304
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
305
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div>
306
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
307
- <div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06"> 254</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>()<span class="keyword"> const</span></div>
308
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="keyword"> </span>{</div>
309
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>;</div>
310
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div>
311
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
312
- <div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ab409b0084c202ddf437b45873d6992c6"> 260</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#a046e475067c101430f87d67965ecfb08">LocToAbsValMap</a>&amp;<a class="code" href="classSVF_1_1AbstractState.html#ab409b0084c202ddf437b45873d6992c6">getLocToVal</a>()<span class="keyword"> const</span></div>
313
- <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="keyword"> </span>{</div>
314
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>;</div>
315
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; }</div>
316
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; </div>
317
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="keyword">public</span>:</div>
318
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; </div>
319
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#afd37c4419cfc79b6765fa243fcbea573">widening</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
320
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; </div>
321
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#aa9f048614c0bdbe5e8562bfcc6288a97">narrowing</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
322
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; </div>
323
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a8d2a6e895d17181324cdeb9e2cf8f1de">widenWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
324
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; </div>
325
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a413cb1d009e2a080960bb2432e193d0c">joinWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
326
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; </div>
327
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a7e2ff1c509351658687ed87ca7ae544e">narrowWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
328
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; </div>
329
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#adec6191b9f1e51ed70a7620dd06153a9">meetWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
235
+ <div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a9666e46ba217b65e1482269055806034"> 175</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;<a class="code" href="classSVF_1_1AbstractState.html#a9666e46ba217b65e1482269055806034">operator[]</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
236
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div>
237
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[varId];</div>
238
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
239
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
240
+ <div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ac4f511baa4ca9ecc1d6a3defae194ac5"> 181</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;<a class="code" href="classSVF_1_1AbstractState.html#ac4f511baa4ca9ecc1d6a3defae194ac5">operator[]</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)<span class="keyword"> const</span></div>
241
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="keyword"> </span>{</div>
242
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.at(varId);</div>
243
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div>
244
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
245
+ <div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a234d0b11624febec605bc028f093240b"> 187</a></span>&#160; <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;<a class="code" href="classSVF_1_1AbstractState.html#a234d0b11624febec605bc028f093240b">getAddrs</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)</div>
246
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div>
247
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.find(<span class="keywordtype">id</span>)!= <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.end())</div>
248
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div>
249
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id];</div>
250
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
251
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">else</span></div>
252
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; {</div>
253
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id] = <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a>();</div>
254
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>[id];</div>
255
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div>
256
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
257
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
258
+ <div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aa34516a95191c5ec56ce44a117e8b018"> 201</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#aa34516a95191c5ec56ce44a117e8b018">inVarToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
259
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="keyword"> </span>{</div>
260
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.find(<span class="keywordtype">id</span>)!= <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.end())</div>
261
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
262
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.at(<span class="keywordtype">id</span>).isAddr())</div>
263
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div>
264
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
265
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
266
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
267
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
268
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
269
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
270
+ <div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ab4d209d0739f2c45dbc2a7e61318e2e3"> 214</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#ab4d209d0739f2c45dbc2a7e61318e2e3">inVarToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
271
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="keyword"> </span>{</div>
272
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.end())</div>
273
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
274
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.at(<span class="keywordtype">id</span>).isInterval())</div>
275
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div>
276
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
277
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
278
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div>
279
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
280
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
281
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; </div>
282
+ <div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aff46e9d0fb20cedd54323c808d06f7cf"> 227</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#aff46e9d0fb20cedd54323c808d06f7cf">inLocToAddrsTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
283
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="keyword"> </span>{</div>
284
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.find(<span class="keywordtype">id</span>)!= <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.end())</div>
285
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div>
286
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.at(<span class="keywordtype">id</span>).isAddr())</div>
287
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div>
288
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
289
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; }</div>
290
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div>
291
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
292
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
293
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; </div>
294
+ <div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aa2ac2ba25a9859232717ee22192feb35"> 240</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#aa2ac2ba25a9859232717ee22192feb35">inLocToValTable</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
295
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="keyword"> </span>{</div>
296
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.find(<span class="keywordtype">id</span>) != <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.end())</div>
297
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div>
298
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.at(<span class="keywordtype">id</span>).isInterval())</div>
299
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div>
300
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
301
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div>
302
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div>
303
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
304
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
305
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; </div>
306
+ <div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06"> 253</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>()<span class="keyword"> const</span></div>
307
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="keyword"> </span>{</div>
308
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>;</div>
309
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div>
310
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; </div>
311
+ <div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ab8d9bf4a917a4691037ae08e2b634624"> 259</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#abac0c56904bd77bcd09fd65de51c25c9">AddrToAbsValMap</a>&amp;<a class="code" href="classSVF_1_1AbstractState.html#ab8d9bf4a917a4691037ae08e2b634624">getLocToVal</a>()<span class="keyword"> const</span></div>
312
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="keyword"> </span>{</div>
313
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>;</div>
314
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div>
315
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; </div>
316
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="keyword">public</span>:</div>
317
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; </div>
318
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#afd37c4419cfc79b6765fa243fcbea573">widening</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
319
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; </div>
320
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a> <a class="code" href="classSVF_1_1AbstractState.html#aa9f048614c0bdbe5e8562bfcc6288a97">narrowing</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
321
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; </div>
322
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a8d2a6e895d17181324cdeb9e2cf8f1de">widenWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
323
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; </div>
324
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a413cb1d009e2a080960bb2432e193d0c">joinWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
325
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; </div>
326
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a7e2ff1c509351658687ed87ca7ae544e">narrowWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
327
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; </div>
328
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#adec6191b9f1e51ed70a7620dd06153a9">meetWith</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other);</div>
329
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; </div>
330
330
  <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; </div>
331
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; </div>
332
- <div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a55ef37a2d9636d030feaaac041a1b081"> 287</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1AbstractState.html#a55ef37a2d9636d030feaaac041a1b081">Interval2NumValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;e)<span class="keyword"> const</span></div>
333
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="keyword"> </span>{</div>
334
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="comment">//TODO: return concrete value;</span></div>
335
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) e.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
336
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div>
337
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; </div>
338
- <div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a52aa9356624716fcaecc3c55bf7043c4"> 294</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a52aa9356624716fcaecc3c55bf7043c4">has_bottom</a>()</div>
339
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; {</div>
340
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.begin(); it != <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.end(); ++it)</div>
341
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; {</div>
342
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isInterval())</div>
343
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; {</div>
344
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.getInterval().isBottom())</div>
345
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; {</div>
346
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
347
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div>
348
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
349
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div>
350
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.begin(); it != <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.end(); ++it)</div>
351
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; {</div>
352
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isInterval())</div>
353
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div>
354
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.getInterval().isBottom())</div>
355
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div>
356
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
357
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div>
358
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div>
359
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div>
360
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
361
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
362
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; </div>
363
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AbstractState.html#a38608261ed9a3f7b25cd68748456924b">hash</a>() <span class="keyword">const</span>;</div>
364
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; </div>
365
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;<span class="keyword">public</span>:</div>
366
- <div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a1f935ea8ab16b04699284bf92bbbb23c"> 322</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a1f935ea8ab16b04699284bf92bbbb23c">store</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr, <span class="keyword">const</span> <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;val)</div>
367
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div>
368
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; assert(<a class="code" href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
369
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#aad7588fead712273f6679d00759c06ea">isNullPtr</a>(addr)) <span class="keywordflow">return</span>;</div>
370
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">getInternalID</a>(addr);</div>
371
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>[objId] = val;</div>
372
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div>
373
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; </div>
374
- <div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aa057c4c27e613d239161c04daf3a46d0"> 330</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;<a class="code" href="classSVF_1_1AbstractState.html#aa057c4c27e613d239161c04daf3a46d0">load</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)</div>
375
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div>
376
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; assert(<a class="code" href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
377
- <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">getInternalID</a>(addr);</div>
378
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.find(objId);</div>
379
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.end())</div>
380
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
381
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">else</span></div>
382
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div>
383
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>[objId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
384
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>[objId];</div>
385
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div>
386
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; }</div>
331
+ <div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a55ef37a2d9636d030feaaac041a1b081"> 286</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1AbstractState.html#a55ef37a2d9636d030feaaac041a1b081">Interval2NumValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;e)<span class="keyword"> const</span></div>
332
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="keyword"> </span>{</div>
333
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="comment">//TODO: return concrete value;</span></div>
334
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) e.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
335
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
336
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; </div>
337
+ <div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a52aa9356624716fcaecc3c55bf7043c4"> 293</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a52aa9356624716fcaecc3c55bf7043c4">has_bottom</a>()</div>
338
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
339
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.begin(); it != <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.end(); ++it)</div>
340
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; {</div>
341
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isInterval())</div>
342
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
343
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.getInterval().isBottom())</div>
344
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div>
345
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
346
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
347
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div>
348
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
349
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.begin(); it != <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.end(); ++it)</div>
350
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div>
351
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isInterval())</div>
352
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; {</div>
353
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.getInterval().isBottom())</div>
354
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
355
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
356
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div>
357
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div>
358
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div>
359
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
360
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div>
361
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; </div>
362
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1AbstractState.html#a38608261ed9a3f7b25cd68748456924b">hash</a>() <span class="keyword">const</span>;</div>
363
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; </div>
364
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="keyword">public</span>:</div>
365
+ <div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a1f935ea8ab16b04699284bf92bbbb23c"> 321</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a1f935ea8ab16b04699284bf92bbbb23c">store</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr, <span class="keyword">const</span> <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;val)</div>
366
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; {</div>
367
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; assert(<a class="code" href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
368
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractState.html#aad7588fead712273f6679d00759c06ea">isNullPtr</a>(addr)) <span class="keywordflow">return</span>;</div>
369
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">getInternalID</a>(addr);</div>
370
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>[objId] = val;</div>
371
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div>
372
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; </div>
373
+ <div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#aa057c4c27e613d239161c04daf3a46d0"> 329</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <a class="code" href="structSVF_1_1AbstractValue.html">AbstractValue</a> &amp;<a class="code" href="classSVF_1_1AbstractState.html#aa057c4c27e613d239161c04daf3a46d0">load</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> addr)</div>
374
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div>
375
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; assert(<a class="code" href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4">isVirtualMemAddress</a>(addr) &amp;&amp; <span class="stringliteral">&quot;not virtual address?&quot;</span>);</div>
376
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">getInternalID</a>(addr);</div>
377
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.find(objId);</div>
378
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">if</span>(it != <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.end())</div>
379
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
380
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">else</span></div>
381
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; {</div>
382
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>[objId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
383
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>[objId];</div>
384
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div>
385
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div>
386
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; </div>
387
387
  <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; </div>
388
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; </div>
389
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a00c811d7ef05476b7699c66a10eb4944">printExprValues</a>(std::ostream &amp;oss) <span class="keyword">const</span>;</div>
390
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; </div>
391
- <div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a7c802c006225a50b1d83b5f78d0891fa"> 348</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AbstractState.html#a7c802c006225a50b1d83b5f78d0891fa">toString</a>()<span class="keyword"> const</span></div>
392
- <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="keyword"> </span>{</div>
393
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div>
394
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div>
395
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; </div>
396
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a65131e4b96d21984c6907ac4fb32e973">equals</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other) <span class="keyword">const</span>;</div>
397
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; </div>
398
- <div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6"> 355</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6">eqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;rhs)</div>
399
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
400
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
401
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
402
- <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
403
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
404
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div>
405
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
406
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getType() == it-&gt;second.getType())</div>
407
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; {</div>
408
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isInterval())</div>
409
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; {</div>
410
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval().equals(it-&gt;second.getInterval()))</div>
411
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div>
412
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
413
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div>
414
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
415
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isAddr())</div>
416
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; {</div>
417
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getAddrs().equals(it-&gt;second.getAddrs()))</div>
418
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; {</div>
419
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
420
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div>
421
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div>
422
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
423
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">else</span></div>
424
- <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; {</div>
425
- <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
426
- <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div>
427
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
428
- <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
429
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; }</div>
388
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a00c811d7ef05476b7699c66a10eb4944">printExprValues</a>(std::ostream &amp;oss) <span class="keyword">const</span>;</div>
389
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; </div>
390
+ <div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a7c802c006225a50b1d83b5f78d0891fa"> 347</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AbstractState.html#a7c802c006225a50b1d83b5f78d0891fa">toString</a>()<span class="keyword"> const</span></div>
391
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;<span class="keyword"> </span>{</div>
392
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div>
393
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div>
394
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
395
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a65131e4b96d21984c6907ac4fb32e973">equals</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;other) <span class="keyword">const</span>;</div>
396
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; </div>
397
+ <div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6"> 354</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6">eqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;rhs)</div>
398
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; {</div>
399
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">if</span> (lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
400
+ <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
401
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; {</div>
402
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
403
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div>
404
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
405
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getType() == it-&gt;second.getType())</div>
406
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
407
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isInterval())</div>
408
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {</div>
409
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval().equals(it-&gt;second.getInterval()))</div>
410
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div>
411
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
412
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; }</div>
413
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div>
414
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isAddr())</div>
415
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div>
416
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getAddrs().equals(it-&gt;second.getAddrs()))</div>
417
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; {</div>
418
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
419
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div>
420
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div>
421
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div>
422
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">else</span></div>
423
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; {</div>
424
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
425
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; }</div>
426
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div>
427
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
428
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; }</div>
429
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; </div>
430
430
  <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; </div>
431
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; </div>
432
- <div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a943e87d9e3bf7332e7dbb3a00aeb996a"> 389</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a943e87d9e3bf7332e7dbb3a00aeb996a">lessThanVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;rhs)</div>
433
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div>
434
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span> (lhs.empty()) <span class="keywordflow">return</span> !rhs.empty();</div>
435
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
436
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div>
437
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
438
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">if</span> (it == rhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
439
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="comment">// judge from expr id</span></div>
440
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval().geq(it-&gt;second.getInterval())) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
441
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div>
442
- <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
443
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
444
- <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; </div>
445
- <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="comment">// lhs &gt;= rhs</span></div>
446
- <div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e"> 403</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e">geqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;rhs)</div>
447
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div>
448
- <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span> (rhs.empty()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
449
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: rhs)</div>
450
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; {</div>
451
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keyword">auto</span> it = lhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
452
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">if</span> (it == lhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
453
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="comment">// judge from expr id</span></div>
454
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isInterval() &amp;&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isInterval())</div>
455
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; {</div>
456
- <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">if</span> (!it-&gt;second.getInterval().geq(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval()))</div>
457
- <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
458
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div>
459
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; </div>
460
- <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div>
461
- <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
462
- <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; }</div>
463
- <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; </div>
464
- <div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ac41c5f3e8b8820c796f84e8fbb36a283"> 421</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#ac41c5f3e8b8820c796f84e8fbb36a283">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)<span class="keyword"> const</span></div>
465
- <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="keyword"> </span>{</div>
466
- <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6">eqVarToValMap</a>(<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>, rhs.<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>()) &amp;&amp;</div>
467
- <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6">eqVarToValMap</a>(<a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>, rhs.<a class="code" href="classSVF_1_1AbstractState.html#ab409b0084c202ddf437b45873d6992c6">getLocToVal</a>());</div>
468
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div>
469
- <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; </div>
470
- <div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a52c298445a68c11faabe042744cfdc1d"> 427</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a52c298445a68c11faabe042744cfdc1d">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)<span class="keyword"> const</span></div>
471
- <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="keyword"> </span>{</div>
472
- <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs);</div>
473
- <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; }</div>
474
- <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; </div>
475
- <div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ae10585f056d3d6f23e3ec7da7fa0f849"> 432</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#ae10585f056d3d6f23e3ec7da7fa0f849">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)<span class="keyword"> const</span></div>
476
- <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="keyword"> </span>{</div>
477
- <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> &gt;= rhs);</div>
478
- <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
431
+ <div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a943e87d9e3bf7332e7dbb3a00aeb996a"> 388</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a943e87d9e3bf7332e7dbb3a00aeb996a">lessThanVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;rhs)</div>
432
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; {</div>
433
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">if</span> (lhs.empty()) <span class="keywordflow">return</span> !rhs.empty();</div>
434
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
435
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div>
436
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
437
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">if</span> (it == rhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
438
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="comment">// judge from expr id</span></div>
439
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval().geq(it-&gt;second.getInterval())) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
440
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</div>
441
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
442
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; }</div>
443
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; </div>
444
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="comment">// lhs &gt;= rhs</span></div>
445
+ <div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e"> 402</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e">geqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;rhs)</div>
446
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; {</div>
447
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">if</span> (rhs.empty()) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
448
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: rhs)</div>
449
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div>
450
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keyword">auto</span> it = lhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
451
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">if</span> (it == lhs.end()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
452
+ <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="comment">// judge from expr id</span></div>
453
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.isInterval() &amp;&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.isInterval())</div>
454
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; {</div>
455
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (!it-&gt;second.getInterval().geq(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.getInterval()))</div>
456
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
457
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div>
458
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; </div>
459
+ <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div>
460
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
461
+ <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; }</div>
462
+ <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; </div>
463
+ <div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ac41c5f3e8b8820c796f84e8fbb36a283"> 420</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#ac41c5f3e8b8820c796f84e8fbb36a283">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)<span class="keyword"> const</span></div>
464
+ <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;<span class="keyword"> </span>{</div>
465
+ <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6">eqVarToValMap</a>(<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>, rhs.<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>()) &amp;&amp;</div>
466
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6">eqVarToValMap</a>(<a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>, rhs.<a class="code" href="classSVF_1_1AbstractState.html#ab8d9bf4a917a4691037ae08e2b634624">getLocToVal</a>());</div>
467
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; }</div>
468
+ <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; </div>
469
+ <div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a52c298445a68c11faabe042744cfdc1d"> 426</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a52c298445a68c11faabe042744cfdc1d">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)<span class="keyword"> const</span></div>
470
+ <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="keyword"> </span>{</div>
471
+ <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs);</div>
472
+ <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; }</div>
473
+ <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; </div>
474
+ <div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#ae10585f056d3d6f23e3ec7da7fa0f849"> 431</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#ae10585f056d3d6f23e3ec7da7fa0f849">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)<span class="keyword"> const</span></div>
475
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="keyword"> </span>{</div>
476
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> &gt;= rhs);</div>
477
+ <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div>
478
+ <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; </div>
479
479
  <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; </div>
480
- <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; </div>
481
- <div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a1be4db45d0af58508921bc2efddcb586"> 438</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a1be4db45d0af58508921bc2efddcb586">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)<span class="keyword"> const</span></div>
482
- <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;<span class="keyword"> </span>{</div>
483
- <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e">geqVarToValMap</a>(<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>, rhs.<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>()) &amp;&amp; <a class="code" href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e">geqVarToValMap</a>(<a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>, rhs.<a class="code" href="classSVF_1_1AbstractState.html#ab409b0084c202ddf437b45873d6992c6">getLocToVal</a>());</div>
484
- <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; }</div>
485
- <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; </div>
486
- <div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a46651dcb1b9c85bee52a4fad897d8ab3"> 443</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a46651dcb1b9c85bee52a4fad897d8ab3">clear</a>()</div>
487
- <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div>
488
- <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">_locToAbsVal</a>.clear();</div>
489
- <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.clear();</div>
490
- <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; }</div>
480
+ <div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a1be4db45d0af58508921bc2efddcb586"> 437</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AbstractState.html#a1be4db45d0af58508921bc2efddcb586">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html">AbstractState</a>&amp;rhs)<span class="keyword"> const</span></div>
481
+ <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;<span class="keyword"> </span>{</div>
482
+ <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e">geqVarToValMap</a>(<a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>, rhs.<a class="code" href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">getVarToVal</a>()) &amp;&amp; <a class="code" href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e">geqVarToValMap</a>(<a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>, rhs.<a class="code" href="classSVF_1_1AbstractState.html#ab8d9bf4a917a4691037ae08e2b634624">getLocToVal</a>());</div>
483
+ <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div>
484
+ <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; </div>
485
+ <div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="classSVF_1_1AbstractState.html#a46651dcb1b9c85bee52a4fad897d8ab3"> 442</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a46651dcb1b9c85bee52a4fad897d8ab3">clear</a>()</div>
486
+ <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div>
487
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">_addrToAbsVal</a>.clear();</div>
488
+ <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <a class="code" href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">_varToAbsVal</a>.clear();</div>
489
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; }</div>
490
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; </div>
491
491
  <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; </div>
492
- <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; </div>
493
- <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;<span class="keyword">protected</span>:</div>
494
- <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a61a9a3873426ad522d0b4c16eb2ac67b">printTable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;table, std::ostream &amp;oss) <span class="keyword">const</span>;</div>
495
- <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; </div>
496
- <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;};</div>
497
- <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; </div>
498
- <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;}</div>
492
+ <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="keyword">protected</span>:</div>
493
+ <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AbstractState.html#a61a9a3873426ad522d0b4c16eb2ac67b">printTable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">VarToAbsValMap</a>&amp;table, std::ostream &amp;oss) <span class="keyword">const</span>;</div>
494
+ <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; </div>
495
+ <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;};</div>
496
+ <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; </div>
497
+ <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;}</div>
498
+ <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; </div>
499
499
  <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; </div>
500
- <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; </div>
501
- <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;<span class="preprocessor">#endif //Z3_EXAMPLE_INTERVAL_DOMAIN_H</span></div>
500
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="preprocessor">#endif //Z3_EXAMPLE_INTERVAL_DOMAIN_H</span></div>
502
501
  </div><!-- fragment --></div><!-- contents -->
503
502
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_aa9f048614c0bdbe5e8562bfcc6288a97"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aa9f048614c0bdbe5e8562bfcc6288a97">SVF::AbstractState::narrowing</a></div><div class="ttdeci">AbstractState narrowing(const AbstractState &amp;other)</div><div class="ttdoc">domain narrow with other, and return the narrowed domain</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00079">AbstractState.cpp:79</a></div></div>
504
503
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_ab956eb2731209fa52a8e4812d3ab8b37"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ab956eb2731209fa52a8e4812d3ab8b37">SVF::AbstractState::~AbstractState</a></div><div class="ttdeci">virtual ~AbstractState()=default</div></div>
505
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_ab4d209d0739f2c45dbc2a7e61318e2e3"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ab4d209d0739f2c45dbc2a7e61318e2e3">SVF::AbstractState::inVarToValTable</a></div><div class="ttdeci">virtual bool inVarToValTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToVal table</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00215">AbstractState.h:215</a></div></div>
506
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_ae7cf1e64c5d6c04c1c37e0075ab32880"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ae7cf1e64c5d6c04c1c37e0075ab32880">SVF::AbstractState::operator=</a></div><div class="ttdeci">AbstractState &amp; operator=(const AbstractState &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00105">AbstractState.h:105</a></div></div>
507
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_ab409b0084c202ddf437b45873d6992c6"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ab409b0084c202ddf437b45873d6992c6">SVF::AbstractState::getLocToVal</a></div><div class="ttdeci">const LocToAbsValMap &amp; getLocToVal() const</div><div class="ttdoc">get loc2val map</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00260">AbstractState.h:260</a></div></div>
508
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_af1ec2c0fcc4d87d07d4d87232085435c"><div class="ttname"><a href="classSVF_1_1AbstractState.html#af1ec2c0fcc4d87d07d4d87232085435c">SVF::AbstractState::operator=</a></div><div class="ttdeci">AbstractState &amp; operator=(AbstractState &amp;&amp;rhs)</div><div class="ttdoc">operator= move constructor</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00123">AbstractState.h:123</a></div></div>
509
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a67293389b28ed9ad361ec7ed92bd72dc"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a67293389b28ed9ad361ec7ed92bd72dc">SVF::AbstractState::AbstractState</a></div><div class="ttdeci">AbstractState(AbstractState &amp;&amp;rhs)</div><div class="ttdoc">move constructor</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00116">AbstractState.h:116</a></div></div>
504
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_ab4d209d0739f2c45dbc2a7e61318e2e3"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ab4d209d0739f2c45dbc2a7e61318e2e3">SVF::AbstractState::inVarToValTable</a></div><div class="ttdeci">virtual bool inVarToValTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToVal table</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00214">AbstractState.h:214</a></div></div>
505
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_ae7cf1e64c5d6c04c1c37e0075ab32880"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ae7cf1e64c5d6c04c1c37e0075ab32880">SVF::AbstractState::operator=</a></div><div class="ttdeci">AbstractState &amp; operator=(const AbstractState &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00103">AbstractState.h:103</a></div></div>
506
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_abac0c56904bd77bcd09fd65de51c25c9"><div class="ttname"><a href="classSVF_1_1AbstractState.html#abac0c56904bd77bcd09fd65de51c25c9">SVF::AbstractState::AddrToAbsValMap</a></div><div class="ttdeci">VarToAbsValMap AddrToAbsValMap</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00061">AbstractState.h:61</a></div></div>
507
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_af1ec2c0fcc4d87d07d4d87232085435c"><div class="ttname"><a href="classSVF_1_1AbstractState.html#af1ec2c0fcc4d87d07d4d87232085435c">SVF::AbstractState::operator=</a></div><div class="ttdeci">AbstractState &amp; operator=(AbstractState &amp;&amp;rhs)</div><div class="ttdoc">operator= move constructor</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00121">AbstractState.h:121</a></div></div>
508
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a67293389b28ed9ad361ec7ed92bd72dc"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a67293389b28ed9ad361ec7ed92bd72dc">SVF::AbstractState::AbstractState</a></div><div class="ttdeci">AbstractState(AbstractState &amp;&amp;rhs)</div><div class="ttdoc">move constructor</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00114">AbstractState.h:114</a></div></div>
510
509
  <div class="ttc" id="aAbstractValue_8h_html"><div class="ttname"><a href="AbstractValue_8h.html">AbstractValue.h</a></div></div>
511
510
  <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00096">GeneralType.h:96</a></div></div>
512
511
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral &amp; lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00206">IntervalValue.h:206</a></div></div>
513
512
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00067">BasicTypes.h:67</a></div></div>
514
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a46651dcb1b9c85bee52a4fad897d8ab3"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a46651dcb1b9c85bee52a4fad897d8ab3">SVF::AbstractState::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00443">AbstractState.h:443</a></div></div>
515
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a9666e46ba217b65e1482269055806034"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a9666e46ba217b65e1482269055806034">SVF::AbstractState::operator[]</a></div><div class="ttdeci">virtual AbstractValue &amp; operator[](u32_t varId)</div><div class="ttdoc">get abstract value of variable</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00176">AbstractState.h:176</a></div></div>
516
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a325ac3691d7252d0dcef9aa5f774b4c4"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a325ac3691d7252d0dcef9aa5f774b4c4">SVF::AbstractState::bottom</a></div><div class="ttdeci">AbstractState bottom() const</div><div class="ttdoc">Set all value bottom.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00134">AbstractState.h:134</a></div></div>
517
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a943e87d9e3bf7332e7dbb3a00aeb996a"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a943e87d9e3bf7332e7dbb3a00aeb996a">SVF::AbstractState::lessThanVarToValMap</a></div><div class="ttdeci">static bool lessThanVarToValMap(const VarToAbsValMap &amp;lhs, const VarToAbsValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00389">AbstractState.h:389</a></div></div>
518
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_ae10585f056d3d6f23e3ec7da7fa0f849"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ae10585f056d3d6f23e3ec7da7fa0f849">SVF::AbstractState::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const AbstractState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00432">AbstractState.h:432</a></div></div>
513
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a46651dcb1b9c85bee52a4fad897d8ab3"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a46651dcb1b9c85bee52a4fad897d8ab3">SVF::AbstractState::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00442">AbstractState.h:442</a></div></div>
514
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a9666e46ba217b65e1482269055806034"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a9666e46ba217b65e1482269055806034">SVF::AbstractState::operator[]</a></div><div class="ttdeci">virtual AbstractValue &amp; operator[](u32_t varId)</div><div class="ttdoc">get abstract value of variable</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00175">AbstractState.h:175</a></div></div>
515
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a325ac3691d7252d0dcef9aa5f774b4c4"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a325ac3691d7252d0dcef9aa5f774b4c4">SVF::AbstractState::bottom</a></div><div class="ttdeci">AbstractState bottom() const</div><div class="ttdoc">Set all value bottom.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00132">AbstractState.h:132</a></div></div>
516
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a943e87d9e3bf7332e7dbb3a00aeb996a"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a943e87d9e3bf7332e7dbb3a00aeb996a">SVF::AbstractState::lessThanVarToValMap</a></div><div class="ttdeci">static bool lessThanVarToValMap(const VarToAbsValMap &amp;lhs, const VarToAbsValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00388">AbstractState.h:388</a></div></div>
517
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_ae10585f056d3d6f23e3ec7da7fa0f849"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ae10585f056d3d6f23e3ec7da7fa0f849">SVF::AbstractState::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const AbstractState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00431">AbstractState.h:431</a></div></div>
519
518
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_a65131e4b96d21984c6907ac4fb32e973"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a65131e4b96d21984c6907ac4fb32e973">SVF::AbstractState::equals</a></div><div class="ttdeci">bool equals(const AbstractState &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00036">AbstractState.cpp:36</a></div></div>
520
519
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_a7e2ff1c509351658687ed87ca7ae544e"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a7e2ff1c509351658687ed87ca7ae544e">SVF::AbstractState::narrowWith</a></div><div class="ttdeci">void narrowWith(const AbstractState &amp;other)</div><div class="ttdoc">domain narrow with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00173">AbstractState.cpp:173</a></div></div>
521
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a4b2af0674aa1fd6689dc2660c4e7e812"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a4b2af0674aa1fd6689dc2660c4e7e812">SVF::AbstractState::AbstractState</a></div><div class="ttdeci">AbstractState(const AbstractState &amp;rhs)</div><div class="ttdoc">copy constructor</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00073">AbstractState.h:73</a></div></div>
522
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a52c298445a68c11faabe042744cfdc1d"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a52c298445a68c11faabe042744cfdc1d">SVF::AbstractState::operator!=</a></div><div class="ttdeci">bool operator!=(const AbstractState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00427">AbstractState.h:427</a></div></div>
523
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_aff46e9d0fb20cedd54323c808d06f7cf"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aff46e9d0fb20cedd54323c808d06f7cf">SVF::AbstractState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00228">AbstractState.h:228</a></div></div>
524
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_aa34516a95191c5ec56ce44a117e8b018"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aa34516a95191c5ec56ce44a117e8b018">SVF::AbstractState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00202">AbstractState.h:202</a></div></div>
525
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a6a49c75fb6b35159dcf1763b4484d335"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">SVF::AbstractState::_varToAbsVal</a></div><div class="ttdeci">VarToAbsValMap _varToAbsVal</div><div class="ttdoc">Map a variable (symbol) to its abstract value.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00169">AbstractState.h:169</a></div></div>
526
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_aad7588fead712273f6679d00759c06ea"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aad7588fead712273f6679d00759c06ea">SVF::AbstractState::isNullPtr</a></div><div class="ttdeci">static bool isNullPtr(u32_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00100">AbstractState.h:100</a></div></div>
527
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a234d0b11624febec605bc028f093240b"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a234d0b11624febec605bc028f093240b">SVF::AbstractState::getAddrs</a></div><div class="ttdeci">AbstractValue &amp; getAddrs(u32_t id)</div><div class="ttdoc">get memory addresses of variable</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00188">AbstractState.h:188</a></div></div>
528
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_ac34dc4e111967507950bd5afe4a59ea0"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ac34dc4e111967507950bd5afe4a59ea0">SVF::AbstractState::top</a></div><div class="ttdeci">AbstractState top() const</div><div class="ttdoc">Set all value top.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00146">AbstractState.h:146</a></div></div>
520
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a4b2af0674aa1fd6689dc2660c4e7e812"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a4b2af0674aa1fd6689dc2660c4e7e812">SVF::AbstractState::AbstractState</a></div><div class="ttdeci">AbstractState(const AbstractState &amp;rhs)</div><div class="ttdoc">copy constructor</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00072">AbstractState.h:72</a></div></div>
521
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a52c298445a68c11faabe042744cfdc1d"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a52c298445a68c11faabe042744cfdc1d">SVF::AbstractState::operator!=</a></div><div class="ttdeci">bool operator!=(const AbstractState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00426">AbstractState.h:426</a></div></div>
522
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_aff46e9d0fb20cedd54323c808d06f7cf"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aff46e9d0fb20cedd54323c808d06f7cf">SVF::AbstractState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00227">AbstractState.h:227</a></div></div>
523
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_aa34516a95191c5ec56ce44a117e8b018"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aa34516a95191c5ec56ce44a117e8b018">SVF::AbstractState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00201">AbstractState.h:201</a></div></div>
524
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a6a49c75fb6b35159dcf1763b4484d335"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a6a49c75fb6b35159dcf1763b4484d335">SVF::AbstractState::_varToAbsVal</a></div><div class="ttdeci">VarToAbsValMap _varToAbsVal</div><div class="ttdoc">Map a variable (symbol) to its abstract value.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00167">AbstractState.h:167</a></div></div>
525
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_aad7588fead712273f6679d00759c06ea"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aad7588fead712273f6679d00759c06ea">SVF::AbstractState::isNullPtr</a></div><div class="ttdeci">static bool isNullPtr(u32_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00098">AbstractState.h:98</a></div></div>
526
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a234d0b11624febec605bc028f093240b"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a234d0b11624febec605bc028f093240b">SVF::AbstractState::getAddrs</a></div><div class="ttdeci">AbstractValue &amp; getAddrs(u32_t id)</div><div class="ttdoc">get memory addresses of variable</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00187">AbstractState.h:187</a></div></div>
527
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_ac34dc4e111967507950bd5afe4a59ea0"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ac34dc4e111967507950bd5afe4a59ea0">SVF::AbstractState::top</a></div><div class="ttdeci">AbstractState top() const</div><div class="ttdoc">Set all value top.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00144">AbstractState.h:144</a></div></div>
529
528
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_add3acad151d5af6c9a5f692f7a01e65b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">SVF::IntervalValue::top</a></div><div class="ttdeci">static IntervalValue top()</div><div class="ttdoc">Create the IntervalValue [-oo, +oo].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00083">IntervalValue.h:83</a></div></div>
530
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a55ef37a2d9636d030feaaac041a1b081"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a55ef37a2d9636d030feaaac041a1b081">SVF::AbstractState::Interval2NumValue</a></div><div class="ttdeci">s32_t Interval2NumValue(const IntervalValue &amp;e) const</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00287">AbstractState.h:287</a></div></div>
529
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a55ef37a2d9636d030feaaac041a1b081"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a55ef37a2d9636d030feaaac041a1b081">SVF::AbstractState::Interval2NumValue</a></div><div class="ttdeci">s32_t Interval2NumValue(const IntervalValue &amp;e) const</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00286">AbstractState.h:286</a></div></div>
531
530
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a4181e5e15e10304ea524e5f8b2a3f576"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral, default type is double in case to support both int and float.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00132">NumericLiteral.h:132</a></div></div>
532
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_adb1ce2a16c501aefa7c902e9bec012f6"><div class="ttname"><a href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6">SVF::AbstractState::eqVarToValMap</a></div><div class="ttdeci">static bool eqVarToValMap(const VarToAbsValMap &amp;lhs, const VarToAbsValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00355">AbstractState.h:355</a></div></div>
531
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_adb1ce2a16c501aefa7c902e9bec012f6"><div class="ttname"><a href="classSVF_1_1AbstractState.html#adb1ce2a16c501aefa7c902e9bec012f6">SVF::AbstractState::eqVarToValMap</a></div><div class="ttdeci">static bool eqVarToValMap(const VarToAbsValMap &amp;lhs, const VarToAbsValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00354">AbstractState.h:354</a></div></div>
533
532
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
534
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a1f935ea8ab16b04699284bf92bbbb23c"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a1f935ea8ab16b04699284bf92bbbb23c">SVF::AbstractState::store</a></div><div class="ttdeci">void store(u32_t addr, const AbstractValue &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00322">AbstractState.h:322</a></div></div>
533
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a1f935ea8ab16b04699284bf92bbbb23c"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a1f935ea8ab16b04699284bf92bbbb23c">SVF::AbstractState::store</a></div><div class="ttdeci">void store(u32_t addr, const AbstractValue &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00321">AbstractState.h:321</a></div></div>
535
534
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_ab8e7d112c380f0c3fe66b487af90c03e"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ab8e7d112c380f0c3fe66b487af90c03e">SVF::AbstractState::VarToAbsValMap</a></div><div class="ttdeci">Map&lt; u32_t, AbstractValue &gt; VarToAbsValMap</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00059">AbstractState.h:59</a></div></div>
536
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_ae9897b85e3cb2dc675d3a2df76c44878"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ae9897b85e3cb2dc675d3a2df76c44878">SVF::AbstractState::sliceState</a></div><div class="ttdeci">AbstractState sliceState(Set&lt; u32_t &gt; &amp;sl)</div><div class="ttdoc">Copy some values and return a new IntervalExeState.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00158">AbstractState.h:158</a></div></div>
535
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_ae9897b85e3cb2dc675d3a2df76c44878"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ae9897b85e3cb2dc675d3a2df76c44878">SVF::AbstractState::sliceState</a></div><div class="ttdeci">AbstractState sliceState(Set&lt; u32_t &gt; &amp;sl)</div><div class="ttdoc">Copy some values and return a new IntervalExeState.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00156">AbstractState.h:156</a></div></div>
537
536
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_a38608261ed9a3f7b25cd68748456924b"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a38608261ed9a3f7b25cd68748456924b">SVF::AbstractState::hash</a></div><div class="ttdeci">u32_t hash() const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00041">AbstractState.cpp:41</a></div></div>
538
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_ad3eefae77eb1fc4bbcfe70b0f2f51dd4"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4">SVF::AbstractState::isVirtualMemAddress</a></div><div class="ttdeci">static bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00089">AbstractState.h:89</a></div></div>
537
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_ad3eefae77eb1fc4bbcfe70b0f2f51dd4"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ad3eefae77eb1fc4bbcfe70b0f2f51dd4">SVF::AbstractState::isVirtualMemAddress</a></div><div class="ttdeci">static bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00087">AbstractState.h:87</a></div></div>
539
538
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_afd37c4419cfc79b6765fa243fcbea573"><div class="ttname"><a href="classSVF_1_1AbstractState.html#afd37c4419cfc79b6765fa243fcbea573">SVF::AbstractState::widening</a></div><div class="ttdeci">AbstractState widening(const AbstractState &amp;other)</div><div class="ttdoc">domain widen with other, and return the widened domain</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00058">AbstractState.cpp:58</a></div></div>
540
539
  <div class="ttc" id="aclassSVF_1_1AddressValue_html_a3be7a2e3ec3215b67cd60f122d2cd10e"><div class="ttname"><a href="classSVF_1_1AddressValue.html#a3be7a2e3ec3215b67cd60f122d2cd10e">SVF::AddressValue::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00224">AddressValue.h:224</a></div></div>
541
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a6772fed9390734578b46b85cbf9ba95f"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a6772fed9390734578b46b85cbf9ba95f">SVF::AbstractState::AbstractState</a></div><div class="ttdeci">AbstractState(VarToAbsValMap &amp;_varToValMap, LocToAbsValMap &amp;_locToValMap)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00069">AbstractState.h:69</a></div></div>
542
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_ac4f511baa4ca9ecc1d6a3defae194ac5"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ac4f511baa4ca9ecc1d6a3defae194ac5">SVF::AbstractState::operator[]</a></div><div class="ttdeci">virtual const AbstractValue &amp; operator[](u32_t varId) const</div><div class="ttdoc">get abstract value of variable</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00182">AbstractState.h:182</a></div></div>
543
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_aa594b7f3d1590073a88bcc73918dde39"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aa594b7f3d1590073a88bcc73918dde39">SVF::AbstractState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00083">AbstractState.h:83</a></div></div>
540
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_ac4f511baa4ca9ecc1d6a3defae194ac5"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ac4f511baa4ca9ecc1d6a3defae194ac5">SVF::AbstractState::operator[]</a></div><div class="ttdeci">virtual const AbstractValue &amp; operator[](u32_t varId) const</div><div class="ttdoc">get abstract value of variable</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00181">AbstractState.h:181</a></div></div>
541
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_aa594b7f3d1590073a88bcc73918dde39"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aa594b7f3d1590073a88bcc73918dde39">SVF::AbstractState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00081">AbstractState.h:81</a></div></div>
544
542
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
545
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a1be4db45d0af58508921bc2efddcb586"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a1be4db45d0af58508921bc2efddcb586">SVF::AbstractState::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const AbstractState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00438">AbstractState.h:438</a></div></div>
543
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a1be4db45d0af58508921bc2efddcb586"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a1be4db45d0af58508921bc2efddcb586">SVF::AbstractState::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const AbstractState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00437">AbstractState.h:437</a></div></div>
546
544
  <div class="ttc" id="aclassSVF_1_1RelationSolver_html"><div class="ttname"><a href="classSVF_1_1RelationSolver.html">SVF::RelationSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="RelationSolver_8h_source.html#l00038">RelationSolver.h:38</a></div></div>
547
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_aa057c4c27e613d239161c04daf3a46d0"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aa057c4c27e613d239161c04daf3a46d0">SVF::AbstractState::load</a></div><div class="ttdeci">virtual AbstractValue &amp; load(u32_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00330">AbstractState.h:330</a></div></div>
545
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_aa057c4c27e613d239161c04daf3a46d0"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aa057c4c27e613d239161c04daf3a46d0">SVF::AbstractState::load</a></div><div class="ttdeci">virtual AbstractValue &amp; load(u32_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00329">AbstractState.h:329</a></div></div>
548
546
  <div class="ttc" id="aclassSVF_1_1AbstractState_html"><div class="ttname"><a href="classSVF_1_1AbstractState.html">SVF::AbstractState</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00054">AbstractState.h:54</a></div></div>
549
547
  <div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
550
548
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference&lt; T &gt;::type &amp;&amp; move(T &amp;&amp;t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
551
549
  <div class="ttc" id="aclassSVF_1_1AddressValue_html_ab76f47f97262d40dbbee12f466f746e8"><div class="ttname"><a href="classSVF_1_1AddressValue.html#ab76f47f97262d40dbbee12f466f746e8">SVF::AddressValue::isVirtualMemAddress</a></div><div class="ttdeci">static bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000.</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00218">AddressValue.h:218</a></div></div>
552
550
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_a00c811d7ef05476b7699c66a10eb4944"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a00c811d7ef05476b7699c66a10eb4944">SVF::AbstractState::printExprValues</a></div><div class="ttdeci">void printExprValues(std::ostream &amp;oss) const</div><div class="ttdoc">Print values of all expressions.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00239">AbstractState.cpp:239</a></div></div>
553
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a4e4525823fd31c718216c698ed6e0a06"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">SVF::AbstractState::getVarToVal</a></div><div class="ttdeci">const VarToAbsValMap &amp; getVarToVal() const</div><div class="ttdoc">get var2val map</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00254">AbstractState.h:254</a></div></div>
551
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_ab8d9bf4a917a4691037ae08e2b634624"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ab8d9bf4a917a4691037ae08e2b634624">SVF::AbstractState::getLocToVal</a></div><div class="ttdeci">const AddrToAbsValMap &amp; getLocToVal() const</div><div class="ttdoc">get loc2val map</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00259">AbstractState.h:259</a></div></div>
552
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a4e4525823fd31c718216c698ed6e0a06"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a4e4525823fd31c718216c698ed6e0a06">SVF::AbstractState::getVarToVal</a></div><div class="ttdeci">const VarToAbsValMap &amp; getVarToVal() const</div><div class="ttdoc">get var2val map</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00253">AbstractState.h:253</a></div></div>
554
553
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_a8d2a6e895d17181324cdeb9e2cf8f1de"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a8d2a6e895d17181324cdeb9e2cf8f1de">SVF::AbstractState::widenWith</a></div><div class="ttdeci">void widenWith(const AbstractState &amp;other)</div><div class="ttdoc">domain widen with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00101">AbstractState.cpp:101</a></div></div>
555
554
  <div class="ttc" id="aclassSVF_1_1SVFIR2AbsState_html"><div class="ttname"><a href="classSVF_1_1SVFIR2AbsState.html">SVF::SVFIR2AbsState</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2AbsState_8h_source.html#l00042">SVFIR2AbsState.h:42</a></div></div>
556
555
  <div class="ttc" id="aclassSVF_1_1AddressValue_html"><div class="ttname"><a href="classSVF_1_1AddressValue.html">SVF::AddressValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00043">AddressValue.h:43</a></div></div>
557
556
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_a413cb1d009e2a080960bb2432e193d0c"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a413cb1d009e2a080960bb2432e193d0c">SVF::AbstractState::joinWith</a></div><div class="ttdeci">void joinWith(const AbstractState &amp;other)</div><div class="ttdoc">domain join with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00120">AbstractState.cpp:120</a></div></div>
558
557
  <div class="ttc" id="acJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
558
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a9d21fa95af8171b8a9b748a655f0317c"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a9d21fa95af8171b8a9b748a655f0317c">SVF::AbstractState::AbstractState</a></div><div class="ttdeci">AbstractState(VarToAbsValMap &amp;_varToValMap, AddrToAbsValMap &amp;_locToValMap)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00069">AbstractState.h:69</a></div></div>
559
559
  <div class="ttc" id="aclassSVF_1_1AddressValue_html_aa6ccc9882f89804cd6566e3dfe3dfdc8"><div class="ttname"><a href="classSVF_1_1AddressValue.html#aa6ccc9882f89804cd6566e3dfe3dfdc8">SVF::AddressValue::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00212">AddressValue.h:212</a></div></div>
560
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_aaabe5850dbf1620c6058f5ac6cb169b6"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">SVF::AbstractState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00095">AbstractState.h:95</a></div></div>
561
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_aade30bb08f86b3f74e7aa9cdc60c92a3"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aade30bb08f86b3f74e7aa9cdc60c92a3">SVF::AbstractState::_locToAbsVal</a></div><div class="ttdeci">LocToAbsValMap _locToAbsVal</div><div class="ttdoc">Map a memory address to its stored abstract value.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00170">AbstractState.h:170</a></div></div>
560
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_aaabe5850dbf1620c6058f5ac6cb169b6"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aaabe5850dbf1620c6058f5ac6cb169b6">SVF::AbstractState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00093">AbstractState.h:93</a></div></div>
562
561
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_adec6191b9f1e51ed70a7620dd06153a9"><div class="ttname"><a href="classSVF_1_1AbstractState.html#adec6191b9f1e51ed70a7620dd06153a9">SVF::AbstractState::meetWith</a></div><div class="ttdeci">void meetWith(const AbstractState &amp;other)</div><div class="ttdoc">domain meet with other, important! other widen this.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00194">AbstractState.cpp:194</a></div></div>
563
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a52aa9356624716fcaecc3c55bf7043c4"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a52aa9356624716fcaecc3c55bf7043c4">SVF::AbstractState::has_bottom</a></div><div class="ttdeci">bool has_bottom()</div><div class="ttdoc">Return true if map has bottom value.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00294">AbstractState.h:294</a></div></div>
564
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a16486a0c6d9a1bb1ac19673b41a16a0e"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e">SVF::AbstractState::geqVarToValMap</a></div><div class="ttdeci">static bool geqVarToValMap(const VarToAbsValMap &amp;lhs, const VarToAbsValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00403">AbstractState.h:403</a></div></div>
562
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a52aa9356624716fcaecc3c55bf7043c4"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a52aa9356624716fcaecc3c55bf7043c4">SVF::AbstractState::has_bottom</a></div><div class="ttdeci">bool has_bottom()</div><div class="ttdoc">Return true if map has bottom value.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00293">AbstractState.h:293</a></div></div>
563
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a16486a0c6d9a1bb1ac19673b41a16a0e"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a16486a0c6d9a1bb1ac19673b41a16a0e">SVF::AbstractState::geqVarToValMap</a></div><div class="ttdeci">static bool geqVarToValMap(const VarToAbsValMap &amp;lhs, const VarToAbsValMap &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00402">AbstractState.h:402</a></div></div>
565
564
  <div class="ttc" id="aIntervalValue_8h_html"><div class="ttname"><a href="IntervalValue_8h.html">IntervalValue.h</a></div></div>
566
565
  <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00101">GeneralType.h:101</a></div></div>
567
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a046e475067c101430f87d67965ecfb08"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a046e475067c101430f87d67965ecfb08">SVF::AbstractState::LocToAbsValMap</a></div><div class="ttdeci">VarToAbsValMap LocToAbsValMap</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00061">AbstractState.h:61</a></div></div>
568
566
  <div class="ttc" id="astructSVF_1_1AbstractValue_html"><div class="ttname"><a href="structSVF_1_1AbstractValue.html">SVF::AbstractValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00029">AbstractValue.h:29</a></div></div>
569
567
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_aac4048e1e39f2dbc16f20b7ffe61af5e"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aac4048e1e39f2dbc16f20b7ffe61af5e">SVF::AbstractState::AbstractState</a></div><div class="ttdeci">AbstractState()</div><div class="ttdoc">default constructor</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00065">AbstractState.h:65</a></div></div>
570
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_a7c802c006225a50b1d83b5f78d0891fa"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a7c802c006225a50b1d83b5f78d0891fa">SVF::AbstractState::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00348">AbstractState.h:348</a></div></div>
571
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_aa2ac2ba25a9859232717ee22192feb35"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aa2ac2ba25a9859232717ee22192feb35">SVF::AbstractState::inLocToValTable</a></div><div class="ttdeci">virtual bool inLocToValTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores abstract value</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00241">AbstractState.h:241</a></div></div>
568
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a7c802c006225a50b1d83b5f78d0891fa"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a7c802c006225a50b1d83b5f78d0891fa">SVF::AbstractState::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00347">AbstractState.h:347</a></div></div>
569
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_aa2ac2ba25a9859232717ee22192feb35"><div class="ttname"><a href="classSVF_1_1AbstractState.html#aa2ac2ba25a9859232717ee22192feb35">SVF::AbstractState::inLocToValTable</a></div><div class="ttdeci">virtual bool inLocToValTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores abstract value</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00240">AbstractState.h:240</a></div></div>
572
570
  <div class="ttc" id="aclassSVF_1_1AbstractState_html_a61a9a3873426ad522d0b4c16eb2ac67b"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a61a9a3873426ad522d0b4c16eb2ac67b">SVF::AbstractState::printTable</a></div><div class="ttdeci">void printTable(const VarToAbsValMap &amp;table, std::ostream &amp;oss) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8cpp_source.html#l00247">AbstractState.cpp:247</a></div></div>
573
- <div class="ttc" id="aclassSVF_1_1AbstractState_html_ac41c5f3e8b8820c796f84e8fbb36a283"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ac41c5f3e8b8820c796f84e8fbb36a283">SVF::AbstractState::operator==</a></div><div class="ttdeci">bool operator==(const AbstractState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00421">AbstractState.h:421</a></div></div>
571
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_ac41c5f3e8b8820c796f84e8fbb36a283"><div class="ttname"><a href="classSVF_1_1AbstractState.html#ac41c5f3e8b8820c796f84e8fbb36a283">SVF::AbstractState::operator==</a></div><div class="ttdeci">bool operator==(const AbstractState &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00420">AbstractState.h:420</a></div></div>
574
572
  <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
575
573
  <div class="ttc" id="aZ3Expr_8h_html"><div class="ttname"><a href="Z3Expr_8h.html">Z3Expr.h</a></div></div>
574
+ <div class="ttc" id="aclassSVF_1_1AbstractState_html_a816695606ef796ce97c42ac4053de47e"><div class="ttname"><a href="classSVF_1_1AbstractState.html#a816695606ef796ce97c42ac4053de47e">SVF::AbstractState::_addrToAbsVal</a></div><div class="ttdeci">AddrToAbsValMap _addrToAbsVal</div><div class="ttdoc">Map a memory address to its stored abstract value.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractState_8h_source.html#l00169">AbstractState.h:169</a></div></div>
576
575
  <!-- start footer part -->
577
576
  <hr class="footer"/><address class="footer"><small>
578
577
  Generated by &#160;<a href="http://www.doxygen.org/index.html">