svf-tools 1.0.813 → 1.0.814

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +3 -3
  3. package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
  5. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +184 -183
  6. package/SVF-doxygen/html/ContextDDA_8h_source.html +5 -5
  7. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +191 -190
  10. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +4 -4
  11. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +695 -688
  12. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +15 -15
  13. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +3 -3
  14. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +120 -118
  15. package/SVF-doxygen/html/SVFIR_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/SVFStatements_8h_source.html +4 -4
  17. package/SVF-doxygen/html/SVFVariables_8h_source.html +2 -2
  18. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +1 -1
  19. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +11 -11
  20. package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
  21. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +176 -175
  22. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +2 -2
  23. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +2 -2
  24. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  25. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +8 -8
  26. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +2 -2
  27. package/SVF-doxygen/html/classSVF_1_1NormalGepCGEdge.html +2 -2
  28. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +2 -2
  29. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +186 -185
  30. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +667 -660
  31. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +123 -121
  32. package/SVF-doxygen/html/functions_b.html +3 -3
  33. package/SVF-doxygen/html/functions_func_g.html +7 -5
  34. package/SVF-doxygen/html/functions_func_i.html +1 -1
  35. package/SVF-doxygen/html/functions_g.html +6 -4
  36. package/SVF-doxygen/html/functions_i.html +2 -2
  37. package/SVF-doxygen/html/functions_o.html +4 -4
  38. package/SVF-doxygen/html/functions_p.html +9 -9
  39. package/SVF-doxygen/html/functions_r.html +2 -4
  40. package/SVF-doxygen/html/functions_s.html +5 -5
  41. package/SVF-doxygen/html/functions_t.html +6 -6
  42. package/SVF-doxygen/html/functions_v.html +4 -6
  43. package/SVF-doxygen/html/functions_w.html +1 -1
  44. package/SVF-doxygen/html/search/all_10.js +324 -324
  45. package/SVF-doxygen/html/search/all_11.js +222 -222
  46. package/SVF-doxygen/html/search/all_12.js +544 -544
  47. package/SVF-doxygen/html/search/all_13.js +191 -191
  48. package/SVF-doxygen/html/search/all_14.js +67 -67
  49. package/SVF-doxygen/html/search/all_15.js +167 -167
  50. package/SVF-doxygen/html/search/all_16.js +63 -63
  51. package/SVF-doxygen/html/search/all_17.js +1 -1
  52. package/SVF-doxygen/html/search/all_18.js +1 -1
  53. package/SVF-doxygen/html/search/all_19.js +11 -11
  54. package/SVF-doxygen/html/search/all_1a.js +172 -172
  55. package/SVF-doxygen/html/search/all_2.js +1 -1
  56. package/SVF-doxygen/html/search/all_7.js +715 -714
  57. package/SVF-doxygen/html/search/all_8.js +197 -197
  58. package/SVF-doxygen/html/search/all_9.js +607 -607
  59. package/SVF-doxygen/html/search/all_a.js +46 -46
  60. package/SVF-doxygen/html/search/all_b.js +26 -26
  61. package/SVF-doxygen/html/search/all_c.js +116 -116
  62. package/SVF-doxygen/html/search/all_d.js +196 -196
  63. package/SVF-doxygen/html/search/all_e.js +207 -207
  64. package/SVF-doxygen/html/search/all_f.js +115 -115
  65. package/SVF-doxygen/html/search/classes_0.js +26 -26
  66. package/SVF-doxygen/html/search/classes_1.js +9 -9
  67. package/SVF-doxygen/html/search/classes_10.js +73 -73
  68. package/SVF-doxygen/html/search/classes_11.js +15 -15
  69. package/SVF-doxygen/html/search/classes_12.js +2 -2
  70. package/SVF-doxygen/html/search/classes_13.js +10 -10
  71. package/SVF-doxygen/html/search/classes_14.js +14 -14
  72. package/SVF-doxygen/html/search/classes_15.js +1 -1
  73. package/SVF-doxygen/html/search/classes_2.js +80 -80
  74. package/SVF-doxygen/html/search/classes_3.js +37 -37
  75. package/SVF-doxygen/html/search/classes_4.js +9 -9
  76. package/SVF-doxygen/html/search/classes_5.js +28 -28
  77. package/SVF-doxygen/html/search/classes_6.js +104 -104
  78. package/SVF-doxygen/html/search/classes_7.js +33 -33
  79. package/SVF-doxygen/html/search/classes_8.js +56 -56
  80. package/SVF-doxygen/html/search/classes_9.js +1 -1
  81. package/SVF-doxygen/html/search/classes_a.js +12 -12
  82. package/SVF-doxygen/html/search/classes_b.js +29 -29
  83. package/SVF-doxygen/html/search/classes_c.js +6 -6
  84. package/SVF-doxygen/html/search/classes_d.js +18 -18
  85. package/SVF-doxygen/html/search/classes_e.js +36 -36
  86. package/SVF-doxygen/html/search/classes_f.js +25 -25
  87. package/SVF-doxygen/html/search/defines_0.js +3 -3
  88. package/SVF-doxygen/html/search/defines_1.js +2 -2
  89. package/SVF-doxygen/html/search/defines_2.js +30 -30
  90. package/SVF-doxygen/html/search/defines_3.js +21 -21
  91. package/SVF-doxygen/html/search/defines_4.js +2 -2
  92. package/SVF-doxygen/html/search/defines_5.js +4 -4
  93. package/SVF-doxygen/html/search/defines_6.js +2 -2
  94. package/SVF-doxygen/html/search/defines_7.js +5 -5
  95. package/SVF-doxygen/html/search/defines_8.js +11 -11
  96. package/SVF-doxygen/html/search/defines_9.js +9 -9
  97. package/SVF-doxygen/html/search/defines_a.js +2 -2
  98. package/SVF-doxygen/html/search/defines_b.js +1 -1
  99. package/SVF-doxygen/html/search/defines_c.js +3 -3
  100. package/SVF-doxygen/html/search/defines_d.js +2 -2
  101. package/SVF-doxygen/html/search/defines_e.js +7 -7
  102. package/SVF-doxygen/html/search/defines_f.js +3 -3
  103. package/SVF-doxygen/html/search/enums_0.js +3 -3
  104. package/SVF-doxygen/html/search/enums_1.js +2 -2
  105. package/SVF-doxygen/html/search/enums_10.js +1 -1
  106. package/SVF-doxygen/html/search/enums_11.js +1 -1
  107. package/SVF-doxygen/html/search/enums_2.js +8 -8
  108. package/SVF-doxygen/html/search/enums_3.js +1 -1
  109. package/SVF-doxygen/html/search/enums_4.js +3 -3
  110. package/SVF-doxygen/html/search/enums_5.js +1 -1
  111. package/SVF-doxygen/html/search/enums_6.js +2 -2
  112. package/SVF-doxygen/html/search/enums_7.js +2 -2
  113. package/SVF-doxygen/html/search/enums_8.js +4 -4
  114. package/SVF-doxygen/html/search/enums_9.js +1 -1
  115. package/SVF-doxygen/html/search/enums_a.js +1 -1
  116. package/SVF-doxygen/html/search/enums_b.js +7 -7
  117. package/SVF-doxygen/html/search/enums_c.js +1 -1
  118. package/SVF-doxygen/html/search/enums_d.js +4 -4
  119. package/SVF-doxygen/html/search/enums_e.js +2 -2
  120. package/SVF-doxygen/html/search/enums_f.js +4 -4
  121. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  122. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  123. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  124. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  125. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  126. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  127. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  128. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  129. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  130. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  131. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  132. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  133. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  134. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  135. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  136. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  137. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  138. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  139. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  140. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  141. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  142. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  143. package/SVF-doxygen/html/search/files_0.js +13 -13
  144. package/SVF-doxygen/html/search/files_1.js +7 -7
  145. package/SVF-doxygen/html/search/files_10.js +8 -8
  146. package/SVF-doxygen/html/search/files_11.js +8 -8
  147. package/SVF-doxygen/html/search/files_12.js +2 -2
  148. package/SVF-doxygen/html/search/files_2.js +55 -55
  149. package/SVF-doxygen/html/search/files_3.js +14 -14
  150. package/SVF-doxygen/html/search/files_4.js +5 -5
  151. package/SVF-doxygen/html/search/files_5.js +13 -13
  152. package/SVF-doxygen/html/search/files_6.js +9 -9
  153. package/SVF-doxygen/html/search/files_7.js +14 -14
  154. package/SVF-doxygen/html/search/files_8.js +13 -13
  155. package/SVF-doxygen/html/search/files_9.js +18 -18
  156. package/SVF-doxygen/html/search/files_a.js +3 -3
  157. package/SVF-doxygen/html/search/files_b.js +2 -2
  158. package/SVF-doxygen/html/search/files_c.js +20 -20
  159. package/SVF-doxygen/html/search/files_d.js +4 -4
  160. package/SVF-doxygen/html/search/files_e.js +62 -62
  161. package/SVF-doxygen/html/search/files_f.js +8 -8
  162. package/SVF-doxygen/html/search/functions_0.js +12 -12
  163. package/SVF-doxygen/html/search/functions_1.js +360 -360
  164. package/SVF-doxygen/html/search/functions_10.js +140 -140
  165. package/SVF-doxygen/html/search/functions_11.js +138 -138
  166. package/SVF-doxygen/html/search/functions_12.js +279 -279
  167. package/SVF-doxygen/html/search/functions_13.js +59 -59
  168. package/SVF-doxygen/html/search/functions_14.js +39 -39
  169. package/SVF-doxygen/html/search/functions_15.js +71 -71
  170. package/SVF-doxygen/html/search/functions_16.js +32 -32
  171. package/SVF-doxygen/html/search/functions_17.js +3 -3
  172. package/SVF-doxygen/html/search/functions_18.js +172 -172
  173. package/SVF-doxygen/html/search/functions_2.js +87 -87
  174. package/SVF-doxygen/html/search/functions_3.js +257 -257
  175. package/SVF-doxygen/html/search/functions_4.js +75 -75
  176. package/SVF-doxygen/html/search/functions_5.js +53 -53
  177. package/SVF-doxygen/html/search/functions_6.js +59 -59
  178. package/SVF-doxygen/html/search/functions_7.js +853 -852
  179. package/SVF-doxygen/html/search/functions_8.js +149 -149
  180. package/SVF-doxygen/html/search/functions_9.js +423 -423
  181. package/SVF-doxygen/html/search/functions_a.js +30 -30
  182. package/SVF-doxygen/html/search/functions_b.js +2 -2
  183. package/SVF-doxygen/html/search/functions_c.js +26 -26
  184. package/SVF-doxygen/html/search/functions_d.js +77 -77
  185. package/SVF-doxygen/html/search/functions_e.js +35 -35
  186. package/SVF-doxygen/html/search/functions_f.js +56 -56
  187. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  188. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  189. package/SVF-doxygen/html/search/related_0.js +2 -2
  190. package/SVF-doxygen/html/search/related_1.js +2 -2
  191. package/SVF-doxygen/html/search/related_2.js +2 -2
  192. package/SVF-doxygen/html/search/related_3.js +2 -2
  193. package/SVF-doxygen/html/search/related_4.js +2 -2
  194. package/SVF-doxygen/html/search/related_5.js +1 -1
  195. package/SVF-doxygen/html/search/related_6.js +2 -2
  196. package/SVF-doxygen/html/search/related_7.js +4 -4
  197. package/SVF-doxygen/html/search/related_8.js +2 -2
  198. package/SVF-doxygen/html/search/related_9.js +4 -4
  199. package/SVF-doxygen/html/search/related_a.js +19 -19
  200. package/SVF-doxygen/html/search/related_b.js +4 -4
  201. package/SVF-doxygen/html/search/related_c.js +1 -1
  202. package/SVF-doxygen/html/search/related_d.js +12 -12
  203. package/SVF-doxygen/html/search/related_e.js +2 -2
  204. package/SVF-doxygen/html/search/related_f.js +2 -2
  205. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  206. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  207. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  208. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  209. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  210. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  211. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  212. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  213. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  214. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  215. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  216. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  217. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  218. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  219. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  220. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  221. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  222. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  223. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  224. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  225. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  226. package/SVF-doxygen/html/search/variables_0.js +151 -151
  227. package/SVF-doxygen/html/search/variables_1.js +75 -75
  228. package/SVF-doxygen/html/search/variables_10.js +97 -97
  229. package/SVF-doxygen/html/search/variables_11.js +44 -44
  230. package/SVF-doxygen/html/search/variables_12.js +92 -92
  231. package/SVF-doxygen/html/search/variables_13.js +75 -75
  232. package/SVF-doxygen/html/search/variables_14.js +14 -14
  233. package/SVF-doxygen/html/search/variables_15.js +48 -48
  234. package/SVF-doxygen/html/search/variables_16.js +9 -9
  235. package/SVF-doxygen/html/search/variables_17.js +1 -1
  236. package/SVF-doxygen/html/search/variables_18.js +2 -2
  237. package/SVF-doxygen/html/search/variables_2.js +38 -38
  238. package/SVF-doxygen/html/search/variables_3.js +142 -142
  239. package/SVF-doxygen/html/search/variables_4.js +55 -55
  240. package/SVF-doxygen/html/search/variables_5.js +37 -37
  241. package/SVF-doxygen/html/search/variables_6.js +66 -66
  242. package/SVF-doxygen/html/search/variables_7.js +33 -33
  243. package/SVF-doxygen/html/search/variables_8.js +7 -7
  244. package/SVF-doxygen/html/search/variables_9.js +78 -78
  245. package/SVF-doxygen/html/search/variables_a.js +4 -4
  246. package/SVF-doxygen/html/search/variables_b.js +10 -10
  247. package/SVF-doxygen/html/search/variables_c.js +45 -45
  248. package/SVF-doxygen/html/search/variables_d.js +56 -56
  249. package/SVF-doxygen/html/search/variables_e.js +123 -123
  250. package/SVF-doxygen/html/search/variables_f.js +29 -29
  251. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +2 -2
  252. package/SVF-doxygen/html/svf-ex_8cpp.html +11 -11
  253. package/SVF-doxygen/html/svf-ex_8cpp_source.html +11 -11
  254. package/package.json +1 -1
  255. package/svf/include/Graphs/ConsGEdge.h +1 -1
  256. package/svf/include/MemoryModel/AccessPath.h +2 -2
  257. package/svf/include/SVFIR/SVFStatements.h +2 -2
  258. package/svf/include/SVFIR/SVFVariables.h +1 -1
  259. package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +2 -1
  260. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +4 -0
  261. package/svf/lib/DDA/ContextDDA.cpp +2 -1
  262. package/svf/lib/DDA/FlowDDA.cpp +1 -1
  263. package/svf/lib/MemoryModel/AccessPath.cpp +4 -4
  264. package/svf/lib/SVFIR/SVFIR.cpp +1 -1
  265. package/svf/lib/WPA/Andersen.cpp +1 -1
  266. package/svf/lib/WPA/FlowSensitive.cpp +1 -1
  267. package/svf-llvm/lib/SVFIRBuilder.cpp +2 -2
  268. package/svf-llvm/lib/SVFIRExtAPI.cpp +7 -5
