svf-tools 1.0.782 → 1.0.783

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 (300) hide show
  1. package/SVF-doxygen/html/html/CDG_8h.html +2 -2
  2. package/SVF-doxygen/html/html/CDG_8h_source.html +2 -2
  3. package/SVF-doxygen/html/html/CFBasicBlockG_8cpp_source.html +152 -90
  4. package/SVF-doxygen/html/html/CFBasicBlockG_8h.html +3 -1
  5. package/SVF-doxygen/html/html/CFBasicBlockG_8h_source.html +601 -260
  6. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +4 -4
  7. package/SVF-doxygen/html/html/WTO_8h_source.html +6 -6
  8. package/SVF-doxygen/html/html/annotated.html +325 -333
  9. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockEdge-members.html +19 -12
  10. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockEdge.html +219 -30
  11. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGBuilder-members.html +4 -3
  12. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGBuilder.html +147 -39
  13. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
  14. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTONode.html +1 -1
  15. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGraph-members.html +32 -28
  16. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGraph.html +382 -184
  17. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode-members.html +51 -41
  18. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode.html +1244 -159
  19. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +34 -34
  20. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +65 -25
  21. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +4 -5
  22. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  23. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +3 -4
  24. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.png +0 -0
  25. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +10 -10
  26. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  27. package/SVF-doxygen/html/html/classes.html +266 -276
  28. package/SVF-doxygen/html/html/dir_a10fe8a299b5f0831d187a9a2e1308ef.html +0 -2
  29. package/SVF-doxygen/html/html/dir_fc0329f850c815763e0c5b05933e8d55.html +0 -2
  30. package/SVF-doxygen/html/html/files.html +19 -21
  31. package/SVF-doxygen/html/html/functions.html +2 -33
  32. package/SVF-doxygen/html/html/functions_a.html +14 -16
  33. package/SVF-doxygen/html/html/functions_b.html +8 -9
  34. package/SVF-doxygen/html/html/functions_c.html +34 -31
  35. package/SVF-doxygen/html/html/functions_d.html +11 -13
  36. package/SVF-doxygen/html/html/functions_e.html +1 -1
  37. package/SVF-doxygen/html/html/functions_func.html +16 -18
  38. package/SVF-doxygen/html/html/functions_func_b.html +2 -3
  39. package/SVF-doxygen/html/html/functions_func_c.html +31 -31
  40. package/SVF-doxygen/html/html/functions_func_d.html +10 -12
  41. package/SVF-doxygen/html/html/functions_func_g.html +22 -59
  42. package/SVF-doxygen/html/html/functions_func_h.html +9 -12
  43. package/SVF-doxygen/html/html/functions_func_i.html +13 -26
  44. package/SVF-doxygen/html/html/functions_func_o.html +9 -9
  45. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  46. package/SVF-doxygen/html/html/functions_func_r.html +15 -15
  47. package/SVF-doxygen/html/html/functions_func_s.html +19 -28
  48. package/SVF-doxygen/html/html/functions_func_t.html +0 -2
  49. package/SVF-doxygen/html/html/functions_func_v.html +2 -3
  50. package/SVF-doxygen/html/html/functions_func_~.html +0 -12
  51. package/SVF-doxygen/html/html/functions_g.html +23 -60
  52. package/SVF-doxygen/html/html/functions_h.html +9 -12
  53. package/SVF-doxygen/html/html/functions_i.html +16 -44
  54. package/SVF-doxygen/html/html/functions_n.html +6 -8
  55. package/SVF-doxygen/html/html/functions_o.html +23 -27
  56. package/SVF-doxygen/html/html/functions_p.html +8 -12
  57. package/SVF-doxygen/html/html/functions_r.html +17 -17
  58. package/SVF-doxygen/html/html/functions_s.html +15 -32
  59. package/SVF-doxygen/html/html/functions_t.html +5 -7
  60. package/SVF-doxygen/html/html/functions_type_c.html +6 -3
  61. package/SVF-doxygen/html/html/functions_type_e.html +1 -1
  62. package/SVF-doxygen/html/html/functions_type_i.html +3 -18
  63. package/SVF-doxygen/html/html/functions_type_n.html +0 -2
  64. package/SVF-doxygen/html/html/functions_type_s.html +0 -6
  65. package/SVF-doxygen/html/html/functions_v.html +4 -5
  66. package/SVF-doxygen/html/html/functions_vars.html +2 -33
  67. package/SVF-doxygen/html/html/functions_vars_i.html +2 -2
  68. package/SVF-doxygen/html/html/functions_vars_o.html +2 -2
  69. package/SVF-doxygen/html/html/functions_w.html +8 -8
  70. package/SVF-doxygen/html/html/functions_~.html +0 -12
  71. package/SVF-doxygen/html/html/hierarchy.html +458 -469
  72. package/SVF-doxygen/html/html/namespaceSVF.html +7 -78
  73. package/SVF-doxygen/html/html/namespacemembers_g.html +3 -12
  74. package/SVF-doxygen/html/html/namespacemembers_n.html +1 -1
  75. package/SVF-doxygen/html/html/namespacemembers_type_g.html +0 -9
  76. package/SVF-doxygen/html/html/namespacemembers_type_n.html +1 -1
  77. package/SVF-doxygen/html/html/search/all_0.js +137 -147
  78. package/SVF-doxygen/html/html/search/all_1.js +484 -485
  79. package/SVF-doxygen/html/html/search/all_10.js +324 -324
  80. package/SVF-doxygen/html/html/search/all_11.js +224 -224
  81. package/SVF-doxygen/html/html/search/all_12.js +541 -546
  82. package/SVF-doxygen/html/html/search/all_13.js +190 -190
  83. package/SVF-doxygen/html/html/search/all_14.js +67 -67
  84. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  85. package/SVF-doxygen/html/html/search/all_16.js +63 -63
  86. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  87. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  88. package/SVF-doxygen/html/html/search/all_19.js +11 -11
  89. package/SVF-doxygen/html/html/search/all_1a.js +172 -176
  90. package/SVF-doxygen/html/html/search/all_2.js +167 -167
  91. package/SVF-doxygen/html/html/search/all_3.js +640 -639
  92. package/SVF-doxygen/html/html/search/all_4.js +233 -234
  93. package/SVF-doxygen/html/html/search/all_5.js +121 -120
  94. package/SVF-doxygen/html/html/search/all_6.js +225 -225
  95. package/SVF-doxygen/html/html/search/all_7.js +1037 -1056
  96. package/SVF-doxygen/html/html/search/all_8.js +194 -195
  97. package/SVF-doxygen/html/html/search/all_9.js +607 -617
  98. package/SVF-doxygen/html/html/search/all_a.js +46 -46
  99. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  100. package/SVF-doxygen/html/html/search/all_c.js +116 -116
  101. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  102. package/SVF-doxygen/html/html/search/all_e.js +207 -207
  103. package/SVF-doxygen/html/html/search/all_f.js +116 -116
  104. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  105. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  106. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  107. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  108. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  109. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  110. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  111. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  112. package/SVF-doxygen/html/html/search/classes_2.js +80 -80
  113. package/SVF-doxygen/html/html/search/classes_3.js +37 -38
  114. package/SVF-doxygen/html/html/search/classes_4.js +9 -9
  115. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  116. package/SVF-doxygen/html/html/search/classes_6.js +104 -110
  117. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  118. package/SVF-doxygen/html/html/search/classes_8.js +56 -60
  119. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  120. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  121. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  122. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  123. package/SVF-doxygen/html/html/search/classes_d.js +18 -18
  124. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  125. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  126. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  127. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  128. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  129. package/SVF-doxygen/html/html/search/defines_3.js +21 -21
  130. package/SVF-doxygen/html/html/search/defines_4.js +2 -2
  131. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  132. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  133. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  134. package/SVF-doxygen/html/html/search/defines_8.js +11 -11
  135. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  136. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  137. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  138. package/SVF-doxygen/html/html/search/defines_c.js +3 -3
  139. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  140. package/SVF-doxygen/html/html/search/defines_e.js +7 -7
  141. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  142. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  143. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  144. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  145. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  146. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  147. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  148. package/SVF-doxygen/html/html/search/enums_4.js +3 -3
  149. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  150. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  151. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  152. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  153. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  154. package/SVF-doxygen/html/html/search/enums_a.js +1 -1
  155. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  156. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  157. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  158. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  159. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  160. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  161. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  162. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  163. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  164. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  165. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  166. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  167. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  168. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
  169. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  170. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
  171. package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
  172. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  173. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  174. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  175. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  176. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
  177. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  178. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
  179. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  180. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
  181. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  182. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  183. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  184. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  185. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  186. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  187. package/SVF-doxygen/html/html/search/files_2.js +53 -53
  188. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  189. package/SVF-doxygen/html/html/search/files_4.js +5 -5
  190. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  191. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  192. package/SVF-doxygen/html/html/search/files_7.js +14 -16
  193. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  194. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  195. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  196. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  197. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  198. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  199. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  200. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  201. package/SVF-doxygen/html/html/search/functions_0.js +12 -12
  202. package/SVF-doxygen/html/html/search/functions_1.js +356 -357
  203. package/SVF-doxygen/html/html/search/functions_10.js +140 -140
  204. package/SVF-doxygen/html/html/search/functions_11.js +138 -138
  205. package/SVF-doxygen/html/html/search/functions_12.js +276 -279
  206. package/SVF-doxygen/html/html/search/functions_13.js +58 -58
  207. package/SVF-doxygen/html/html/search/functions_14.js +39 -39
  208. package/SVF-doxygen/html/html/search/functions_15.js +71 -71
  209. package/SVF-doxygen/html/html/search/functions_16.js +32 -32
  210. package/SVF-doxygen/html/html/search/functions_17.js +3 -3
  211. package/SVF-doxygen/html/html/search/functions_18.js +172 -176
  212. package/SVF-doxygen/html/html/search/functions_2.js +86 -86
  213. package/SVF-doxygen/html/html/search/functions_3.js +257 -257
  214. package/SVF-doxygen/html/html/search/functions_4.js +75 -75
  215. package/SVF-doxygen/html/html/search/functions_5.js +53 -53
  216. package/SVF-doxygen/html/html/search/functions_6.js +59 -59
  217. package/SVF-doxygen/html/html/search/functions_7.js +848 -858
  218. package/SVF-doxygen/html/html/search/functions_8.js +146 -147
  219. package/SVF-doxygen/html/html/search/functions_9.js +425 -429
  220. package/SVF-doxygen/html/html/search/functions_a.js +30 -30
  221. package/SVF-doxygen/html/html/search/functions_b.js +2 -2
  222. package/SVF-doxygen/html/html/search/functions_c.js +26 -26
  223. package/SVF-doxygen/html/html/search/functions_d.js +77 -77
  224. package/SVF-doxygen/html/html/search/functions_e.js +35 -35
  225. package/SVF-doxygen/html/html/search/functions_f.js +56 -56
  226. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  227. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  228. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  229. package/SVF-doxygen/html/html/search/related_1.js +2 -2
  230. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  231. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  232. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  233. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  234. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  235. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  236. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  237. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  238. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  239. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  240. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  241. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  242. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  243. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  244. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  245. package/SVF-doxygen/html/html/search/typedefs_1.js +26 -26
  246. package/SVF-doxygen/html/html/search/typedefs_10.js +61 -63
  247. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  248. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  249. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  250. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  251. package/SVF-doxygen/html/html/search/typedefs_2.js +129 -128
  252. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  253. package/SVF-doxygen/html/html/search/typedefs_4.js +17 -17
  254. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  255. package/SVF-doxygen/html/html/search/typedefs_6.js +55 -58
  256. package/SVF-doxygen/html/html/search/typedefs_7.js +42 -46
  257. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  258. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  259. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  260. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  261. package/SVF-doxygen/html/html/search/typedefs_c.js +41 -41
  262. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  263. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  264. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  265. package/SVF-doxygen/html/html/search/variables_0.js +152 -162
  266. package/SVF-doxygen/html/html/search/variables_1.js +75 -75
  267. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  268. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  269. package/SVF-doxygen/html/html/search/variables_12.js +92 -92
  270. package/SVF-doxygen/html/html/search/variables_13.js +75 -75
  271. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  272. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  273. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  274. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  275. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  276. package/SVF-doxygen/html/html/search/variables_2.js +37 -37
  277. package/SVF-doxygen/html/html/search/variables_3.js +142 -142
  278. package/SVF-doxygen/html/html/search/variables_4.js +55 -55
  279. package/SVF-doxygen/html/html/search/variables_5.js +39 -39
  280. package/SVF-doxygen/html/html/search/variables_6.js +66 -66
  281. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  282. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  283. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  284. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  285. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  286. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  287. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  288. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  289. package/SVF-doxygen/html/html/search/variables_f.js +30 -30
  290. package/SVF-doxygen/html/html/structSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge-members.html +84 -0
  291. package/SVF-doxygen/html/html/structSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge.html +144 -0
  292. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +40 -40
  293. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
  294. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
  295. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
  296. package/package.json +1 -1
  297. package/svf/include/Graphs/CFBasicBlockG.h +342 -32
  298. package/svf/lib/Graphs/CFBasicBlockG.cpp +97 -36
  299. package/svf/include/Graphs/ICFGWrapper.h +0 -728
  300. package/svf/lib/Graphs/ICFGWrapper.cpp +0 -97