@@ -1190,25 +1190,25 @@ Additional Inherited Members</h2></td></tr>
1190
1190
  <p>get callsite id from call, return 0 if it is a spurious call edge </p>
1191
1191
  <p>get callsite id from call, return 0 if it is a spurious call edge translate the callsite id from pre-computed callgraph on <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> to the one on current callgraph </p>
1192
1192
 
1193
- <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00209">209</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
1194
- <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div>
1195
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
1196
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> svfg_csId = 0;</div>
1197
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallDirSVFGEdge.html">CallDirSVFGEdge</a>* callEdge = SVFUtil::dyn_cast&lt;CallDirSVFGEdge&gt;(edge))</div>
1198
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; svfg_csId = callEdge-&gt;getCallSiteId();</div>
1199
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">else</span></div>
1200
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; svfg_csId = SVFUtil::cast&lt;CallIndSVFGEdge&gt;(edge)-&gt;getCallSiteId();</div>
1201
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; </div>
1202
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#a246cce511b8e9164a7c1760d1983f492">getCallSite</a>(svfg_csId);</div>
1203
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()-&gt;getFun();</div>
1204
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
1205
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;hasCallSiteID(cbn,callee))</div>
1206
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; {</div>
1207
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a711bd8ad385f8454fbfcd20f134efe1b">getCallSiteID</a>(cbn,callee);</div>
1208
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
1209
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; </div>
1210
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> 0;</div>
1211
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;}</div>
1193
+ <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00210">210</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
1194
+ <div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;{</div>
1195
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
1196
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> svfg_csId = 0;</div>
1197
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallDirSVFGEdge.html">CallDirSVFGEdge</a>* callEdge = SVFUtil::dyn_cast&lt;CallDirSVFGEdge&gt;(edge))</div>
1198
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; svfg_csId = callEdge-&gt;getCallSiteId();</div>
1199
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">else</span></div>
1200
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; svfg_csId = SVFUtil::cast&lt;CallIndSVFGEdge&gt;(edge)-&gt;getCallSiteId();</div>
1201
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
1202
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#a246cce511b8e9164a7c1760d1983f492">getCallSite</a>(svfg_csId);</div>
1203
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()-&gt;getFun();</div>
1204
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
1205
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;hasCallSiteID(cbn,callee))</div>
1206
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
1207
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a711bd8ad385f8454fbfcd20f134efe1b">getCallSiteID</a>(cbn,callee);</div>
1208
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div>
1209
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; </div>
1210
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">return</span> 0;</div>
1211
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;}</div>
1212
1212
  </div><!-- fragment -->
1213
1213
  </div>
1214
1214
  </div>
@@ -1241,25 +1241,25 @@ Additional Inherited Members</h2></td></tr>
1241
1241
  <p>get callsite id from return, return 0 if it is a spurious return edge </p>
1242
1242
  <p>get callsite id from return, return 0 if it is a spurious return edge translate the callsite id from pre-computed callgraph on <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> to the one on current callgraph </p>
1243
1243
 
1244
- <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00233">233</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
1245
- <div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;{</div>
1246
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
1247
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> svfg_csId = 0;</div>
1248
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetDirSVFGEdge.html">RetDirSVFGEdge</a>* retEdge = SVFUtil::dyn_cast&lt;RetDirSVFGEdge&gt;(edge))</div>
1249
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; svfg_csId = retEdge-&gt;getCallSiteId();</div>
1250
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">else</span></div>
1251
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; svfg_csId = SVFUtil::cast&lt;RetIndSVFGEdge&gt;(edge)-&gt;getCallSiteId();</div>
1252
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; </div>
1253
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#a246cce511b8e9164a7c1760d1983f492">getCallSite</a>(svfg_csId);</div>
1254
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()-&gt;getFun();</div>
1255
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; </div>
1256
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;hasCallSiteID(cbn,callee))</div>
1257
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
1258
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a711bd8ad385f8454fbfcd20f134efe1b">getCallSiteID</a>(cbn,callee);</div>
1259
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div>
1260
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; </div>
1261
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> 0;</div>
1262
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;}</div>
1244
+ <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00234">234</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
1245
+ <div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;{</div>
1246
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; </div>
1247
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> svfg_csId = 0;</div>
1248
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetDirSVFGEdge.html">RetDirSVFGEdge</a>* retEdge = SVFUtil::dyn_cast&lt;RetDirSVFGEdge&gt;(edge))</div>
1249
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; svfg_csId = retEdge-&gt;getCallSiteId();</div>
1250
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">else</span></div>
1251
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; svfg_csId = SVFUtil::cast&lt;RetIndSVFGEdge&gt;(edge)-&gt;getCallSiteId();</div>
1252
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; </div>
1253
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#a246cce511b8e9164a7c1760d1983f492">getCallSite</a>(svfg_csId);</div>
1254
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()-&gt;getFun();</div>
1255
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; </div>
1256
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;hasCallSiteID(cbn,callee))</div>
1257
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div>
1258
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a711bd8ad385f8454fbfcd20f134efe1b">getCallSiteID</a>(cbn,callee);</div>
1259
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
1260
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; </div>
1261
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> 0;</div>
1262
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;}</div>
1263
1263
  </div><!-- fragment -->