@@ -66,9 +66,7 @@ $(function() {
66
66
  </div><!-- top -->
67
67
  <div class="header">
68
68
  <div class="summary">
69
- <a href="#pub-types">Public Types</a> &#124;
70
69
  <a href="#pub-methods">Public Member Functions</a> &#124;
71
- <a href="#pri-methods">Private Member Functions</a> &#124;
72
70
  <a href="#pri-attribs">Private Attributes</a> &#124;
73
71
  <a href="#friends">Friends</a> &#124;
74
72
  <a href="classSVF_1_1CFBasicBlockGraph-members.html">List of all members</a> </div>
@@ -88,28 +86,10 @@ Inheritance diagram for SVF::CFBasicBlockGraph:</div>
88
86
  </map>
89
87
  </div></div>
90
88
  <table class="memberdecls">
91
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
92
- Public Types</h2></td></tr>
93
- <tr class="memitem:a7ad3779ac1173bac3f354e50b8722db5"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a7ad3779ac1173bac3f354e50b8722db5">SVFBasicBlockToCFBasicBlockNodeMap</a></td></tr>
94
- <tr class="separator:a7ad3779ac1173bac3f354e50b8722db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
95
- <tr class="inherit_header pub_types_classSVF_1_1GenericGraph"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1GenericGraph')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph&lt; NodeTy, EdgeTy &gt;</a></td></tr>
96
- <tr class="memitem:a86c50fc6775fd29f88df2cb4646bb211 inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef NodeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#a86c50fc6775fd29f88df2cb4646bb211">NodeType</a></td></tr>
97
- <tr class="separator:a86c50fc6775fd29f88df2cb4646bb211 inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
98
- <tr class="memitem:a12d493d6ad2b6c89f240c9ccfa3bdf30 inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#a12d493d6ad2b6c89f240c9ccfa3bdf30">EdgeType</a></td></tr>
99
- <tr class="separator:a12d493d6ad2b6c89f240c9ccfa3bdf30 inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
- <tr class="memitem:afe017704d73445211fecaf7f3853010e inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1GenericGraph.html#a86c50fc6775fd29f88df2cb4646bb211">NodeType</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#afe017704d73445211fecaf7f3853010e">IDToNodeMapTy</a></td></tr>
101
- <tr class="memdesc:afe017704d73445211fecaf7f3853010e inherit pub_types_classSVF_1_1GenericGraph"><td class="mdescLeft">&#160;</td><td class="mdescRight">NodeID to <a class="el" href="classSVF_1_1GenericNode.html">GenericNode</a> map. <a href="classSVF_1_1GenericGraph.html#afe017704d73445211fecaf7f3853010e">More...</a><br /></td></tr>
102
- <tr class="separator:afe017704d73445211fecaf7f3853010e inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
- <tr class="memitem:ac213302cf5c7cdf3b66f7b18649d0fbc inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef IDToNodeMapTy::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">iterator</a></td></tr>
104
- <tr class="memdesc:ac213302cf5c7cdf3b66f7b18649d0fbc inherit pub_types_classSVF_1_1GenericGraph"><td class="mdescLeft">&#160;</td><td class="mdescRight">Node Iterators. <a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">More...</a><br /></td></tr>
105
- <tr class="separator:ac213302cf5c7cdf3b66f7b18649d0fbc inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
- <tr class="memitem:a5dfa3f178d4abf37177d0d74ff4c6a97 inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef IDToNodeMapTy::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">const_iterator</a></td></tr>
107
- <tr class="separator:a5dfa3f178d4abf37177d0d74ff4c6a97 inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
- </table><table class="memberdecls">
109
89
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
110
90
  Public Member Functions</h2></td></tr>
111
- <tr class="memitem:ad042f65d6b9ce50db37e0c2584228fa3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#ad042f65d6b9ce50db37e0c2584228fa3">CFBasicBlockGraph</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *svfFunction)</td></tr>
112
- <tr class="separator:ad042f65d6b9ce50db37e0c2584228fa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
91
+ <tr class="memitem:afad7ee1f21bf2983d4aa40cccf368137"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#afad7ee1f21bf2983d4aa40cccf368137">CFBasicBlockGraph</a> ()=default</td></tr>
92
+ <tr class="separator:afad7ee1f21bf2983d4aa40cccf368137"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
93
  <tr class="memitem:af025ac00db2493720d8170fb08f237d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#af025ac00db2493720d8170fb08f237d4">~CFBasicBlockGraph</a> () override=default</td></tr>
114
94
  <tr class="separator:af025ac00db2493720d8170fb08f237d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
95
  <tr class="memitem:a41494b39a562ee1788f91bc39776604f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a41494b39a562ee1788f91bc39776604f">dump</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;filename)</td></tr>
@@ -117,14 +97,35 @@ Public Member Functions</h2></td></tr>
117
97
  <tr class="separator:a41494b39a562ee1788f91bc39776604f"><td class="memSeparator" colspan="2">&#160;</td></tr>
118
98
  <tr class="memitem:a54200b5a7c41c2ba19660da34c295e81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> id) const</td></tr>
119
99
  <tr class="separator:a54200b5a7c41c2ba19660da34c295e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+ <tr class="memitem:aa2110611126556090763024828dbc516"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#aa2110611126556090763024828dbc516">hasCFBasicBlockNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id) const</td></tr>
101
+ <tr class="separator:aa2110611126556090763024828dbc516"><td class="memSeparator" colspan="2">&#160;</td></tr>
120
102
  <tr class="memitem:ad0755f35747c47572254410271bf1249"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#ad0755f35747c47572254410271bf1249">getCFBasicBlockNode</a> (const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *bb) const</td></tr>
121
103
  <tr class="separator:ad0755f35747c47572254410271bf1249"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
+ <tr class="memitem:aea881b727843ac6445e801f3ddfa4a98"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#aea881b727843ac6445e801f3ddfa4a98">hasCFBasicBlockNode</a> (const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *bb) const</td></tr>
105
+ <tr class="separator:aea881b727843ac6445e801f3ddfa4a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
+ <tr class="memitem:a8e41d155ded9f4527adf8f1644600839"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a8e41d155ded9f4527adf8f1644600839">hasCFBasicBlockEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst, <a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *icfgEdge)</td></tr>
107
+ <tr class="separator:a8e41d155ded9f4527adf8f1644600839"><td class="memSeparator" colspan="2">&#160;</td></tr>
122
108
  <tr class="memitem:a154d9dae860b441b1653e0afb90f1da3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a154d9dae860b441b1653e0afb90f1da3">hasCFBasicBlockEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst) const</td></tr>
123
109
  <tr class="separator:a154d9dae860b441b1653e0afb90f1da3"><td class="memSeparator" colspan="2">&#160;</td></tr>
124
- <tr class="memitem:a1bde348163056b87d5679b0bb91413a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9">getCFBasicBlockEdge</a> (const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst)</td></tr>
125
- <tr class="separator:a1bde348163056b87d5679b0bb91413a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
126
- <tr class="memitem:abd9f0f5e3f50112af2e46342328aabf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#abd9f0f5e3f50112af2e46342328aabf5">getCFBasicBlockEdge</a> (const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *src, const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *dst)</td></tr>
127
- <tr class="separator:abd9f0f5e3f50112af2e46342328aabf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
+ <tr class="memitem:a5feb9a73d517a2be4eac0d7dddfedef8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a5feb9a73d517a2be4eac0d7dddfedef8">getCFBasicBlockEdge</a> (const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst, const <a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *icfgEdge)</td></tr>
111
+ <tr class="separator:a5feb9a73d517a2be4eac0d7dddfedef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
112
+ <tr class="memitem:afb226e06477a205891f80d21419485aa"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#afb226e06477a205891f80d21419485aa">getCFBasicBlockEdge</a> (const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst)</td></tr>
113
+ <tr class="separator:afb226e06477a205891f80d21419485aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
114
+ <tr class="memitem:a9d7ebedc25848db79b551cb8a1ef11af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">removeCFBBEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)</td></tr>
115
+ <tr class="memdesc:a9d7ebedc25848db79b551cb8a1ef11af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a ICFGEdgeWrapper. <a href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">More...</a><br /></td></tr>
116
+ <tr class="separator:a9d7ebedc25848db79b551cb8a1ef11af"><td class="memSeparator" colspan="2">&#160;</td></tr>
117
+ <tr class="memitem:a0ed78b8098e84845a500979d52bb8d18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">removeCFBBNode</a> (<a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)</td></tr>
118
+ <tr class="memdesc:a0ed78b8098e84845a500979d52bb8d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a ICFGNodeWrapper. <a href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">More...</a><br /></td></tr>
119
+ <tr class="separator:a0ed78b8098e84845a500979d52bb8d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
120
+ <tr class="memitem:a9b9d1a149ad405f1b64020a41402583e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a9b9d1a149ad405f1b64020a41402583e">removeCFBBNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
121
+ <tr class="memdesc:a9b9d1a149ad405f1b64020a41402583e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove node from nodeID. <a href="classSVF_1_1CFBasicBlockGraph.html#a9b9d1a149ad405f1b64020a41402583e">More...</a><br /></td></tr>
122
+ <tr class="separator:a9b9d1a149ad405f1b64020a41402583e"><td class="memSeparator" colspan="2">&#160;</td></tr>
123
+ <tr class="memitem:acd6a4b291c9aab8abdc466f985975d0d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#acd6a4b291c9aab8abdc466f985975d0d">addCFBBEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)</td></tr>
124
+ <tr class="memdesc:acd6a4b291c9aab8abdc466f985975d0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add ICFGEdgeWrapper. <a href="classSVF_1_1CFBasicBlockGraph.html#acd6a4b291c9aab8abdc466f985975d0d">More...</a><br /></td></tr>
125
+ <tr class="separator:acd6a4b291c9aab8abdc466f985975d0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
126
+ <tr class="memitem:a4a7a6e00d13b4099c34a3015b4f06a67"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a4a7a6e00d13b4099c34a3015b4f06a67">addCFBBNode</a> (<a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)</td></tr>
127
+ <tr class="memdesc:a4a7a6e00d13b4099c34a3015b4f06a67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a ICFGNodeWrapper. <a href="classSVF_1_1CFBasicBlockGraph.html#a4a7a6e00d13b4099c34a3015b4f06a67">More...</a><br /></td></tr>
128
+ <tr class="separator:a4a7a6e00d13b4099c34a3015b4f06a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
128
129
  <tr class="inherit_header pub_methods_classSVF_1_1GenericGraph"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1GenericGraph')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph&lt; NodeTy, EdgeTy &gt;</a></td></tr>
129
130
  <tr class="memitem:aa5837cddbbd63c5a8ac5725bcecb192f inherit pub_methods_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#aa5837cddbbd63c5a8ac5725bcecb192f">GenericGraph</a> ()</td></tr>
130
131
  <tr class="memdesc:aa5837cddbbd63c5a8ac5725bcecb192f inherit pub_methods_classSVF_1_1GenericGraph"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classSVF_1_1GenericGraph.html#aa5837cddbbd63c5a8ac5725bcecb192f">More...</a><br /></td></tr>
@@ -167,24 +168,14 @@ Public Member Functions</h2></td></tr>
167
168
  <tr class="memitem:a2f2bca8219c7d769f6d2937e5cd40d14 inherit pub_methods_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#a2f2bca8219c7d769f6d2937e5cd40d14">incEdgeNum</a> ()</td></tr>
168
169
  <tr class="separator:a2f2bca8219c7d769f6d2937e5cd40d14 inherit pub_methods_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
169
170
  </table><table class="memberdecls">
170
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
171
- Private Member Functions</h2></td></tr>
172
- <tr class="memitem:a2e5ee754a3979b4f1c298a0f56083eba"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a2e5ee754a3979b4f1c298a0f56083eba">getOrAddCFBasicBlockNode</a> (const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *bb)</td></tr>
173
- <tr class="memdesc:a2e5ee754a3979b4f1c298a0f56083eba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>. <a href="classSVF_1_1CFBasicBlockGraph.html#a2e5ee754a3979b4f1c298a0f56083eba">More...</a><br /></td></tr>
174
- <tr class="separator:a2e5ee754a3979b4f1c298a0f56083eba"><td class="memSeparator" colspan="2">&#160;</td></tr>
175
- <tr class="memitem:a5083e0c8e1c26d3ca7104c8f6310a37f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a5083e0c8e1c26d3ca7104c8f6310a37f">getOrAddCFBasicBlockEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst)</td></tr>
176
- <tr class="separator:a5083e0c8e1c26d3ca7104c8f6310a37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
177
- </table><table class="memberdecls">
178
171
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
179
172
  Private Attributes</h2></td></tr>