1264
1264
  </div>
1265
1265
  </div>
@@ -1431,76 +1431,76 @@ Additional Inherited Members</h2></td></tr>
1431
1431
 
1432
1432
  <p>Reimplemented from <a class="el" href="classSVF_1_1DDAVFSolver.html#a601282325e55badc15f3ba9141816af5">SVF::DDAVFSolver&lt; CxtVar, CxtPtSet, CxtLocDPItem &gt;</a>.</p>
1433
1433
 
1434
- <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00255">255</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
1435
- <div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;{</div>
1436
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="classSVF_1_1ContextDDA.html#ae3b04859ed69c47302177988aa68a70b">_client</a>-&gt;<a class="code" href="classSVF_1_1DDAClient.html#aec3de00152e828beb5037269430f387d">handleStatement</a>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>(), dpm.<a class="code" href="classSVF_1_1DPItem.html#a03a90eca842c0e83d874902103f6fdb2">getCurNodeID</a>());</div>
1437
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
1438
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#a4352297ef44c4eff1efe2f348cce6fe9">isCallVFGEdge</a>())</div>
1439
- <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; {</div>
1440
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92">getCSIDAtCall</a>(dpm,edge))</div>
1441
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div>
1442
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; </div>
1443
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ContextDDA.html#a525949d1743136466d33bf4dc26ba423">isEdgeInRecursion</a>(csId))</div>
1444
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div>
1445
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t call edge &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;getCallerOfCallSite(csId)-&gt;getName() &lt;&lt;</div>
1446
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="stringliteral">&quot;=&gt;&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;getCalleeOfCallSite(csId)-&gt;getName() &lt;&lt; <span class="stringliteral">&quot;in recursion \n&quot;</span>);</div>
1447
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="classSVF_1_1ContextDDA.html#a2754d0fd4b168786c990bbf36538b151">popRecursiveCallSites</a>(dpm);</div>
1448
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div>
1449
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">else</span></div>
1450
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div>
1451
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">if</span> (dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#a35c0c0d5194983769e313d6e31b3d7ec">matchContext</a>(csId) == <span class="keyword">false</span>)</div>
1452
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div>
1453
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t context not match, edge &quot;</span></div>
1454
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; &lt;&lt; edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() &lt;&lt; <span class="stringliteral">&quot; --| &quot;</span> &lt;&lt; edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() &lt;&lt; <span class="stringliteral">&quot; \t&quot;</span>);</div>
1455
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
1456
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1457
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div>
1458
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; </div>
1459
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t match contexts &quot;</span>);</div>
1460
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
1461
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div>
1462
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div>
1463
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div>
1464
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; </div>
1465
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#a3937eef974c3953f1d1e7d64c5a24ff3">isRetVFGEdge</a>())</div>
1466
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div>
1467
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1ContextDDA.html#a7687f36ad3f27bb16069975f00a1a202">getCSIDAtRet</a>(dpm,edge))</div>
1468
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div>
1469
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; </div>
1470
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ContextDDA.html#a525949d1743136466d33bf4dc26ba423">isEdgeInRecursion</a>(csId))</div>
1471
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
1472
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t return edge &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;getCalleeOfCallSite(csId)-&gt;getName() &lt;&lt;</div>
1473
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="stringliteral">&quot;=&gt;&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;getCallerOfCallSite(csId)-&gt;getName() &lt;&lt; <span class="stringliteral">&quot;in recursion \n&quot;</span>);</div>
1474
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <a class="code" href="classSVF_1_1ContextDDA.html#a2754d0fd4b168786c990bbf36538b151">popRecursiveCallSites</a>(dpm);</div>
1475
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div>
1476
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">else</span></div>
1477
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div>
1478
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">if</span> (dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>().<a class="code" href="classSVF_1_1ContextCond.html#a6f5b0bbc0978220aaa990f5fd0ddce8d">containCallStr</a>(csId))</div>
1479
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
1480
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#afdecfbacc64cb8d694268aa73ec8a7b6">outOfBudgetQuery</a> = <span class="keyword">true</span>;</div>
1481
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">SVFUtil::writeWrnMsg</a>(<span class="stringliteral">&quot;Call site ID is contained in call string. Is this a recursion?&quot;</span>);</div>
1482
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1483
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div>
1484
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">else</span></div>
1485
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
1486
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; assert(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>().<a class="code" href="classSVF_1_1ContextCond.html#a6f5b0bbc0978220aaa990f5fd0ddce8d">containCallStr</a>(csId) ==<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;contain visited call string ??&quot;</span>);</div>
1487
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">if</span>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#a3bb07147466d6ccb397616e1c09fc60b">pushContext</a>(csId))</div>
1488
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; {</div>
1489
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t push context &quot;</span>);</div>
1490
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
1491
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div>
1492
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">else</span></div>
1493
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div>
1494
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t context is full &quot;</span>);</div>
1495
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
1496
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
1497
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; }</div>
1498
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div>
1499
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div>
1500
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div>
1501
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; </div>
1502
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1503
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;}</div>
1434
+ <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00256">256</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
1435
+ <div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;{</div>
1436
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="classSVF_1_1ContextDDA.html#ae3b04859ed69c47302177988aa68a70b">_client</a>-&gt;<a class="code" href="classSVF_1_1DDAClient.html#aec3de00152e828beb5037269430f387d">handleStatement</a>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>(), dpm.<a class="code" href="classSVF_1_1DPItem.html#a03a90eca842c0e83d874902103f6fdb2">getCurNodeID</a>());</div>
1437
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; </div>
1438
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#a4352297ef44c4eff1efe2f348cce6fe9">isCallVFGEdge</a>())</div>
1439
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; {</div>
1440
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92">getCSIDAtCall</a>(dpm,edge))</div>
1441
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; {</div>
1442
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; </div>
1443
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ContextDDA.html#a525949d1743136466d33bf4dc26ba423">isEdgeInRecursion</a>(csId))</div>
1444
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div>
1445
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t call edge &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;getCallerOfCallSite(csId)-&gt;getName() &lt;&lt;</div>
1446
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="stringliteral">&quot;=&gt;&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;getCalleeOfCallSite(csId)-&gt;getName() &lt;&lt; <span class="stringliteral">&quot;in recursion \n&quot;</span>);</div>
1447
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="classSVF_1_1ContextDDA.html#a2754d0fd4b168786c990bbf36538b151">popRecursiveCallSites</a>(dpm);</div>
1448
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div>
1449
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">else</span></div>
1450
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
1451
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">if</span> (dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#a35c0c0d5194983769e313d6e31b3d7ec">matchContext</a>(csId) == <span class="keyword">false</span>)</div>
1452
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div>
1453
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t context not match, edge &quot;</span></div>
1454
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; &lt;&lt; edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() &lt;&lt; <span class="stringliteral">&quot; --| &quot;</span> &lt;&lt; edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() &lt;&lt; <span class="stringliteral">&quot; \t&quot;</span>);</div>
1455
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
1456
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1457
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; }</div>
1458
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; </div>
1459
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t match contexts &quot;</span>);</div>
1460
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
1461
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div>
1462
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div>
1463
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div>
1464
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; </div>
1465
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#a3937eef974c3953f1d1e7d64c5a24ff3">isRetVFGEdge</a>())</div>
1466
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div>
1467
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1ContextDDA.html#a7687f36ad3f27bb16069975f00a1a202">getCSIDAtRet</a>(dpm,edge))</div>
1468
+ <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div>
1469
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; </div>
1470
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ContextDDA.html#a525949d1743136466d33bf4dc26ba423">isEdgeInRecursion</a>(csId))</div>
1471
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; {</div>
1472
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t return edge &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;getCalleeOfCallSite(csId)-&gt;getName() &lt;&lt;</div>
1473
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="stringliteral">&quot;=&gt;&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;getCallerOfCallSite(csId)-&gt;getName() &lt;&lt; <span class="stringliteral">&quot;in recursion \n&quot;</span>);</div>
1474
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <a class="code" href="classSVF_1_1ContextDDA.html#a2754d0fd4b168786c990bbf36538b151">popRecursiveCallSites</a>(dpm);</div>
1475
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; }</div>
1476
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">else</span></div>
1477
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; {</div>
1478
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">if</span> (dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>().<a class="code" href="classSVF_1_1ContextCond.html#a6f5b0bbc0978220aaa990f5fd0ddce8d">containCallStr</a>(csId))</div>
1479
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; {</div>
1480
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#afdecfbacc64cb8d694268aa73ec8a7b6">outOfBudgetQuery</a> = <span class="keyword">true</span>;</div>
1481
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">SVFUtil::writeWrnMsg</a>(<span class="stringliteral">&quot;Call site ID is contained in call string. Is this a recursion?&quot;</span>);</div>
1482
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1483
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; }</div>
1484
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">else</span></div>
1485
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div>
1486
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; assert(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>().<a class="code" href="classSVF_1_1ContextCond.html#a6f5b0bbc0978220aaa990f5fd0ddce8d">containCallStr</a>(csId) ==<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;contain visited call string ??&quot;</span>);</div>
1487
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">if</span>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#a3bb07147466d6ccb397616e1c09fc60b">pushContext</a>(csId))</div>
1488
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div>
1489
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t push context &quot;</span>);</div>
1490
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
1491
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
1492
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">else</span></div>
1493
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; {</div>
1494
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t context is full &quot;</span>);</div>
1495
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
1496
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; }</div>
1497
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div>
1498
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div>
1499
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div>
1500
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
1501
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; </div>
1502
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1503
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;}</div>
1504
1504
  </div><!-- fragment -->