180
- <tr class="memitem:a9c4bab700158a9e285bcc71118a59308"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a7ad3779ac1173bac3f354e50b8722db5">SVFBasicBlockToCFBasicBlockNodeMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">_bbToNode</a></td></tr>
181
- <tr class="separator:a9c4bab700158a9e285bcc71118a59308"><td class="memSeparator" colspan="2">&#160;</td></tr>
182
- <tr class="memitem:a3b3b8c637c6bbbbf0f199ab83d498391"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a3b3b8c637c6bbbbf0f199ab83d498391">_svfFunction</a></td></tr>
183
- <tr class="separator:a3b3b8c637c6bbbbf0f199ab83d498391"><td class="memSeparator" colspan="2">&#160;</td></tr>
184
173
  <tr class="memitem:af26009309b28b1d9f3f31f802307f6e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a> {0}</td></tr>
185
174
  <tr class="separator:af26009309b28b1d9f3f31f802307f6e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
186
175
  <tr class="memitem:a307a47681c72267f6e90d7009d1b3c6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a> {0}</td></tr>
187
176
  <tr class="separator:a307a47681c72267f6e90d7009d1b3c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
177
+ <tr class="memitem:ab8b75e7bcafc8a1512c3e78d12bffe16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">_bbToNode</a></td></tr>
178
+ <tr class="separator:ab8b75e7bcafc8a1512c3e78d12bffe16"><td class="memSeparator" colspan="2">&#160;</td></tr>
188
179
  </table><table class="memberdecls">
189
180
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
190
181
  Friends</h2></td></tr>
@@ -193,6 +184,19 @@ Friends</h2></td></tr>
193
184
  </table><table class="memberdecls">
194
185
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
195
186
  Additional Inherited Members</h2></td></tr>
187
+ <tr class="inherit_header pub_types_classSVF_1_1GenericGraph"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1GenericGraph')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph&lt; NodeTy, EdgeTy &gt;</a></td></tr>
188
+ <tr class="memitem:a86c50fc6775fd29f88df2cb4646bb211 inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef NodeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#a86c50fc6775fd29f88df2cb4646bb211">NodeType</a></td></tr>
189
+ <tr class="separator:a86c50fc6775fd29f88df2cb4646bb211 inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
190
+ <tr class="memitem:a12d493d6ad2b6c89f240c9ccfa3bdf30 inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#a12d493d6ad2b6c89f240c9ccfa3bdf30">EdgeType</a></td></tr>
191
+ <tr class="separator:a12d493d6ad2b6c89f240c9ccfa3bdf30 inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
192
+ <tr class="memitem:afe017704d73445211fecaf7f3853010e inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="classSVF_1_1GenericGraph.html#a86c50fc6775fd29f88df2cb4646bb211">NodeType</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#afe017704d73445211fecaf7f3853010e">IDToNodeMapTy</a></td></tr>
193
+ <tr class="memdesc:afe017704d73445211fecaf7f3853010e inherit pub_types_classSVF_1_1GenericGraph"><td class="mdescLeft">&#160;</td><td class="mdescRight">NodeID to <a class="el" href="classSVF_1_1GenericNode.html">GenericNode</a> map. <a href="classSVF_1_1GenericGraph.html#afe017704d73445211fecaf7f3853010e">More...</a><br /></td></tr>
194
+ <tr class="separator:afe017704d73445211fecaf7f3853010e inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
195
+ <tr class="memitem:ac213302cf5c7cdf3b66f7b18649d0fbc inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef IDToNodeMapTy::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">iterator</a></td></tr>
196
+ <tr class="memdesc:ac213302cf5c7cdf3b66f7b18649d0fbc inherit pub_types_classSVF_1_1GenericGraph"><td class="mdescLeft">&#160;</td><td class="mdescRight">Node Iterators. <a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">More...</a><br /></td></tr>
197
+ <tr class="separator:ac213302cf5c7cdf3b66f7b18649d0fbc inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
198
+ <tr class="memitem:a5dfa3f178d4abf37177d0d74ff4c6a97 inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef IDToNodeMapTy::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">const_iterator</a></td></tr>
199
+ <tr class="separator:a5dfa3f178d4abf37177d0d74ff4c6a97 inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2">&#160;</td></tr>
196
200
  <tr class="inherit_header pub_attribs_classSVF_1_1GenericGraph"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classSVF_1_1GenericGraph')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph&lt; NodeTy, EdgeTy &gt;</a></td></tr>
197
201
  <tr class="memitem:a2fbc96de5f066469c2739229307bcc0c inherit pub_attribs_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#a2fbc96de5f066469c2739229307bcc0c">edgeNum</a></td></tr>
198
202
  <tr class="memdesc:a2fbc96de5f066469c2739229307bcc0c inherit pub_attribs_classSVF_1_1GenericGraph"><td class="mdescLeft">&#160;</td><td class="mdescRight">total num of node <a href="classSVF_1_1GenericGraph.html#a2fbc96de5f066469c2739229307bcc0c">More...</a><br /></td></tr>
@@ -207,27 +211,61 @@ Additional Inherited Members</h2></td></tr>
207
211
  </table>
208
212
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
209
213
  <div class="textblock">
210
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00108">108</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
211
- </div><h2 class="groupheader">Member Typedef Documentation</h2>
212
- <a id="a7ad3779ac1173bac3f354e50b8722db5"></a>
213
- <h2 class="memtitle"><span class="permalink"><a href="#a7ad3779ac1173bac3f354e50b8722db5">&#9670;&nbsp;</a></span>SVFBasicBlockToCFBasicBlockNodeMap</h2>
214
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00347">347</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
215
+ </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
216
+ <a id="afad7ee1f21bf2983d4aa40cccf368137"></a>
217
+ <h2 class="memtitle"><span class="permalink"><a href="#afad7ee1f21bf2983d4aa40cccf368137">&#9670;&nbsp;</a></span>CFBasicBlockGraph()</h2>
214
218
 
215
219
  <div class="memitem">
216
220
  <div class="memproto">
221
+ <table class="mlabels">
222
+ <tr>
223
+ <td class="mlabels-left">
217
224
  <table class="memname">
218
225
  <tr>
219
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&gt; <a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a7ad3779ac1173bac3f354e50b8722db5">SVF::CFBasicBlockGraph::SVFBasicBlockToCFBasicBlockNodeMap</a></td>
226
+ <td class="memname">SVF::CFBasicBlockGraph::CFBasicBlockGraph </td>
227
+ <td>(</td>
228
+ <td class="paramname"></td><td>)</td>
229
+ <td></td>
220
230
  </tr>
221
231
  </table>
232
+ </td>
233
+ <td class="mlabels-right">
234
+ <span class="mlabels"><span class="mlabel">default</span></span> </td>
235
+ </tr>
236
+ </table>
222
237
  </div><div class="memdoc">
223
238
 
224
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00113">113</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
239
+ </div>
240
+ </div>
241
+ <a id="af025ac00db2493720d8170fb08f237d4"></a>
242
+ <h2 class="memtitle"><span class="permalink"><a href="#af025ac00db2493720d8170fb08f237d4">&#9670;&nbsp;</a></span>~CFBasicBlockGraph()</h2>
243
+
244
+ <div class="memitem">
245
+ <div class="memproto">
246
+ <table class="mlabels">
247
+ <tr>
248
+ <td class="mlabels-left">
249
+ <table class="memname">
250
+ <tr>
251
+ <td class="memname">SVF::CFBasicBlockGraph::~CFBasicBlockGraph </td>
252
+ <td>(</td>
253
+ <td class="paramname"></td><td>)</td>
254
+ <td></td>
255
+ </tr>
256
+ </table>
257
+ </td>
258
+ <td class="mlabels-right">
259
+ <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">default</span></span> </td>
260
+ </tr>
261
+ </table>
262
+ </div><div class="memdoc">
225
263
 
226
264
  </div>
227
265
  </div>
228
- <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
229
- <a id="ad042f65d6b9ce50db37e0c2584228fa3"></a>
230
- <h2 class="memtitle"><span class="permalink"><a href="#ad042f65d6b9ce50db37e0c2584228fa3">&#9670;&nbsp;</a></span>CFBasicBlockGraph()</h2>
266
+ <h2 class="groupheader">Member Function Documentation</h2>
267
+ <a id="acd6a4b291c9aab8abdc466f985975d0d"></a>
268
+ <h2 class="memtitle"><span class="permalink"><a href="#acd6a4b291c9aab8abdc466f985975d0d">&#9670;&nbsp;</a></span>addCFBBEdge()</h2>
231
269
 
232
270
  <div class="memitem">
233
271
  <div class="memproto">
@@ -236,10 +274,10 @@ Additional Inherited Members</h2></td></tr>
236
274
  <td class="mlabels-left">
237
275
  <table class="memname">
238
276
  <tr>
239
- <td class="memname">SVF::CFBasicBlockGraph::CFBasicBlockGraph </td>
277
+ <td class="memname">bool SVF::CFBasicBlockGraph::addCFBBEdge </td>
240
278
  <td>(</td>
241
- <td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td>
242
- <td class="paramname"><em>svfFunction</em></td><td>)</td>
279
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td>
280
+ <td class="paramname"><em>edge</em></td><td>)</td>
243
281
  <td></td>
244
282
  </tr>
245
283
  </table>
@@ -250,16 +288,21 @@ Additional Inherited Members</h2></td></tr>
250
288
  </table>
251
289
  </div><div class="memdoc">
252
290
 
253
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00123">123</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
254
- <div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; : <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a3b3b8c637c6bbbbf0f199ab83d498391">_svfFunction</a>(svfFunction)</div>
255
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
256
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; </div>
257
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
291
+ <p>Add ICFGEdgeWrapper. </p>
292
+
293
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00467">467</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
294
+ <div class="fragment"><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; {</div>
295
+ <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordtype">bool</span> added1 = edge-&gt;getDstNode()-&gt;addIncomingEdge(edge);</div>
296
+ <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordtype">bool</span> added2 = edge-&gt;getSrcNode()-&gt;addOutgoingEdge(edge);</div>
297
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; assert(added1 &amp;&amp; added2 &amp;&amp; <span class="stringliteral">&quot;edge not added??&quot;</span>);</div>
298
+ <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>++;</div>
299
+ <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
300
+ <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; }</div>
258
301
  </div><!-- fragment -->
259
302
  </div>
260
303
  </div>
261
- <a id="af025ac00db2493720d8170fb08f237d4"></a>
262
- <h2 class="memtitle"><span class="permalink"><a href="#af025ac00db2493720d8170fb08f237d4">&#9670;&nbsp;</a></span>~CFBasicBlockGraph()</h2>
304
+ <a id="a4a7a6e00d13b4099c34a3015b4f06a67"></a>
305
+ <h2 class="memtitle"><span class="permalink"><a href="#a4a7a6e00d13b4099c34a3015b4f06a67">&#9670;&nbsp;</a></span>addCFBBNode()</h2>
263
306
 
264
307
  <div class="memitem">
265
308
  <div class="memproto">
@@ -268,22 +311,30 @@ Additional Inherited Members</h2></td></tr>
268
311
  <td class="mlabels-left">
269
312
  <table class="memname">
270
313
  <tr>
271
- <td class="memname">SVF::CFBasicBlockGraph::~CFBasicBlockGraph </td>
314
+ <td class="memname">virtual void SVF::CFBasicBlockGraph::addCFBBNode </td>
272
315
  <td>(</td>
273
- <td class="paramname"></td><td>)</td>
316
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
317
+ <td class="paramname"><em>node</em></td><td>)</td>
274
318
  <td></td>
275
319
  </tr>
276
320
  </table>
277
321
  </td>
278
322
  <td class="mlabels-right">
279
- <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">default</span></span> </td>
323
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
280
324
  </tr>
281
325
  </table>
282
326
  </div><div class="memdoc">
283
327
 
328
+ <p>Add a ICFGNodeWrapper. </p>
329
+
330
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00477">477</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
331
+ <div class="fragment"><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; {</div>
332
+ <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(node-&gt;getId(), node);</div>
333
+ <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>++;</div>
334
+ <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div>
335
+ </div><!-- fragment -->
284
336
  </div>
285
337
  </div>
286
- <h2 class="groupheader">Member Function Documentation</h2>
287
338
  <a id="a41494b39a562ee1788f91bc39776604f"></a>
288
339
  <h2 class="memtitle"><span class="permalink"><a href="#a41494b39a562ee1788f91bc39776604f">&#9670;&nbsp;</a></span>dump()</h2>
289
340
 
@@ -310,21 +361,21 @@ Additional Inherited Members</h2></td></tr>
310
361
 
311
362
  <p>Dump graph into dot file. </p>
312
363
 
313
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00131">131</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
314
- <div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
315
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>(), filename, <span class="keyword">this</span>);</div>
316
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
364
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00362">362</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
365
+ <div class="fragment"><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
366
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>(), filename, <span class="keyword">this</span>);</div>
367
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
317
368
  </div><!-- fragment -->
318
369
  </div>
319
370
  </div>
320
- <a id="a1bde348163056b87d5679b0bb91413a9"></a>
321
- <h2 class="memtitle"><span class="permalink"><a href="#a1bde348163056b87d5679b0bb91413a9">&#9670;&nbsp;</a></span>getCFBasicBlockEdge() <span class="overload">[1/2]</span></h2>
371
+ <a id="afb226e06477a205891f80d21419485aa"></a>
372
+ <h2 class="memtitle"><span class="permalink"><a href="#afb226e06477a205891f80d21419485aa">&#9670;&nbsp;</a></span>getCFBasicBlockEdge() <span class="overload">[1/2]</span></h2>
322
373
 
323
374
  <div class="memitem">
324
375
  <div class="memproto">
325
376
  <table class="memname">
326
377
  <tr>
327
- <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> * SVF::CFBasicBlockGraph::getCFBasicBlockEdge </td>
378
+ <td class="memname">std::vector&lt; <a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> * &gt; SVF::CFBasicBlockGraph::getCFBasicBlockEdge </td>
328
379
  <td>(</td>
329
380
  <td class="paramtype">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
330
381
  <td class="paramname"><em>src</em>, </td>
@@ -343,27 +394,24 @@ Additional Inherited Members</h2></td></tr>
343
394
  </table>
344
395
  </div><div class="memdoc">
345
396
 
346
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00063">63</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
347
- <div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
348
- <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; CFBasicBlockEdge *edge = <span class="keyword">nullptr</span>;</div>
349
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">size_t</span> counter = 0;</div>
350
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = src-&gt;OutEdgeBegin();</div>
351
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; iter != src-&gt;OutEdgeEnd(); ++iter)</div>
352
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div>
353
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;getId())</div>
354
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
355
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; counter++;</div>
356
- <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; edge = (*iter);</div>
357
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
358
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
359
- <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; assert(counter &lt;= 1 &amp;&amp; <span class="stringliteral">&quot;there&#39;s more than one edge between two nodes&quot;</span>);</div>
360
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> edge;</div>
361
- <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
397
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00080">80</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
398
+ <div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;{</div>
399
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; std::vector&lt;CFBasicBlockEdge*&gt; edges;</div>
400
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = src-&gt;OutEdgeBegin();</div>
401
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; iter != src-&gt;OutEdgeEnd(); ++iter)</div>
402
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
403
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;getId())</div>
404
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
405
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; edges.push_back(*iter);</div>
406
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
407
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
408
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(edges);</div>
409
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;}</div>
362
410
  </div><!-- fragment -->
363
411
  </div>
364
412
  </div>
365
- <a id="abd9f0f5e3f50112af2e46342328aabf5"></a>
366
- <h2 class="memtitle"><span class="permalink"><a href="#abd9f0f5e3f50112af2e46342328aabf5">&#9670;&nbsp;</a></span>getCFBasicBlockEdge() <span class="overload">[2/2]</span></h2>
413
+ <a id="a5feb9a73d517a2be4eac0d7dddfedef8"></a>
414
+ <h2 class="memtitle"><span class="permalink"><a href="#a5feb9a73d517a2be4eac0d7dddfedef8">&#9670;&nbsp;</a></span>getCFBasicBlockEdge() <span class="overload">[2/2]</span></h2>
367
415
 
368
416
  <div class="memitem">
369
417
  <div class="memproto">
@@ -371,14 +419,20 @@ Additional Inherited Members</h2></td></tr>
371
419
  <tr>
372
420
  <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> * SVF::CFBasicBlockGraph::getCFBasicBlockEdge </td>