1505
1505
  </div>
1506
1506
  </div>
@@ -1716,41 +1716,41 @@ Additional Inherited Members</h2></td></tr>
1716
1716
 
1717
1717
  <p>Reimplemented from <a class="el" href="classSVF_1_1DDAVFSolver.html#a645c7d0637b49e139898016ff652e1f3">SVF::DDAVFSolver&lt; CxtVar, CxtPtSet, CxtLocDPItem &gt;</a>.</p>
1718
1718
 
1719
- <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00334">334</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
1720
- <div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;{</div>
1721
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<a class="code" href="classSVF_1_1ContextDDA.html#a6ae16be6774994932aaa594c9b9cb397">getPtrNodeID</a>(var));</div>
1722
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; assert(mem &amp;&amp; <span class="stringliteral">&quot;memory object is null??&quot;</span>);</div>
1723
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">if</span> (mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">isHeap</a>())</div>
1724
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div>
1725
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">if</span> (!mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>())</div>
1726
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div>
1727
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *pnode = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<a class="code" href="classSVF_1_1ContextDDA.html#a6ae16be6774994932aaa594c9b9cb397">getPtrNodeID</a>(var));</div>
1728
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a>* gepobj = SVFUtil::dyn_cast&lt;GepObjVar&gt;(pnode);</div>
1729
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">if</span> (gepobj != <span class="keyword">nullptr</span>)</div>
1730
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div>
1731
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; assert(SVFUtil::isa&lt;DummyObjVar&gt;(<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(gepobj-&gt;<a class="code" href="classSVF_1_1GepObjVar.html#a4c5e346db61f7e04c15bf8527d8eff3c">getBaseNode</a>()))</div>
1732
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; &amp;&amp; <span class="stringliteral">&quot;empty refVal in a gep object whose base is a non-dummy object&quot;</span>);</div>
1733
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; }</div>
1734
- <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">else</span></div>
1735
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; {</div>
1736
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; assert((SVFUtil::isa&lt;DummyObjVar, DummyValVar&gt;(pnode))</div>
1737
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; &amp;&amp; <span class="stringliteral">&quot;empty refVal in non-dummy object&quot;</span>);</div>
1738
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div>
1739
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1740
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div>
1741
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* mallocSite = SVFUtil::dyn_cast&lt;SVFInstruction&gt;(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
1742
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; {</div>
1743
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svfFun = mallocSite-&gt;getFunction();</div>
1744
- <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAVFSolver.html#aa1d1b6e8cc23f0a6d3935cbe4f02cbdf">_ander</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a">isInRecursion</a>(svfFun))</div>
1745
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1746
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span>(var.<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>().isConcreteCxt() == <span class="keyword">false</span>)</div>
1747
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1748
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#ae115e70bf53f25c0ca6b1f22acccf5b5">isInLoop</a>(mallocSite))</div>
1749
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1750
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
1751
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
1752
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1753
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;}</div>
1719
+ <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00335">335</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
1720
+ <div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;{</div>
1721
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<a class="code" href="classSVF_1_1ContextDDA.html#a6ae16be6774994932aaa594c9b9cb397">getPtrNodeID</a>(var));</div>
1722
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; assert(mem &amp;&amp; <span class="stringliteral">&quot;memory object is null??&quot;</span>);</div>
1723
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">if</span> (mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">isHeap</a>())</div>
1724
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div>
1725
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">if</span> (!mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>())</div>
1726
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div>
1727
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *pnode = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<a class="code" href="classSVF_1_1ContextDDA.html#a6ae16be6774994932aaa594c9b9cb397">getPtrNodeID</a>(var));</div>
1728
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a>* gepobj = SVFUtil::dyn_cast&lt;GepObjVar&gt;(pnode);</div>
1729
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">if</span> (gepobj != <span class="keyword">nullptr</span>)</div>
1730
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; {</div>
1731
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; assert(SVFUtil::isa&lt;DummyObjVar&gt;(<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(gepobj-&gt;<a class="code" href="classSVF_1_1GepObjVar.html#a4c5e346db61f7e04c15bf8527d8eff3c">getBaseNode</a>()))</div>
1732
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; &amp;&amp; <span class="stringliteral">&quot;empty refVal in a gep object whose base is a non-dummy object&quot;</span>);</div>
1733
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div>
1734
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">else</span></div>
1735
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; {</div>
1736
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; assert((SVFUtil::isa&lt;DummyObjVar, DummyValVar&gt;(pnode))</div>
1737
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; &amp;&amp; <span class="stringliteral">&quot;empty refVal in non-dummy object&quot;</span>);</div>
1738
+ <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div>
1739
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1740
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div>
1741
+ <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* mallocSite = SVFUtil::dyn_cast&lt;SVFInstruction&gt;(mem-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
1742
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; {</div>
1743
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svfFun = mallocSite-&gt;getFunction();</div>
1744
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAVFSolver.html#aa1d1b6e8cc23f0a6d3935cbe4f02cbdf">_ander</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a">isInRecursion</a>(svfFun))</div>
1745
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1746
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span>(var.<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>().isConcreteCxt() == <span class="keyword">false</span>)</div>
1747
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1748
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#ae115e70bf53f25c0ca6b1f22acccf5b5">isInLoop</a>(mallocSite))</div>
1749
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
1750
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
1751
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; }</div>
1752
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
1753
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;}</div>
1754
1754
  </div><!-- fragment -->
1755
1755
  </div>
1756
1756
  </div>
@@ -1885,19 +1885,20 @@ Additional Inherited Members</h2></td></tr>
1885
1885
  <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div>
1886
1886
  <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">else</span></div>
1887
1887
  <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
1888
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> var(ptd.<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>(),<a class="code" href="classSVF_1_1PointerAnalysis.html#aac6ccf3dc313e3c6761bb57316829da8">getGepObjVar</a>(ptd.<a class="code" href="classSVF_1_1CondVar.html#a5d64fa2be89051cd03301e3b07bffd6a">get_id</a>(),gepStmt-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>()));</div>
1889
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; tmpDstPts.<a class="code" href="classSVF_1_1CondStdSet.html#ae11deddad534be115d29daad08c90599">set</a>(var);</div>
1890
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
1891
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
1892
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
1893
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
1894
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t return created gep objs &quot;</span>);</div>
1895
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; srcPts.<a class="code" href="classSVF_1_1CondStdSet.html#a07267b0a4f7cfeaa6d1f7d722932c4d5">toString</a>());</div>
1896
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>);</div>
1897
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; tmpDstPts.<a class="code" href="classSVF_1_1CondStdSet.html#a07267b0a4f7cfeaa6d1f7d722932c4d5">toString</a>());</div>
1898
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div>
1899
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> tmpDstPts;</div>
1900
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;}</div>
1888
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> var(ptd.<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>(),<a class="code" href="classSVF_1_1PointerAnalysis.html#aac6ccf3dc313e3c6761bb57316829da8">getGepObjVar</a>(ptd.<a class="code" href="classSVF_1_1CondVar.html#a5d64fa2be89051cd03301e3b07bffd6a">get_id</a>(),</div>
1889
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; gepStmt-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>()));</div>
1890
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; tmpDstPts.<a class="code" href="classSVF_1_1CondStdSet.html#ae11deddad534be115d29daad08c90599">set</a>(var);</div>
1891
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
1892
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
1893
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
1894
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
1895
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t return created gep objs &quot;</span>);</div>
1896
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; srcPts.<a class="code" href="classSVF_1_1CondStdSet.html#a07267b0a4f7cfeaa6d1f7d722932c4d5">toString</a>());</div>
1897
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>);</div>
1898
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; tmpDstPts.<a class="code" href="classSVF_1_1CondStdSet.html#a07267b0a4f7cfeaa6d1f7d722932c4d5">toString</a>());</div>
1899
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div>
1900
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> tmpDstPts;</div>
1901
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;}</div>
1901
1902
  </div><!-- fragment -->