373
421
  <td>(</td>
374
- <td class="paramtype">const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *&#160;</td>
422
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
375
423
  <td class="paramname"><em>src</em>, </td>
376
424
  </tr>
377
425
  <tr>
378
426
  <td class="paramkey"></td>
379
427
  <td></td>
380
- <td class="paramtype">const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *&#160;</td>
381
- <td class="paramname"><em>dst</em>&#160;</td>
428
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
429
+ <td class="paramname"><em>dst</em>, </td>
430
+ </tr>
431
+ <tr>
432
+ <td class="paramkey"></td>
433
+ <td></td>
434
+ <td class="paramtype">const <a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *&#160;</td>
435
+ <td class="paramname"><em>icfgEdge</em>&#160;</td>
382
436
  </tr>
383
437
  <tr>
384
438
  <td></td>
@@ -388,10 +442,22 @@ Additional Inherited Members</h2></td></tr>
388
442
  </table>
389
443
  </div><div class="memdoc">
390
444
 
391
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00058">58</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
392
- <div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
393
- <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9">getCFBasicBlockEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(src), <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(dst));</div>
394
- <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
445
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00063">63</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
446
+ <div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
447
+ <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; CFBasicBlockEdge *edge = <span class="keyword">nullptr</span>;</div>
448
+ <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">size_t</span> counter = 0;</div>
449
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = src-&gt;OutEdgeBegin();</div>
450
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; iter != src-&gt;OutEdgeEnd(); ++iter)</div>
451
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div>
452
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;getId() &amp;&amp; (*iter)-&gt;getICFGEdge() == icfgEdge)</div>
453
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
454
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; counter++;</div>
455
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; edge = (*iter);</div>
456
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
457
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
458
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; assert(counter &lt;= 1 &amp;&amp; <span class="stringliteral">&quot;there&#39;s more than one edge between two nodes&quot;</span>);</div>
459
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> edge;</div>
460
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
395
461
  </div><!-- fragment -->
396
462
  </div>
397
463
  </div>
@@ -419,12 +485,17 @@ Additional Inherited Members</h2></td></tr>
419
485
  </table>
420
486
  </div><div class="memdoc">
421
487
 
422
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00142">142</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
423
- <div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div>
424
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">_bbToNode</a>.find(bb);</div>
425
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">_bbToNode</a>.end()) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
426
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
427
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div>
488
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00378">378</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
489
+ <div class="fragment"><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; {</div>
490
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">if</span> (bb &amp;&amp; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">_bbToNode</a>.find(bb) != <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">_bbToNode</a>.end())</div>
491
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; {</div>
492
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">_bbToNode</a>.at(bb);</div>
493
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div>
494
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">else</span></div>
495
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
496
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
497
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; }</div>
498
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; }</div>
428
499
  </div><!-- fragment -->
429
500
  </div>
430
501
  </div>
@@ -452,16 +523,16 @@ Additional Inherited Members</h2></td></tr>
452
523
  </table>
453
524
  </div><div class="memdoc">
454
525
 
455
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00136">136</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
456
- <div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; {</div>
457
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>)) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
458
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div>
459
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
526
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00367">367</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
527
+ <div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div>
528
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>)) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
529
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div>
530
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
460
531
  </div><!-- fragment -->
461
532
  </div>
462
533
  </div>
463
- <a id="a5083e0c8e1c26d3ca7104c8f6310a37f"></a>
464
- <h2 class="memtitle"><span class="permalink"><a href="#a5083e0c8e1c26d3ca7104c8f6310a37f">&#9670;&nbsp;</a></span>getOrAddCFBasicBlockEdge()</h2>
534
+ <a id="a154d9dae860b441b1653e0afb90f1da3"></a>
535
+ <h2 class="memtitle"><span class="permalink"><a href="#a154d9dae860b441b1653e0afb90f1da3">&#9670;&nbsp;</a></span>hasCFBasicBlockEdge() <span class="overload">[1/2]</span></h2>
465
536
 
466
537
  <div class="memitem">
467
538
  <div class="memproto">
@@ -470,7 +541,7 @@ Additional Inherited Members</h2></td></tr>
470
541
  <td class="mlabels-left">
471
542
  <table class="memname">
472
543
  <tr>
473
- <td class="memname">const <a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> * SVF::CFBasicBlockGraph::getOrAddCFBasicBlockEdge </td>
544
+ <td class="memname">bool SVF::CFBasicBlockGraph::hasCFBasicBlockEdge </td>
474
545
  <td>(</td>
475
546
  <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
476
547
  <td class="paramname"><em>src</em>, </td>
@@ -481,6 +552,58 @@ Additional Inherited Members</h2></td></tr>
481
552
  <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
482
553
  <td class="paramname"><em>dst</em>&#160;</td>
483
554
  </tr>
555
+ <tr>
556
+ <td></td>
557
+ <td>)</td>
558
+ <td></td><td> const</td>
559
+ </tr>
560
+ </table>
561
+ </td>
562
+ <td class="mlabels-right">
563
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
564
+ </tr>
565
+ </table>
566
+ </div><div class="memdoc">
567
+
568
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00409">409</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
569
+ <div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div>
570
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;e: src-&gt;getOutEdges())</div>
571
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; {</div>
572
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">if</span> (e-&gt;getDstNode() == dst)</div>
573
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
574
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div>
575
+ <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
576
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div>
577
+ </div><!-- fragment -->
578
+ </div>
579
+ </div>
580
+ <a id="a8e41d155ded9f4527adf8f1644600839"></a>
581
+ <h2 class="memtitle"><span class="permalink"><a href="#a8e41d155ded9f4527adf8f1644600839">&#9670;&nbsp;</a></span>hasCFBasicBlockEdge() <span class="overload">[2/2]</span></h2>
582
+
583
+ <div class="memitem">
584
+ <div class="memproto">
585
+ <table class="mlabels">
586
+ <tr>
587
+ <td class="mlabels-left">
588
+ <table class="memname">
589
+ <tr>
590
+ <td class="memname">bool SVF::CFBasicBlockGraph::hasCFBasicBlockEdge </td>
591
+ <td>(</td>
592
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
593
+ <td class="paramname"><em>src</em>, </td>
594
+ </tr>
595
+ <tr>
596
+ <td class="paramkey"></td>
597
+ <td></td>
598
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
599
+ <td class="paramname"><em>dst</em>, </td>
600
+ </tr>
601
+ <tr>
602
+ <td class="paramkey"></td>
603
+ <td></td>
604
+ <td class="paramtype"><a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *&#160;</td>
605
+ <td class="paramname"><em>icfgEdge</em>&#160;</td>
606
+ </tr>
484
607
  <tr>
485
608
  <td></td>
486
609
  <td>)</td>
@@ -489,28 +612,29 @@ Additional Inherited Members</h2></td></tr>
489
612
  </table>
490
613
  </td>
491
614
  <td class="mlabels-right">
492
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
615
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
493
616
  </tr>
494
617
  </table>
495
618
  </div><div class="memdoc">
496
619
 
497
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00090">90</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
498
- <div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div>
499
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> CFBasicBlockEdge *edge = <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9">getCFBasicBlockEdge</a>(src, dst)) <span class="keywordflow">return</span> edge;</div>
500
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; CFBasicBlockEdge *edge = <span class="keyword">new</span> CFBasicBlockEdge(src, dst);</div>
501
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">bool</span> added1 = edge-&gt;getDstNode()-&gt;addIncomingEdge(edge);</div>
502
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">bool</span> added2 = edge-&gt;getSrcNode()-&gt;addOutgoingEdge(edge);</div>
503
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; (void) added1;</div>
504
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; (void) added2;</div>
505
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; assert(added1 &amp;&amp; added2 &amp;&amp; <span class="stringliteral">&quot;edge not added??&quot;</span>);</div>
506
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>++;</div>
507
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> edge;</div>
508
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;}</div>
620
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00395">395</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
621
+ <div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
622
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; CFBasicBlockEdge edge(src, dst, icfgEdge);</div>
623
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; CFBasicBlockEdge *outEdge = src-&gt;hasOutgoingEdge(&amp;edge);</div>
624
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; CFBasicBlockEdge *inEdge = dst-&gt;hasIncomingEdge(&amp;edge);</div>
625
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
626
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; {</div>
627
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
628
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
629
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
630
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">else</span></div>
631
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
632
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; }</div>
509
633
  </div><!-- fragment -->
510
634
  </div>
511
635
  </div>
512
- <a id="a2e5ee754a3979b4f1c298a0f56083eba"></a>
513
- <h2 class="memtitle"><span class="permalink"><a href="#a2e5ee754a3979b4f1c298a0f56083eba">&#9670;&nbsp;</a></span>getOrAddCFBasicBlockNode()</h2>
636
+ <a id="aea881b727843ac6445e801f3ddfa4a98"></a>
637
+ <h2 class="memtitle"><span class="permalink"><a href="#aea881b727843ac6445e801f3ddfa4a98">&#9670;&nbsp;</a></span>hasCFBasicBlockNode() <span class="overload">[1/2]</span></h2>
514
638
 
515
639
  <div class="memitem">
516
640
  <div class="memproto">
@@ -519,36 +643,29 @@ Additional Inherited Members</h2></td></tr>
519
643
  <td class="mlabels-left">
520
644
  <table class="memname">
521
645
  <tr>
522
- <td class="memname">const <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> * SVF::CFBasicBlockGraph::getOrAddCFBasicBlockNode </td>
646
+ <td class="memname">bool SVF::CFBasicBlockGraph::hasCFBasicBlockNode </td>
523
647
  <td>(</td>
524
648
  <td class="paramtype">const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *&#160;</td>
525
649
  <td class="paramname"><em>bb</em></td><td>)</td>
526
- <td></td>
650
+ <td> const</td>
527
651
  </tr>
528
652
  </table>
529
653
  </td>
530
654
  <td class="mlabels-right">
531
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
655
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
532
656
  </tr>
533
657
  </table>
534
658
  </div><div class="memdoc">
535
659
 