1902
1903
  </div>
1903
1904
  </div>
@@ -2014,22 +2015,22 @@ Additional Inherited Members</h2></td></tr>
2014
2015
 
2015
2016
  <p>refine indirect call edge </p>
2016
2017
 
2017
- <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00188">188</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
2018
- <div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;{</div>
2019
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;isIndirectCallSites(cs))</div>
2020
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div>
2021
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">getFunPtr</a>(cs);</div>
2022
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = <a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div>
2023
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> funptrVar(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ab1098f5093419b62ea27a20933059270">getCondVar</a>().<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>(), <span class="keywordtype">id</span>);</div>
2024
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="classSVF_1_1CxtStmtDPItem.html">CxtLocDPItem</a> funptrDpm = <a class="code" href="classSVF_1_1DDAVFSolver.html#ad7d92fad8606d5512786a7b7a08930e2">getDPIm</a>(funptrVar,<a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(node));</div>
2025
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> pts = <a class="code" href="classSVF_1_1CondPTAImpl.html#a94f3e4d073b8c5bab3c46058ddba3f43">getBVPointsTo</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a52737dd41c63404ef91691154aa250ce">findPT</a>(funptrDpm));</div>
2026
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">if</span>(pts.<a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;getObjectNode(callee)))</div>
2027
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
2028
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">else</span></div>
2029
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
2030
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div>
2031
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
2032
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;}</div>
2018
+ <p class="definition">Definition at line <a class="el" href="ContextDDA_8cpp_source.html#l00189">189</a> of file <a class="el" href="ContextDDA_8cpp_source.html">ContextDDA.cpp</a>.</p>
2019
+ <div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div>
2020
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;isIndirectCallSites(cs))</div>
2021
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div>
2022
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">getFunPtr</a>(cs);</div>
2023
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = <a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div>
2024
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> funptrVar(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ab1098f5093419b62ea27a20933059270">getCondVar</a>().<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>(), <span class="keywordtype">id</span>);</div>
2025
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="classSVF_1_1CxtStmtDPItem.html">CxtLocDPItem</a> funptrDpm = <a class="code" href="classSVF_1_1DDAVFSolver.html#ad7d92fad8606d5512786a7b7a08930e2">getDPIm</a>(funptrVar,<a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(node));</div>
2026
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> pts = <a class="code" href="classSVF_1_1CondPTAImpl.html#a94f3e4d073b8c5bab3c46058ddba3f43">getBVPointsTo</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a52737dd41c63404ef91691154aa250ce">findPT</a>(funptrDpm));</div>
2027
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span>(pts.<a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;getObjectNode(callee)))</div>
2028
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
2029
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">else</span></div>
2030
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
2031
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div>
2032
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
2033
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div>
2033
2034
  </div><!-- fragment -->