536
- <p>Add a <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>. </p>
537
-
538
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00080">80</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
539
- <div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;{</div>
540
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">_bbToNode</a>.find(bb);</div>
541
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">_bbToNode</a>.end()) <span class="keywordflow">return</span> it-&gt;second;</div>
542
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; CFBasicBlockNode *node = <span class="keyword">new</span> CFBasicBlockNode(<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>++, bb);</div>
543
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">_bbToNode</a>[bb] = node;</div>
544
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(node-&gt;getId(), node);</div>
545
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> node;</div>
546
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;}</div>
660
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00390">390</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
661
+ <div class="fragment"><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; {</div>
662
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">return</span> bb &amp;&amp; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">_bbToNode</a>.find(bb) != <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">_bbToNode</a>.end();</div>
663
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; }</div>
547
664
  </div><!-- fragment -->
548
665
  </div>
549
666
  </div>
550
- <a id="a154d9dae860b441b1653e0afb90f1da3"></a>
551
- <h2 class="memtitle"><span class="permalink"><a href="#a154d9dae860b441b1653e0afb90f1da3">&#9670;&nbsp;</a></span>hasCFBasicBlockEdge()</h2>
667
+ <a id="aa2110611126556090763024828dbc516"></a>
668
+ <h2 class="memtitle"><span class="permalink"><a href="#aa2110611126556090763024828dbc516">&#9670;&nbsp;</a></span>hasCFBasicBlockNode() <span class="overload">[2/2]</span></h2>
552
669
 
553
670
  <div class="memitem">
554
671
  <div class="memproto">
@@ -557,21 +674,84 @@ Additional Inherited Members</h2></td></tr>
557
674
  <td class="mlabels-left">
558
675
  <table class="memname">
559
676
  <tr>
560
- <td class="memname">bool SVF::CFBasicBlockGraph::hasCFBasicBlockEdge </td>
677
+ <td class="memname">bool SVF::CFBasicBlockGraph::hasCFBasicBlockNode </td>
561
678
  <td>(</td>
562
- <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
563
- <td class="paramname"><em>src</em>, </td>
679
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td>
680
+ <td class="paramname"><em>id</em></td><td>)</td>
681
+ <td> const</td>
564
682
  </tr>
683
+ </table>
684
+ </td>
685
+ <td class="mlabels-right">
686
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
687
+ </tr>
688
+ </table>
689
+ </div><div class="memdoc">
690
+
691
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00373">373</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
692
+ <div class="fragment"><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; {</div>
693
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>);</div>
694
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div>
695
+ </div><!-- fragment -->
696
+ </div>
697
+ </div>
698
+ <a id="a9d7ebedc25848db79b551cb8a1ef11af"></a>
699
+ <h2 class="memtitle"><span class="permalink"><a href="#a9d7ebedc25848db79b551cb8a1ef11af">&#9670;&nbsp;</a></span>removeCFBBEdge()</h2>
700
+
701
+ <div class="memitem">
702
+ <div class="memproto">
703
+ <table class="mlabels">
704
+ <tr>
705
+ <td class="mlabels-left">
706
+ <table class="memname">
565
707
  <tr>
566
- <td class="paramkey"></td>
708
+ <td class="memname">void SVF::CFBasicBlockGraph::removeCFBBEdge </td>
709
+ <td>(</td>
710
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *&#160;</td>
711
+ <td class="paramname"><em>edge</em></td><td>)</td>
567
712
  <td></td>
568
- <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
569
- <td class="paramname"><em>dst</em>&#160;</td>
570
713
  </tr>
714
+ </table>
715
+ </td>
716
+ <td class="mlabels-right">
717
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
718
+ </tr>
719
+ </table>
720
+ </div><div class="memdoc">
721
+
722
+ <p>Remove a ICFGEdgeWrapper. </p>
723
+
724
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00424">424</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
725
+ <div class="fragment"><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; {</div>
726
+ <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getDstNode()-&gt;hasIncomingEdge(edge))</div>
727
+ <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
728
+ <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; edge-&gt;getDstNode()-&gt;removeIncomingEdge(edge);</div>
729
+ <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; }</div>
730
+ <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getSrcNode()-&gt;hasOutgoingEdge(edge))</div>
731
+ <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; {</div>
732
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; edge-&gt;getSrcNode()-&gt;removeOutgoingEdge(edge);</div>
733
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; }</div>
734
+ <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keyword">delete</span> edge;</div>
735
+ <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>--;</div>
736
+ <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; }</div>
737
+ </div><!-- fragment -->
738
+ </div>
739
+ </div>
740
+ <a id="a0ed78b8098e84845a500979d52bb8d18"></a>
741
+ <h2 class="memtitle"><span class="permalink"><a href="#a0ed78b8098e84845a500979d52bb8d18">&#9670;&nbsp;</a></span>removeCFBBNode() <span class="overload">[1/2]</span></h2>
742
+
743
+ <div class="memitem">
744
+ <div class="memproto">
745
+ <table class="mlabels">
746
+ <tr>
747
+ <td class="mlabels-left">
748
+ <table class="memname">
571
749
  <tr>
750
+ <td class="memname">void SVF::CFBasicBlockGraph::removeCFBBNode </td>
751
+ <td>(</td>
752
+ <td class="paramtype"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td>
753
+ <td class="paramname"><em>node</em></td><td>)</td>
572
754
  <td></td>
573
- <td>)</td>
574
- <td></td><td> const</td>
575
755
  </tr>
576
756
  </table>
577
757
  </td>
@@ -581,25 +761,27 @@ Additional Inherited Members</h2></td></tr>
581
761
  </table>
582
762
  </div><div class="memdoc">
583
763
 
584
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00149">149</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
585
- <div class="fragment"><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
586
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; CFBasicBlockEdge edge(src, dst);</div>
587
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; CFBasicBlockEdge *outEdge = src-&gt;hasOutgoingEdge(&amp;edge);</div>
588
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; CFBasicBlockEdge *inEdge = dst-&gt;hasIncomingEdge(&amp;edge);</div>
589
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
590
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div>
591
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
592
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
593
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div>
594
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">else</span></div>
595
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
596
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
764
+ <p>Remove a ICFGNodeWrapper. </p>
765
+
766
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00439">439</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
767
+ <div class="fragment"><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; {</div>
768
+ <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; std::set&lt;CFBasicBlockEdge *&gt; temp;</div>
769
+ <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">for</span> (CFBasicBlockEdge *e: node-&gt;getInEdges())</div>
770
+ <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; temp.insert(e);</div>
771
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">for</span> (CFBasicBlockEdge *e: node-&gt;getOutEdges())</div>
772
+ <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; temp.insert(e);</div>
773
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">for</span> (CFBasicBlockEdge *e: temp)</div>
774
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div>
775
+ <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">removeCFBBEdge</a>(e);</div>
776
+ <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; }</div>
777
+ <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <a class="code" href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">removeGNode</a>(node);</div>
778
+ <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>--;</div>
779
+ <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; }</div>
597
780
  </div><!-- fragment -->
598
781
  </div>
599
782
  </div>
600
- <h2 class="groupheader">Friends And Related Function Documentation</h2>
601
- <a id="a7ce096ffa0d05b095e3dbb649917265f"></a>
602
- <h2 class="memtitle"><span class="permalink"><a href="#a7ce096ffa0d05b095e3dbb649917265f">&#9670;&nbsp;</a></span>CFBasicBlockGBuilder</h2>
783
+ <a id="a9b9d1a149ad405f1b64020a41402583e"></a>
784
+ <h2 class="memtitle"><span class="permalink"><a href="#a9b9d1a149ad405f1b64020a41402583e">&#9670;&nbsp;</a></span>removeCFBBNode() <span class="overload">[2/2]</span></h2>
603
785
 
604
786
  <div class="memitem">
605
787
  <div class="memproto">
@@ -608,23 +790,37 @@ Additional Inherited Members</h2></td></tr>
608
790
  <td class="mlabels-left">
609
791
  <table class="memname">
610
792
  <tr>
611
- <td class="memname">friend class <a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">CFBasicBlockGBuilder</a></td>
793
+ <td class="memname">bool SVF::CFBasicBlockGraph::removeCFBBNode </td>
794
+ <td>(</td>
795
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td>
796
+ <td class="paramname"><em>id</em></td><td>)</td>
797
+ <td></td>
612
798
  </tr>
613
799
  </table>
614
800
  </td>
615
801
  <td class="mlabels-right">
616
- <span class="mlabels"><span class="mlabel">friend</span></span> </td>
802
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
617
803
  </tr>
618
804
  </table>
619
805
  </div><div class="memdoc">
620
806
 
621
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00110">110</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
622
-
807
+ <p>Remove node from nodeID. </p>
808
+
809
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00456">456</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
810
+ <div class="fragment"><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; {</div>
811
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>))</div>
812
+ <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; {</div>
813
+ <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">removeCFBBNode</a>(<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>));</div>
814
+ <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
815
+ <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
816
+ <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
817
+ <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div>
818
+ </div><!-- fragment -->
623
819
  </div>
624
820
  </div>
625
- <h2 class="groupheader">Member Data Documentation</h2>
626
- <a id="a9c4bab700158a9e285bcc71118a59308"></a>
627
- <h2 class="memtitle"><span class="permalink"><a href="#a9c4bab700158a9e285bcc71118a59308">&#9670;&nbsp;</a></span>_bbToNode</h2>
821
+ <h2 class="groupheader">Friends And Related Function Documentation</h2>
822
+ <a id="a7ce096ffa0d05b095e3dbb649917265f"></a>
823
+ <h2 class="memtitle"><span class="permalink"><a href="#a7ce096ffa0d05b095e3dbb649917265f">&#9670;&nbsp;</a></span>CFBasicBlockGBuilder</h2>
628
824
 
629
825
  <div class="memitem">
630
826
  <div class="memproto">
@@ -633,22 +829,23 @@ Additional Inherited Members</h2></td></tr>
633
829
  <td class="mlabels-left">
634
830
  <table class="memname">
635
831
  <tr>
636
- <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a7ad3779ac1173bac3f354e50b8722db5">SVFBasicBlockToCFBasicBlockNodeMap</a> SVF::CFBasicBlockGraph::_bbToNode</td>
832
+ <td class="memname">friend class <a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">CFBasicBlockGBuilder</a></td>
637
833
  </tr>
638
834
  </table>
639
835
  </td>
640
836
  <td class="mlabels-right">
641
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
837
+ <span class="mlabels"><span class="mlabel">friend</span></span> </td>
642
838
  </tr>
643
839
  </table>
644
840
  </div><div class="memdoc">
645
841
 
646
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00116">116</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
842
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00349">349</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
647
843
 
648
844
  </div>
649
845
  </div>
650
- <a id="a3b3b8c637c6bbbbf0f199ab83d498391"></a>
651
- <h2 class="memtitle"><span class="permalink"><a href="#a3b3b8c637c6bbbbf0f199ab83d498391">&#9670;&nbsp;</a></span>_svfFunction</h2>
846
+ <h2 class="groupheader">Member Data Documentation</h2>
847
+ <a id="ab8b75e7bcafc8a1512c3e78d12bffe16"></a>
848
+ <h2 class="memtitle"><span class="permalink"><a href="#ab8b75e7bcafc8a1512c3e78d12bffe16">&#9670;&nbsp;</a></span>_bbToNode</h2>
652
849
 
653
850
  <div class="memitem">
654
851
  <div class="memproto">
@@ -657,7 +854,7 @@ Additional Inherited Members</h2></td></tr>
657
854
  <td class="mlabels-left">
658
855
  <table class="memname">
659
856
  <tr>
660
- <td class="memname">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* SVF::CFBasicBlockGraph::_svfFunction</td>
857
+ <td class="memname"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>*, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>*&gt; SVF::CFBasicBlockGraph::_bbToNode</td>
661
858
  </tr>
662
859
  </table>
663
860
  </td>
@@ -667,7 +864,7 @@ Additional Inherited Members</h2></td></tr>
667
864
  </table>
668
865
  </div><div class="memdoc">
669
866
 
670
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00117">117</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
867
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00353">353</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
671
868
 
672
869
  </div>
673
870
  </div>
@@ -691,7 +888,7 @@ Additional Inherited Members</h2></td></tr>
691
888
  </table>
692
889
  </div><div class="memdoc">
693
890
 
694
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00119">119</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
891
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00352">352</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
695
892
 
696
893
  </div>
697
894
  </div>
@@ -715,7 +912,7 @@ Additional Inherited Members</h2></td></tr>
715
912
  </table>
716
913
  </div><div class="memdoc">
717
914
 
718
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00118">118</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
915
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00351">351</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
719
916
 
720
917
  </div>
721
918
  </div>
@@ -724,17 +921,18 @@ Additional Inherited Members</h2></td></tr>
724
921
  <li>/home/runner/work/SVF/SVF/svf/lib/Graphs/<a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a></li>
725
922
  </ul>
726
923
  </div><!-- contents -->
727
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a1bde348163056b87d5679b0bb91413a9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9">SVF::CFBasicBlockGraph::getCFBasicBlockEdge</a></div><div class="ttdeci">CFBasicBlockEdge * getCFBasicBlockEdge(const CFBasicBlockNode *src, const CFBasicBlockNode *dst)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00063">CFBasicBlockG.cpp:63</a></div></div>
728
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a9c4bab700158a9e285bcc71118a59308"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">SVF::CFBasicBlockGraph::_bbToNode</a></div><div class="ttdeci">SVFBasicBlockToCFBasicBlockNodeMap _bbToNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00116">CFBasicBlockG.h:116</a></div></div>
729
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_af26009309b28b1d9f3f31f802307f6e9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">SVF::CFBasicBlockGraph::_totalCFBasicBlockNode</a></div><div class="ttdeci">u32_t _totalCFBasicBlockNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00118">CFBasicBlockG.h:118</a></div></div>
924
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_ab8b75e7bcafc8a1512c3e78d12bffe16"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">SVF::CFBasicBlockGraph::_bbToNode</a></div><div class="ttdeci">Map&lt; const SVFBasicBlock *, CFBasicBlockNode * &gt; _bbToNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00353">CFBasicBlockG.h:353</a></div></div>
925
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a9d7ebedc25848db79b551cb8a1ef11af"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">SVF::CFBasicBlockGraph::removeCFBBEdge</a></div><div class="ttdeci">void removeCFBBEdge(CFBasicBlockEdge *edge)</div><div class="ttdoc">Remove a ICFGEdgeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00424">CFBasicBlockG.h:424</a></div></div>
926
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_af26009309b28b1d9f3f31f802307f6e9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">SVF::CFBasicBlockGraph::_totalCFBasicBlockNode</a></div><div class="ttdeci">u32_t _totalCFBasicBlockNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00351">CFBasicBlockG.h:351</a></div></div>
730
927
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a0a8831a5429005ff9d71adbd6bf3994f"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">SVF::GenericGraph::addGNode</a></div><div class="ttdeci">void addGNode(NodeID id, NodeType *node)</div><div class="ttdoc">Add a Node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00399">GenericGraph.h:399</a></div></div>
731
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a54200b5a7c41c2ba19660da34c295e81"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">SVF::CFBasicBlockGraph::getCFBasicBlockNode</a></div><div class="ttdeci">CFBasicBlockNode * getCFBasicBlockNode(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00136">CFBasicBlockG.h:136</a></div></div>
928
+ <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a1817b65e76052f11e36a67d6b9efd915"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">SVF::GenericGraph::removeGNode</a></div><div class="ttdeci">void removeGNode(NodeType *node)</div><div class="ttdoc">Delete a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00421">GenericGraph.h:421</a></div></div>
732
929
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
733
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a3b3b8c637c6bbbbf0f199ab83d498391"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a3b3b8c637c6bbbbf0f199ab83d498391">SVF::CFBasicBlockGraph::_svfFunction</a></div><div class="ttdeci">const SVFFunction * _svfFunction</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00117">CFBasicBlockG.h:117</a></div></div>
930
+ <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>
734
931
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
735
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a307a47681c72267f6e90d7009d1b3c6b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">SVF::CFBasicBlockGraph::_totalCFBasicBlockEdge</a></div><div class="ttdeci">u32_t _totalCFBasicBlockEdge</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00119">CFBasicBlockG.h:119</a></div></div>
932
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a307a47681c72267f6e90d7009d1b3c6b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">SVF::CFBasicBlockGraph::_totalCFBasicBlockEdge</a></div><div class="ttdeci">u32_t _totalCFBasicBlockEdge</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00352">CFBasicBlockG.h:352</a></div></div>
736
933
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00414">GenericGraph.h:414</a></div></div>
737
934
  <div class="ttc" id="aclassSVF_1_1GraphPrinter_html_a014217fb0d05c8f2a2f1a6c5b19d3e10"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">SVF::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(SVF::OutStream &amp;O, const std::string &amp;GraphName, const GraphType &amp;GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00056">GraphPrinter.h:56</a></div></div>
935
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a0ed78b8098e84845a500979d52bb8d18"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">SVF::CFBasicBlockGraph::removeCFBBNode</a></div><div class="ttdeci">void removeCFBBNode(CFBasicBlockNode *node)</div><div class="ttdoc">Remove a ICFGNodeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00439">CFBasicBlockG.h:439</a></div></div>
738
936
  <!-- start footer part -->
739
937
  <hr class="footer"/><address class="footer"><small>
740
938
  Generated by &#160;<a href="http://www.doxygen.org/index.html">