2034
2035
  </div>
2035
2036
  </div>
@@ -2220,11 +2221,11 @@ Additional Inherited Members</h2></td></tr>
2220
2221
  <div class="ttc" id="aclassSVF_1_1CxtStmtDPItem_html"><div class="ttname"><a href="classSVF_1_1CxtStmtDPItem.html">SVF::CxtStmtDPItem</a></div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00389">DPItem.h:389</a></div></div>
2221
2222
  <div class="ttc" id="aclassSVF_1_1DDAVFSolver_html_a7994236bff84ba8244592fdf5e546734"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a7994236bff84ba8244592fdf5e546734">SVF::DDAVFSolver&lt; CxtVar, CxtPtSet, CxtLocDPItem &gt;::isOutOfBudgetQuery</a></div><div class="ttdeci">bool isOutOfBudgetQuery() const</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00726">DDAVFSolver.h:726</a></div></div>
2222
2223
  <div class="ttc" id="aclassSVF_1_1VFGEdge_html_a3937eef974c3953f1d1e7d64c5a24ff3"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a3937eef974c3953f1d1e7d64c5a24ff3">SVF::VFGEdge::isRetVFGEdge</a></div><div class="ttdeci">bool isRetVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00088">VFGEdge.h:88</a></div></div>
2224
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a5427d08c9eb9d86e66c2bff6aeba6bac"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">SVF::AccessPath::getConstantStructFldIdx</a></div><div class="ttdeci">APOffset getConstantStructFldIdx() const</div><div class="ttdoc">Get methods.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00098">AccessPath.h:98</a></div></div>
2223
2225
  <div class="ttc" id="aclassSVF_1_1DDAVFSolver_html_afdecfbacc64cb8d694268aa73ec8a7b6"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#afdecfbacc64cb8d694268aa73ec8a7b6">SVF::DDAVFSolver&lt; CxtVar, CxtPtSet, CxtLocDPItem &gt;::outOfBudgetQuery</a></div><div class="ttdeci">bool outOfBudgetQuery</div><div class="ttdoc">Whether the current query is out of step limits.</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00767">DDAVFSolver.h:767</a></div></div>
2224
2226
  <div class="ttc" id="aclassSVF_1_1DDAStat_html_ac3189db5d8e17f64fdfcc9b040cf6100"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">SVF::DDAStat::_TotalTimeOfQueries</a></div><div class="ttdeci">double _TotalTimeOfQueries</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00063">DDAStat.h:63</a></div></div>
2225
2227
  <div class="ttc" id="aclassSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00085">GenericGraph.h:85</a></div></div>
2226
2228
  <div class="ttc" id="aclassSVF_1_1CondStdSet_html_adf095111734d81b6ad1908a7f795b038"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#adf095111734d81b6ad1908a7f795b038">SVF::CondStdSet::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00192">ConditionalPT.h:192</a></div></div>
2227
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a68e49bb797a84ea035ea338549f2e054"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">SVF::AccessPath::getConstantFieldIdx</a></div><div class="ttdeci">APOffset getConstantFieldIdx() const</div><div class="ttdoc">Get methods.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00098">AccessPath.h:98</a></div></div>
2228
2229
  <div class="ttc" id="aclassSVF_1_1FlowDDA_html_af1fcf058a9feefeda63f07d4189513a1"><div class="ttname"><a href="classSVF_1_1FlowDDA.html#af1fcf058a9feefeda63f07d4189513a1">SVF::FlowDDA::initialize</a></div><div class="ttdeci">virtual void initialize() override</div><div class="ttdoc">Initialization of the analysis.</div><div class="ttdef"><b>Definition:</b> <a href="FlowDDA_8h_source.html#l00086">FlowDDA.h:86</a></div></div>
2229
2230
  <div class="ttc" id="aclassSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
2230
2231
  <div class="ttc" id="aclassSVF_1_1CondVar_html_a5d64fa2be89051cd03301e3b07bffd6a"><div class="ttname"><a href="classSVF_1_1CondVar.html#a5d64fa2be89051cd03301e3b07bffd6a">SVF::CondVar::get_id</a></div><div class="ttdeci">NodeID get_id() const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00104">ConditionalPT.h:104</a></div></div>
@@ -2281,7 +2282,7 @@ Additional Inherited Members</h2></td></tr>
2281
2282
  <div class="ttc" id="aclassSVF_1_1ContextDDA_html_a525949d1743136466d33bf4dc26ba423"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a525949d1743136466d33bf4dc26ba423">SVF::ContextDDA::isEdgeInRecursion</a></div><div class="ttdeci">virtual bool isEdgeInRecursion(CallSiteID csId)</div><div class="ttdoc">Whether call/return inside recursion.</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00134">ContextDDA.h:134</a></div></div>
2282
2283
  <div class="ttc" id="aclassSVF_1_1CxtStmtDPItem_html_ab1098f5093419b62ea27a20933059270"><div class="ttname"><a href="classSVF_1_1CxtStmtDPItem.html#ab1098f5093419b62ea27a20933059270">SVF::CxtStmtDPItem::getCondVar</a></div><div class="ttdeci">CxtVar getCondVar() const</div><div class="ttdoc">Get context var.</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00408">DPItem.h:408</a></div></div>
2283
2284
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_ac1422cd8b449fdb4a1f7c539364e4c41"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">SVF::PointerAnalysis::FunctionSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00105">PointerAnalysis.h:105</a></div></div>
2284
- <div class="ttc" id="aclassSVF_1_1ContextDDA_html_a7687f36ad3f27bb16069975f00a1a202"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a7687f36ad3f27bb16069975f00a1a202">SVF::ContextDDA::getCSIDAtRet</a></div><div class="ttdeci">CallSiteID getCSIDAtRet(CxtLocDPItem &amp;dpm, const SVFGEdge *edge)</div><div class="ttdoc">get callsite id from return, return 0 if it is a spurious return edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00233">ContextDDA.cpp:233</a></div></div>
2285
+ <div class="ttc" id="aclassSVF_1_1ContextDDA_html_a7687f36ad3f27bb16069975f00a1a202"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a7687f36ad3f27bb16069975f00a1a202">SVF::ContextDDA::getCSIDAtRet</a></div><div class="ttdeci">CallSiteID getCSIDAtRet(CxtLocDPItem &amp;dpm, const SVFGEdge *edge)</div><div class="ttdoc">get callsite id from return, return 0 if it is a spurious return edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00234">ContextDDA.cpp:234</a></div></div>
2285
2286
  <div class="ttc" id="aclassSVF_1_1FlowDDA_html_a113faa56ee75eff39da19fd4b47a47e0"><div class="ttname"><a href="classSVF_1_1FlowDDA.html#a113faa56ee75eff39da19fd4b47a47e0">SVF::FlowDDA::computeDDAPts</a></div><div class="ttdeci">void computeDDAPts(NodeID id) override</div><div class="ttdoc">Compute points-to set for all top variable.</div><div class="ttdef"><b>Definition:</b> <a href="FlowDDA_8cpp_source.html#l00043">FlowDDA.cpp:43</a></div></div>
2286
2287
  <div class="ttc" id="aclassSVF_1_1Options_html_a3bbd106de519cb8d00f33e82f14d279b"><div class="ttname"><a href="classSVF_1_1Options.html#a3bbd106de519cb8d00f33e82f14d279b">SVF::Options::CxtBudget</a></div><div class="ttdeci">static const Option&lt; u32_t &gt; CxtBudget</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00081">Options.h:81</a></div></div>
2287
2288
  <div class="ttc" id="anamespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00059">SVFType.h:59</a></div></div>
@@ -2310,7 +2311,7 @@ Additional Inherited Members</h2></td></tr>
2310
2311
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_aa725a0c9426e8615cbc078c88561f66a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a">SVF::PointerAnalysis::isInRecursion</a></div><div class="ttdeci">bool isInRecursion(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00414">PointerAnalysis.h:414</a></div></div>
2311
2312
  <div class="ttc" id="aclassSVF_1_1CondStdSet_html_ae11deddad534be115d29daad08c90599"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#ae11deddad534be115d29daad08c90599">SVF::CondStdSet::set</a></div><div class="ttdeci">void set(const Element &amp;var)</div><div class="ttdoc">Add the element into set.</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00158">ConditionalPT.h:158</a></div></div>
2312
2313
  <div class="ttc" id="aclassSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
2313
- <div class="ttc" id="aclassSVF_1_1ContextDDA_html_a2ce589a1d63a5126e178fc47527e0f92"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92">SVF::ContextDDA::getCSIDAtCall</a></div><div class="ttdeci">CallSiteID getCSIDAtCall(CxtLocDPItem &amp;dpm, const SVFGEdge *edge)</div><div class="ttdoc">get callsite id from call, return 0 if it is a spurious call edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00209">ContextDDA.cpp:209</a></div></div>
2314
+ <div class="ttc" id="aclassSVF_1_1ContextDDA_html_a2ce589a1d63a5126e178fc47527e0f92"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92">SVF::ContextDDA::getCSIDAtCall</a></div><div class="ttdeci">CallSiteID getCSIDAtCall(CxtLocDPItem &amp;dpm, const SVFGEdge *edge)</div><div class="ttdoc">get callsite id from call, return 0 if it is a spurious call edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00210">ContextDDA.cpp:210</a></div></div>
2314
2315
  <div class="ttc" id="aclassSVF_1_1PTACallGraph_html_a711bd8ad385f8454fbfcd20f134efe1b"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a711bd8ad385f8454fbfcd20f134efe1b">SVF::PTACallGraph::getCallSiteID</a></div><div class="ttdeci">CallSiteID getCallSiteID(const CallICFGNode *cs, const SVFFunction *callee) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00344">PTACallGraph.h:344</a></div></div>
2315
2316
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
2316
2317
  <div class="ttc" id="aclassSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00101">GenericGraph.h:101</a></div></div>