svf-tools 1.0.885 → 1.0.886

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 (232) hide show
  1. package/SVF-doxygen/html/CppUtil_8cpp_source.html +23 -43
  2. package/SVF-doxygen/html/CppUtil_8h.html +0 -5
  3. package/SVF-doxygen/html/CppUtil_8h_source.html +22 -27
  4. package/SVF-doxygen/html/DCHG_8cpp_source.html +2 -2
  5. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +5 -5
  6. package/SVF-doxygen/html/ObjTypeInference_8h_source.html +5 -5
  7. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +2 -2
  8. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference-members.html +2 -2
  9. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +18 -18
  10. package/SVF-doxygen/html/functions_f.html +1 -1
  11. package/SVF-doxygen/html/functions_func_f.html +1 -1
  12. package/SVF-doxygen/html/functions_o.html +1 -1
  13. package/SVF-doxygen/html/functions_type_o.html +1 -1
  14. package/SVF-doxygen/html/globals_vars.html +3 -3
  15. package/SVF-doxygen/html/globals_z.html +3 -3
  16. package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +21 -90
  17. package/SVF-doxygen/html/namespaceSVF_1_1cppUtil_1_1ctir.html +4 -4
  18. package/SVF-doxygen/html/namespacemembers_func_i.html +3 -6
  19. package/SVF-doxygen/html/namespacemembers_func_t.html +0 -3
  20. package/SVF-doxygen/html/namespacemembers_i.html +6 -9
  21. package/SVF-doxygen/html/namespacemembers_t.html +0 -3
  22. package/SVF-doxygen/html/search/all_10.js +325 -325
  23. package/SVF-doxygen/html/search/all_11.js +228 -228
  24. package/SVF-doxygen/html/search/all_12.js +570 -570
  25. package/SVF-doxygen/html/search/all_13.js +207 -208
  26. package/SVF-doxygen/html/search/all_14.js +68 -68
  27. package/SVF-doxygen/html/search/all_15.js +176 -176
  28. package/SVF-doxygen/html/search/all_16.js +78 -78
  29. package/SVF-doxygen/html/search/all_17.js +1 -1
  30. package/SVF-doxygen/html/search/all_18.js +1 -1
  31. package/SVF-doxygen/html/search/all_19.js +26 -26
  32. package/SVF-doxygen/html/search/all_1a.js +182 -182
  33. package/SVF-doxygen/html/search/all_6.js +1 -1
  34. package/SVF-doxygen/html/search/all_9.js +144 -145
  35. package/SVF-doxygen/html/search/all_a.js +46 -46
  36. package/SVF-doxygen/html/search/all_b.js +26 -26
  37. package/SVF-doxygen/html/search/all_c.js +115 -115
  38. package/SVF-doxygen/html/search/all_d.js +203 -203
  39. package/SVF-doxygen/html/search/all_e.js +209 -209
  40. package/SVF-doxygen/html/search/all_f.js +122 -122
  41. package/SVF-doxygen/html/search/classes_0.js +29 -29
  42. package/SVF-doxygen/html/search/classes_1.js +12 -12
  43. package/SVF-doxygen/html/search/classes_10.js +74 -74
  44. package/SVF-doxygen/html/search/classes_11.js +14 -14
  45. package/SVF-doxygen/html/search/classes_12.js +2 -2
  46. package/SVF-doxygen/html/search/classes_13.js +10 -10
  47. package/SVF-doxygen/html/search/classes_14.js +20 -20
  48. package/SVF-doxygen/html/search/classes_15.js +1 -1
  49. package/SVF-doxygen/html/search/classes_2.js +78 -78
  50. package/SVF-doxygen/html/search/classes_3.js +37 -37
  51. package/SVF-doxygen/html/search/classes_4.js +9 -9
  52. package/SVF-doxygen/html/search/classes_5.js +28 -28
  53. package/SVF-doxygen/html/search/classes_6.js +104 -104
  54. package/SVF-doxygen/html/search/classes_7.js +38 -38
  55. package/SVF-doxygen/html/search/classes_8.js +58 -58
  56. package/SVF-doxygen/html/search/classes_9.js +1 -1
  57. package/SVF-doxygen/html/search/classes_a.js +12 -12
  58. package/SVF-doxygen/html/search/classes_b.js +29 -29
  59. package/SVF-doxygen/html/search/classes_c.js +6 -6
  60. package/SVF-doxygen/html/search/classes_d.js +19 -19
  61. package/SVF-doxygen/html/search/classes_e.js +36 -36
  62. package/SVF-doxygen/html/search/classes_f.js +25 -25
  63. package/SVF-doxygen/html/search/defines_0.js +3 -3
  64. package/SVF-doxygen/html/search/defines_1.js +3 -3
  65. package/SVF-doxygen/html/search/defines_10.js +2 -2
  66. package/SVF-doxygen/html/search/defines_2.js +30 -30
  67. package/SVF-doxygen/html/search/defines_3.js +20 -20
  68. package/SVF-doxygen/html/search/defines_4.js +3 -3
  69. package/SVF-doxygen/html/search/defines_5.js +4 -4
  70. package/SVF-doxygen/html/search/defines_6.js +2 -2
  71. package/SVF-doxygen/html/search/defines_7.js +5 -5
  72. package/SVF-doxygen/html/search/defines_8.js +11 -11
  73. package/SVF-doxygen/html/search/defines_9.js +9 -9
  74. package/SVF-doxygen/html/search/defines_a.js +2 -2
  75. package/SVF-doxygen/html/search/defines_b.js +1 -1
  76. package/SVF-doxygen/html/search/defines_c.js +4 -4
  77. package/SVF-doxygen/html/search/defines_d.js +2 -2
  78. package/SVF-doxygen/html/search/defines_e.js +8 -8
  79. package/SVF-doxygen/html/search/defines_f.js +4 -4
  80. package/SVF-doxygen/html/search/enums_0.js +4 -4
  81. package/SVF-doxygen/html/search/enums_1.js +2 -2
  82. package/SVF-doxygen/html/search/enums_10.js +1 -1
  83. package/SVF-doxygen/html/search/enums_11.js +1 -1
  84. package/SVF-doxygen/html/search/enums_2.js +8 -8
  85. package/SVF-doxygen/html/search/enums_3.js +1 -1
  86. package/SVF-doxygen/html/search/enums_4.js +4 -4
  87. package/SVF-doxygen/html/search/enums_5.js +1 -1
  88. package/SVF-doxygen/html/search/enums_6.js +2 -2
  89. package/SVF-doxygen/html/search/enums_7.js +2 -2
  90. package/SVF-doxygen/html/search/enums_8.js +4 -4
  91. package/SVF-doxygen/html/search/enums_9.js +1 -1
  92. package/SVF-doxygen/html/search/enums_a.js +1 -1
  93. package/SVF-doxygen/html/search/enums_b.js +7 -7
  94. package/SVF-doxygen/html/search/enums_c.js +1 -1
  95. package/SVF-doxygen/html/search/enums_d.js +4 -4
  96. package/SVF-doxygen/html/search/enums_e.js +2 -2
  97. package/SVF-doxygen/html/search/enums_f.js +4 -4
  98. package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
  99. package/SVF-doxygen/html/search/enumvalues_1.js +15 -15
  100. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  101. package/SVF-doxygen/html/search/enumvalues_11.js +4 -4
  102. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  103. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  104. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  105. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  106. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  107. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  108. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  109. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  110. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  111. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  112. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  113. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  114. package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
  115. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  116. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  117. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  118. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  119. package/SVF-doxygen/html/search/enumvalues_f.js +47 -47
  120. package/SVF-doxygen/html/search/files_0.js +16 -16
  121. package/SVF-doxygen/html/search/files_1.js +9 -9
  122. package/SVF-doxygen/html/search/files_10.js +8 -8
  123. package/SVF-doxygen/html/search/files_11.js +8 -8
  124. package/SVF-doxygen/html/search/files_12.js +2 -2
  125. package/SVF-doxygen/html/search/files_2.js +58 -58
  126. package/SVF-doxygen/html/search/files_3.js +14 -14
  127. package/SVF-doxygen/html/search/files_4.js +5 -5
  128. package/SVF-doxygen/html/search/files_5.js +13 -13
  129. package/SVF-doxygen/html/search/files_6.js +10 -10
  130. package/SVF-doxygen/html/search/files_7.js +15 -15
  131. package/SVF-doxygen/html/search/files_8.js +13 -13
  132. package/SVF-doxygen/html/search/files_9.js +18 -18
  133. package/SVF-doxygen/html/search/files_a.js +3 -3
  134. package/SVF-doxygen/html/search/files_b.js +4 -4
  135. package/SVF-doxygen/html/search/files_c.js +20 -20
  136. package/SVF-doxygen/html/search/files_d.js +4 -4
  137. package/SVF-doxygen/html/search/files_e.js +62 -62
  138. package/SVF-doxygen/html/search/files_f.js +8 -8
  139. package/SVF-doxygen/html/search/functions_0.js +13 -13
  140. package/SVF-doxygen/html/search/functions_1.js +374 -374
  141. package/SVF-doxygen/html/search/functions_10.js +140 -140
  142. package/SVF-doxygen/html/search/functions_11.js +142 -142
  143. package/SVF-doxygen/html/search/functions_12.js +299 -299
  144. package/SVF-doxygen/html/search/functions_13.js +73 -74
  145. package/SVF-doxygen/html/search/functions_14.js +39 -39
  146. package/SVF-doxygen/html/search/functions_15.js +72 -72
  147. package/SVF-doxygen/html/search/functions_16.js +38 -38
  148. package/SVF-doxygen/html/search/functions_17.js +3 -3
  149. package/SVF-doxygen/html/search/functions_18.js +182 -182
  150. package/SVF-doxygen/html/search/functions_2.js +95 -95
  151. package/SVF-doxygen/html/search/functions_3.js +266 -266
  152. package/SVF-doxygen/html/search/functions_4.js +84 -84
  153. package/SVF-doxygen/html/search/functions_5.js +57 -57
  154. package/SVF-doxygen/html/search/functions_6.js +65 -65
  155. package/SVF-doxygen/html/search/functions_7.js +867 -867
  156. package/SVF-doxygen/html/search/functions_8.js +164 -164
  157. package/SVF-doxygen/html/search/functions_9.js +439 -440
  158. package/SVF-doxygen/html/search/functions_a.js +30 -30
  159. package/SVF-doxygen/html/search/functions_b.js +2 -2
  160. package/SVF-doxygen/html/search/functions_c.js +25 -25
  161. package/SVF-doxygen/html/search/functions_d.js +81 -81
  162. package/SVF-doxygen/html/search/functions_e.js +36 -36
  163. package/SVF-doxygen/html/search/functions_f.js +58 -58
  164. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  165. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  166. package/SVF-doxygen/html/search/related_0.js +4 -4
  167. package/SVF-doxygen/html/search/related_1.js +2 -2
  168. package/SVF-doxygen/html/search/related_2.js +3 -3
  169. package/SVF-doxygen/html/search/related_3.js +2 -2
  170. package/SVF-doxygen/html/search/related_4.js +2 -2
  171. package/SVF-doxygen/html/search/related_5.js +1 -1
  172. package/SVF-doxygen/html/search/related_6.js +2 -2
  173. package/SVF-doxygen/html/search/related_7.js +4 -4
  174. package/SVF-doxygen/html/search/related_8.js +2 -2
  175. package/SVF-doxygen/html/search/related_9.js +4 -4
  176. package/SVF-doxygen/html/search/related_a.js +19 -19
  177. package/SVF-doxygen/html/search/related_b.js +4 -4
  178. package/SVF-doxygen/html/search/related_c.js +2 -2
  179. package/SVF-doxygen/html/search/related_d.js +12 -12
  180. package/SVF-doxygen/html/search/related_e.js +2 -2
  181. package/SVF-doxygen/html/search/related_f.js +2 -2
  182. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  183. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  184. package/SVF-doxygen/html/search/typedefs_10.js +63 -63
  185. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  186. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  187. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  188. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  189. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  190. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  191. package/SVF-doxygen/html/search/typedefs_4.js +18 -18
  192. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  193. package/SVF-doxygen/html/search/typedefs_6.js +57 -57
  194. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  195. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  196. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  197. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  198. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  199. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  200. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  201. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  202. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  203. package/SVF-doxygen/html/search/variables_0.js +182 -182
  204. package/SVF-doxygen/html/search/variables_1.js +76 -76
  205. package/SVF-doxygen/html/search/variables_10.js +98 -98
  206. package/SVF-doxygen/html/search/variables_11.js +46 -46
  207. package/SVF-doxygen/html/search/variables_12.js +93 -93
  208. package/SVF-doxygen/html/search/variables_13.js +76 -76
  209. package/SVF-doxygen/html/search/variables_14.js +14 -14
  210. package/SVF-doxygen/html/search/variables_15.js +49 -49
  211. package/SVF-doxygen/html/search/variables_16.js +11 -11
  212. package/SVF-doxygen/html/search/variables_17.js +1 -1
  213. package/SVF-doxygen/html/search/variables_18.js +17 -17
  214. package/SVF-doxygen/html/search/variables_2.js +41 -41
  215. package/SVF-doxygen/html/search/variables_3.js +142 -142
  216. package/SVF-doxygen/html/search/variables_4.js +51 -51
  217. package/SVF-doxygen/html/search/variables_5.js +39 -39
  218. package/SVF-doxygen/html/search/variables_6.js +66 -66
  219. package/SVF-doxygen/html/search/variables_7.js +34 -34
  220. package/SVF-doxygen/html/search/variables_8.js +8 -8
  221. package/SVF-doxygen/html/search/variables_9.js +78 -78
  222. package/SVF-doxygen/html/search/variables_a.js +4 -4
  223. package/SVF-doxygen/html/search/variables_b.js +10 -10
  224. package/SVF-doxygen/html/search/variables_c.js +45 -45
  225. package/SVF-doxygen/html/search/variables_d.js +57 -57
  226. package/SVF-doxygen/html/search/variables_e.js +123 -123
  227. package/SVF-doxygen/html/search/variables_f.js +31 -31
  228. package/package.json +1 -1
  229. package/svf-llvm/include/SVF-LLVM/CppUtil.h +0 -4
  230. package/svf-llvm/include/SVF-LLVM/ObjTypeInference.h +2 -2
  231. package/svf-llvm/lib/CppUtil.cpp +0 -23
  232. package/svf-llvm/lib/ObjTypeInference.cpp +3 -3
@@ -849,46 +849,28 @@ $(function() {
849
849
  <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">return</span> foo-&gt;getName().str() == <a class="code" href="CppUtil_8cpp.html#a7972d88aaaa4644ee22e5b95ac465a80">dyncast</a>;</div>
850
850
  <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;}</div>
851
851
  <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; </div>
852
- <div class="line"><a name="l00853"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5"> 853</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5">cppUtil::isNewAlloc</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *foo)</div>
852
+ <div class="line"><a name="l00853"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b"> 853</a></span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">cppUtil::extractClsNameFromDynCast</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* callBase)</div>
853
853
  <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;{</div>
854
- <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; assert(foo-&gt;hasName() &amp;&amp; <span class="stringliteral">&quot;foo does not have a name? possible indirect call&quot;</span>);</div>
855
- <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordflow">return</span> foo-&gt;getName().str() == <a class="code" href="CppUtil_8cpp.html#a809a0913c3e4226ef8fd2df7aaa63d8d">znwm</a>;</div>
856
- <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160;}</div>
857
- <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; </div>
858
- <div class="line"><a name="l00864"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b"> 864</a></span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">cppUtil::extractClsNameFromDynCast</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* callBase)</div>
859
- <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;{</div>
860
- <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *tgtCast = callBase-&gt;getArgOperand(2);</div>
861
- <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;valueStr = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#afa2f8c8ab19c75547c26ede53b9f6159">LLVMUtil::dumpValue</a>(tgtCast);</div>
862
- <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> leftPos = valueStr.find(<a class="code" href="CppUtil_8cpp.html#ac6c8cb5e26437d51d4d2e0112ebfdbc6">ztilabel</a>);</div>
863
- <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; assert(leftPos != (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) std::string::npos &amp;&amp; <span class="stringliteral">&quot;does not find ZTI for dyncast?&quot;</span>);</div>
864
- <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rightPos = leftPos;</div>
865
- <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <span class="keywordflow">while</span> (rightPos &lt; valueStr.size() &amp;&amp; valueStr[rightPos] != <span class="charliteral">&#39; &#39;</span>) rightPos++;</div>
866
- <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;substr = valueStr.substr(leftPos, rightPos - leftPos);</div>
867
- <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> demangleName = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">llvm::demangle</a>(substr);</div>
868
- <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;realName = demangleName.substr(<a class="code" href="CppUtil_8cpp.html#af6dcab87a299097747c63a654197ae66">ztiprefix</a>.size(),</div>
869
- <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; demangleName.size() - <a class="code" href="CppUtil_8cpp.html#af6dcab87a299097747c63a654197ae66">ztiprefix</a>.size());</div>
870
- <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; assert(realName != <span class="stringliteral">&quot;&quot;</span> &amp;&amp; <span class="stringliteral">&quot;real name for dyncast empty?&quot;</span>);</div>
871
- <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">return</span> realName;</div>
872
- <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160;}</div>
873
- <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; </div>
874
- <div class="line"><a name="l00880"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173"> 880</a></span>&#160;<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<a class="code" href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">cppUtil::cppClsNameToType</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;className)</div>
875
- <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;{</div>
876
- <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a> *classTy = StructType::getTypeByName(LLVMModuleSet::getLLVMModuleSet()-&gt;getContext(),</div>
877
- <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <a class="code" href="CppUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a> + className);</div>
878
- <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">return</span> classTy ? classTy : LLVMModuleSet::getLLVMModuleSet()-&gt;getTypeInference()-&gt;ptrType();</div>
879
- <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160;}</div>
880
- <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; </div>
881
- <div class="line"><a name="l00887"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572"> 887</a></span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572">cppUtil::typeToClsName</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *ty)</div>
882
- <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160;{</div>
883
- <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span> *stTy = SVFUtil::dyn_cast&lt;StructType&gt;(ty))</div>
884
- <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; {</div>
885
- <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;typeName = stTy-&gt;getName().str();</div>
886
- <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;className = typeName.substr(</div>
887
- <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <a class="code" href="CppUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a>.size(), typeName.size() - <a class="code" href="CppUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a>.size());</div>
888
- <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordflow">return</span> className;</div>
889
- <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; }</div>
890
- <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div>
891
- <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;}</div>
854
+ <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *tgtCast = callBase-&gt;getArgOperand(2);</div>
855
+ <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;valueStr = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#afa2f8c8ab19c75547c26ede53b9f6159">LLVMUtil::dumpValue</a>(tgtCast);</div>
856
+ <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> leftPos = valueStr.find(<a class="code" href="CppUtil_8cpp.html#ac6c8cb5e26437d51d4d2e0112ebfdbc6">ztilabel</a>);</div>
857
+ <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; assert(leftPos != (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) std::string::npos &amp;&amp; <span class="stringliteral">&quot;does not find ZTI for dyncast?&quot;</span>);</div>
858
+ <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rightPos = leftPos;</div>
859
+ <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="keywordflow">while</span> (rightPos &lt; valueStr.size() &amp;&amp; valueStr[rightPos] != <span class="charliteral">&#39; &#39;</span>) rightPos++;</div>
860
+ <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;substr = valueStr.substr(leftPos, rightPos - leftPos);</div>
861
+ <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> demangleName = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">llvm::demangle</a>(substr);</div>
862
+ <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;realName = demangleName.substr(<a class="code" href="CppUtil_8cpp.html#af6dcab87a299097747c63a654197ae66">ztiprefix</a>.size(),</div>
863
+ <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; demangleName.size() - <a class="code" href="CppUtil_8cpp.html#af6dcab87a299097747c63a654197ae66">ztiprefix</a>.size());</div>
864
+ <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; assert(realName != <span class="stringliteral">&quot;&quot;</span> &amp;&amp; <span class="stringliteral">&quot;real name for dyncast empty?&quot;</span>);</div>
865
+ <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="keywordflow">return</span> realName;</div>
866
+ <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;}</div>
867
+ <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; </div>
868
+ <div class="line"><a name="l00869"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173"> 869</a></span>&#160;<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<a class="code" href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">cppUtil::cppClsNameToType</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;className)</div>
869
+ <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;{</div>
870
+ <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a> *classTy = StructType::getTypeByName(LLVMModuleSet::getLLVMModuleSet()-&gt;getContext(),</div>
871
+ <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <a class="code" href="CppUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a> + className);</div>
872
+ <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="keywordflow">return</span> classTy ? classTy : LLVMModuleSet::getLLVMModuleSet()-&gt;getTypeInference()-&gt;ptrType();</div>
873
+ <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160;}</div>
892
874
  </div><!-- fragment --></div><!-- contents -->
893
875
  <div class="ttc" id="aCppUtil_8cpp_html_ae64b669f778ac066473456de94f72d48"><div class="ttname"><a href="CppUtil_8cpp.html#ae64b669f778ac066473456de94f72d48">znkst5Label</a></div><div class="ttdeci">const std::string znkst5Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00070">CppUtil.cpp:70</a></div></div>
894
876
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a374e7c0b161a77f4d693e13b99ed6283"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a374e7c0b161a77f4d693e13b99ed6283">SVF::cppUtil::getVCallVtblPtr</a></div><div class="ttdeci">const Value * getVCallVtblPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00472">CppUtil.cpp:472</a></div></div>
@@ -911,7 +893,7 @@ $(function() {
911
893
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a4e1785295e2695fae72758d8bbe4f7ac"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a4e1785295e2695fae72758d8bbe4f7ac">SVF::cppUtil::classTyHasVTable</a></div><div class="ttdeci">bool classTyHasVTable(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00504">CppUtil.cpp:504</a></div></div>
912
894
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
913
895
  <div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html">SVF::cppUtil::DemangledName</a></div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00047">CppUtil.h:47</a></div></div>
914
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26ccd6abf127a7ccc34a973f7b13161b"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">SVF::cppUtil::extractClsNameFromDynCast</a></div><div class="ttdeci">std::string extractClsNameFromDynCast(const CallBase *callBase)</div><div class="ttdoc">extract class name from cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00864">CppUtil.cpp:864</a></div></div>
896
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26ccd6abf127a7ccc34a973f7b13161b"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">SVF::cppUtil::extractClsNameFromDynCast</a></div><div class="ttdeci">std::string extractClsNameFromDynCast(const CallBase *callBase)</div><div class="ttdoc">extract class name from cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00853">CppUtil.cpp:853</a></div></div>
915
897
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad8ee8de153df3f1bbdebb67185a2731c"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad8ee8de153df3f1bbdebb67185a2731c">SVF::LLVMUtil::isConstantObjSym</a></div><div class="ttdeci">bool isConstantObjSym(const SVFValue *val)</div><div class="ttdoc">Check whether this value points-to a constant object.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00825">LLVMUtil.cpp:825</a></div></div>
916
898
  <div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
917
899
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a917c4bd2d5fd1354b5069bf0a68533d9"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a917c4bd2d5fd1354b5069bf0a68533d9">SVF::cppUtil::isCPPThunkFunction</a></div><div class="ttdeci">bool isCPPThunkFunction(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00318">CppUtil.cpp:318</a></div></div>
@@ -957,14 +939,13 @@ $(function() {
957
939
  <div class="ttc" id="aCppUtil_8cpp_html_a5f8da60b0fcc28445f508f4e42513a82"><div class="ttname"><a href="CppUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a></div><div class="ttdeci">const std::string clsName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00055">CppUtil.cpp:55</a></div></div>
958
940
  <div class="ttc" id="aCppUtil_8cpp_html_a7972d88aaaa4644ee22e5b95ac465a80"><div class="ttname"><a href="CppUtil_8cpp.html#a7972d88aaaa4644ee22e5b95ac465a80">dyncast</a></div><div class="ttdeci">const std::string dyncast</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00081">CppUtil.cpp:81</a></div></div>
959
941
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_aab1dce633f9a03796c208b6fba2bd2b4"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#aab1dce633f9a03796c208b6fba2bd2b4">SVF::cppUtil::isVirtualCallSite</a></div><div class="ttdeci">bool isVirtualCallSite(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00287">CppUtil.cpp:287</a></div></div>
960
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abccc29dae7b845f19bf588b013191173"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">SVF::cppUtil::cppClsNameToType</a></div><div class="ttdeci">const Type * cppClsNameToType(const std::string &amp;className)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00880">CppUtil.cpp:880</a></div></div>
942
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abccc29dae7b845f19bf588b013191173"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">SVF::cppUtil::cppClsNameToType</a></div><div class="ttdeci">const Type * cppClsNameToType(const std::string &amp;className)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00869">CppUtil.cpp:869</a></div></div>
961
943
  <div class="ttc" id="aCppUtil_8cpp_html_a211c0223a37893d84fb5e2fd2f9fc76b"><div class="ttname"><a href="CppUtil_8cpp.html#a211c0223a37893d84fb5e2fd2f9fc76b">vtblLabelBeforeDemangle</a></div><div class="ttdeci">const std::string vtblLabelBeforeDemangle</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00050">CppUtil.cpp:50</a></div></div>
962
944
  <div class="ttc" id="aCppUtil_8cpp_html_a2aa14572bb011847c1e5920aae880bfa"><div class="ttname"><a href="CppUtil_8cpp.html#a2aa14572bb011847c1e5920aae880bfa">VThunkFuncLabel</a></div><div class="ttdeci">const std::string VThunkFuncLabel</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00047">CppUtil.cpp:47</a></div></div>
963
945
  <div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
964
946
  <div class="ttc" id="aCppUtil_8cpp_html_adced009085794f93e816603380118609"><div class="ttname"><a href="CppUtil_8cpp.html#adced009085794f93e816603380118609">znst14Label</a></div><div class="ttdeci">const std::string znst14Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00066">CppUtil.cpp:66</a></div></div>
965
947
  <div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html_af6117df8aec7f4c077058fa8f00b0243"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#af6117df8aec7f4c077058fa8f00b0243">SVF::cppUtil::DemangledName::isThunkFunc</a></div><div class="ttdeci">bool isThunkFunc</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00051">CppUtil.h:51</a></div></div>
966
948
  <div class="ttc" id="anamespaceSVF_html_ac4e93e1fec646ff222940a663843921b"><div class="ttname"><a href="namespaceSVF.html#ac4e93e1fec646ff222940a663843921b">SVF::GetElementPtrInst</a></div><div class="ttdeci">llvm::GetElementPtrInst GetElementPtrInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00161">BasicTypes.h:161</a></div></div>
967
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a4f7be63c320fca5a7d981a03999107b5"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5">SVF::cppUtil::isNewAlloc</a></div><div class="ttdeci">bool isNewAlloc(const Function *foo)</div><div class="ttdoc">whether foo is a cpp heap allocation (new)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00853">CppUtil.cpp:853</a></div></div>
968
949
  <div class="ttc" id="aCppUtil_8cpp_html_a61c158146c07e77234eb4a2f9b940821"><div class="ttname"><a href="CppUtil_8cpp.html#a61c158146c07e77234eb4a2f9b940821">structName</a></div><div class="ttdeci">const std::string structName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00056">CppUtil.cpp:56</a></div></div>
969
950
  <div class="ttc" id="anamespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00124">BasicTypes.h:124</a></div></div>
970
951
  <div class="ttc" id="aLLVMModule_8h_html"><div class="ttname"><a href="LLVMModule_8h.html">LLVMModule.h</a></div></div>
@@ -989,7 +970,6 @@ $(function() {
989
970
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_af19bec54621f4605bac4feaf9f73803c"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#af19bec54621f4605bac4feaf9f73803c">SVF::cppUtil::isDestructor</a></div><div class="ttdeci">bool isDestructor(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00444">CppUtil.cpp:444</a></div></div>
990
971
  <div class="ttc" id="aCppUtil_8cpp_html_a1236129f13ba32542603b56b7ad60fd2"><div class="ttname"><a href="CppUtil_8cpp.html#a1236129f13ba32542603b56b7ad60fd2">znkst23Label</a></div><div class="ttdeci">const std::string znkst23Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00073">CppUtil.cpp:73</a></div></div>
991
972
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26c3ceb82a398663284690c898a5354d"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26c3ceb82a398663284690c898a5354d">SVF::cppUtil::getConstructorThisPtr</a></div><div class="ttdeci">const Argument * getConstructorThisPtr(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00396">CppUtil.cpp:396</a></div></div>
992
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abeb267a39339b04eec09c6a2a6ceb572"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572">SVF::cppUtil::typeToClsName</a></div><div class="ttdeci">std::string typeToClsName(const Type *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00887">CppUtil.cpp:887</a></div></div>
993
973
  <div class="ttc" id="aCppUtil_8cpp_html_a809a0913c3e4226ef8fd2df7aaa63d8d"><div class="ttname"><a href="CppUtil_8cpp.html#a809a0913c3e4226ef8fd2df7aaa63d8d">znwm</a></div><div class="ttdeci">const std::string znwm</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00059">CppUtil.cpp:59</a></div></div>
994
974
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a8b5f65818c69c70e07ffbc2bbe1c7c91"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a8b5f65818c69c70e07ffbc2bbe1c7c91">SVF::ObjTypeInference::inferThisPtrClsName</a></div><div class="ttdeci">Set&lt; std::string &gt; &amp; inferThisPtrClsName(const Value *thisPtr)</div><div class="ttdoc">get or infer the class names of thisptr</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00603">ObjTypeInference.cpp:603</a></div></div>
995
975
  <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
@@ -153,16 +153,11 @@ Functions</h2></td></tr>
153
153
  <tr class="memitem:afd5fcc8fe98df5f057ff2e04c68b49b5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#afd5fcc8fe98df5f057ff2e04c68b49b5">SVF::cppUtil::isDynCast</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *foo)</td></tr>
154
154
  <tr class="memdesc:afd5fcc8fe98df5f057ff2e04c68b49b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether foo is a cpp dyncast function <a href="namespaceSVF_1_1cppUtil.html#afd5fcc8fe98df5f057ff2e04c68b49b5">More...</a><br /></td></tr>
155
155
  <tr class="separator:afd5fcc8fe98df5f057ff2e04c68b49b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
156
- <tr class="memitem:a4f7be63c320fca5a7d981a03999107b5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5">SVF::cppUtil::isNewAlloc</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *foo)</td></tr>
157
- <tr class="memdesc:a4f7be63c320fca5a7d981a03999107b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether foo is a cpp heap allocation (new) <a href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5">More...</a><br /></td></tr>
158
- <tr class="separator:a4f7be63c320fca5a7d981a03999107b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
159
156
  <tr class="memitem:a26ccd6abf127a7ccc34a973f7b13161b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">SVF::cppUtil::extractClsNameFromDynCast</a> (const <a class="el" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a> *callBase)</td></tr>
160
157
  <tr class="memdesc:a26ccd6abf127a7ccc34a973f7b13161b"><td class="mdescLeft">&#160;</td><td class="mdescRight">extract class name from cpp dyncast function <a href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">More...</a><br /></td></tr>
161
158
  <tr class="separator:a26ccd6abf127a7ccc34a973f7b13161b"><td class="memSeparator" colspan="2">&#160;</td></tr>
162
159
  <tr class="memitem:abccc29dae7b845f19bf588b013191173"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">SVF::cppUtil::cppClsNameToType</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;className)</td></tr>
163
160
  <tr class="separator:abccc29dae7b845f19bf588b013191173"><td class="memSeparator" colspan="2">&#160;</td></tr>
164
- <tr class="memitem:abeb267a39339b04eec09c6a2a6ceb572"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572">SVF::cppUtil::typeToClsName</a> (const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *ty)</td></tr>
165
- <tr class="separator:abeb267a39339b04eec09c6a2a6ceb572"><td class="memSeparator" colspan="2">&#160;</td></tr>
166
161
  </table><table class="memberdecls">
167
162
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
168
163
  Variables</h2></td></tr>
@@ -212,29 +212,26 @@ $(function() {
212
212
  <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
213
213
  <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;bool <a class="code" href="namespaceSVF_1_1cppUtil.html#afd5fcc8fe98df5f057ff2e04c68b49b5">isDynCast</a>(const Function *foo);</div>
214
214
  <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
215
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;bool <a class="code" href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5">isNewAlloc</a>(const Function *foo);</div>
215
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">extractClsNameFromDynCast</a>(const CallBase* callBase);</div>
216
216
  <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
217
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">extractClsNameFromDynCast</a>(const CallBase* callBase);</div>
217
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;const <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<a class="code" href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">cppClsNameToType</a>(const std::string &amp;className);</div>
218
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
218
219
  <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
219
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;const <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<a class="code" href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">cppClsNameToType</a>(const std::string &amp;className);</div>
220
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
221
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572">typeToClsName</a>(const Type *ty);</div>
222
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
223
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
224
- <div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html"> 164</a></span>&#160;namespace ctir</div>
225
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;{</div>
226
- <div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a0cd5347bc8043d4306e66a4a96005ace"> 169</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a0cd5347bc8043d4306e66a4a96005ace">derefMDName</a> = <span class="stringliteral">&quot;ctir&quot;</span>;</div>
227
- <div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html#aa4630844aa25aa4801659304a2552058"> 172</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil_1_1ctir.html#aa4630844aa25aa4801659304a2552058">vtMDName</a> = <span class="stringliteral">&quot;ctir.vt&quot;</span>;</div>
228
- <div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a02b3f4190d325c921922c25e319dc8d9"> 175</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a02b3f4190d325c921922c25e319dc8d9">vtInitMDName</a> = <span class="stringliteral">&quot;ctir.vt.init&quot;</span>;</div>
220
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
221
+ <div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html"> 160</a></span>&#160;namespace ctir</div>
222
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div>
223
+ <div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a0cd5347bc8043d4306e66a4a96005ace"> 165</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a0cd5347bc8043d4306e66a4a96005ace">derefMDName</a> = <span class="stringliteral">&quot;ctir&quot;</span>;</div>
224
+ <div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html#aa4630844aa25aa4801659304a2552058"> 168</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil_1_1ctir.html#aa4630844aa25aa4801659304a2552058">vtMDName</a> = <span class="stringliteral">&quot;ctir.vt&quot;</span>;</div>
225
+ <div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a02b3f4190d325c921922c25e319dc8d9"> 171</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a02b3f4190d325c921922c25e319dc8d9">vtInitMDName</a> = <span class="stringliteral">&quot;ctir.vt.init&quot;</span>;</div>
226
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
227
+ <div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a05c7c51164928786d70713094db7f3f3"> 174</a></span>&#160;<span class="keyword">const</span> uint32_t <a class="code" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a05c7c51164928786d70713094db7f3f3">moduleFlagValue</a> = 1;</div>
228
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;} <span class="comment">// namespace ctir</span></div>
229
229
  <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
230
- <div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a05c7c51164928786d70713094db7f3f3"> 178</a></span>&#160;<span class="keyword">const</span> uint32_t <a class="code" href="namespaceSVF_1_1cppUtil_1_1ctir.html#a05c7c51164928786d70713094db7f3f3">moduleFlagValue</a> = 1;</div>
231
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;} <span class="comment">// namespace ctir</span></div>
230
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;} <span class="comment">// End namespace cppUtil</span></div>
231
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
232
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;} <span class="comment">// End namespace SVF</span></div>
232
233
  <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
233
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;} <span class="comment">// End namespace cppUtil</span></div>
234
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; </div>
235
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;} <span class="comment">// End namespace SVF</span></div>
236
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
237
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* CPPUtil_H_ */</span><span class="preprocessor"></span></div>
234
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* CPPUtil_H_ */</span><span class="preprocessor"></span></div>
238
235
  </div><!-- fragment --></div><!-- contents -->
239
236
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a374e7c0b161a77f4d693e13b99ed6283"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a374e7c0b161a77f4d693e13b99ed6283">SVF::cppUtil::getVCallVtblPtr</a></div><div class="ttdeci">const Value * getVCallVtblPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00472">CppUtil.cpp:472</a></div></div>
240
237
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_aeef0f5c6486379043a7d47b0635f2667"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#aeef0f5c6486379043a7d47b0635f2667">SVF::cppUtil::isValVtbl</a></div><div class="ttdeci">bool isValVtbl(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00271">CppUtil.cpp:271</a></div></div>
@@ -245,13 +242,13 @@ $(function() {
245
242
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a4e1785295e2695fae72758d8bbe4f7ac"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a4e1785295e2695fae72758d8bbe4f7ac">SVF::cppUtil::classTyHasVTable</a></div><div class="ttdeci">bool classTyHasVTable(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00504">CppUtil.cpp:504</a></div></div>
246
243
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
247
244
  <div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html">SVF::cppUtil::DemangledName</a></div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00047">CppUtil.h:47</a></div></div>
248
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26ccd6abf127a7ccc34a973f7b13161b"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">SVF::cppUtil::extractClsNameFromDynCast</a></div><div class="ttdeci">std::string extractClsNameFromDynCast(const CallBase *callBase)</div><div class="ttdoc">extract class name from cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00864">CppUtil.cpp:864</a></div></div>
245
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26ccd6abf127a7ccc34a973f7b13161b"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">SVF::cppUtil::extractClsNameFromDynCast</a></div><div class="ttdeci">std::string extractClsNameFromDynCast(const CallBase *callBase)</div><div class="ttdoc">extract class name from cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00853">CppUtil.cpp:853</a></div></div>
249
246
  <div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
250
247
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a917c4bd2d5fd1354b5069bf0a68533d9"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a917c4bd2d5fd1354b5069bf0a68533d9">SVF::cppUtil::isCPPThunkFunction</a></div><div class="ttdeci">bool isCPPThunkFunction(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00318">CppUtil.cpp:318</a></div></div>
251
248
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_ac9c6d4315e7a1a826add7ed9cf924553"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#ac9c6d4315e7a1a826add7ed9cf924553">SVF::cppUtil::getThunkTarget</a></div><div class="ttdeci">const Function * getThunkTarget(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00324">CppUtil.cpp:324</a></div></div>
252
249
  <div class="ttc" id="acJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
253
250
  <div class="ttc" id="anamespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00084">BasicTypes.h:84</a></div></div>
254
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_a05c7c51164928786d70713094db7f3f3"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#a05c7c51164928786d70713094db7f3f3">SVF::cppUtil::ctir::moduleFlagValue</a></div><div class="ttdeci">const uint32_t moduleFlagValue</div><div class="ttdoc">Value we expect a ctir-annotated module to have.</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00178">CppUtil.h:178</a></div></div>
251
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_a05c7c51164928786d70713094db7f3f3"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#a05c7c51164928786d70713094db7f3f3">SVF::cppUtil::ctir::moduleFlagValue</a></div><div class="ttdeci">const uint32_t moduleFlagValue</div><div class="ttdoc">Value we expect a ctir-annotated module to have.</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00174">CppUtil.h:174</a></div></div>
255
252
  <div class="ttc" id="anamespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00082">BasicTypes.h:82</a></div></div>
256
253
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
257
254
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a985a32c8324d559a87e4ee6e5a1e1efd"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a985a32c8324d559a87e4ee6e5a1e1efd">SVF::cppUtil::isClsNameSource</a></div><div class="ttdeci">bool isClsNameSource(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00793">CppUtil.cpp:793</a></div></div>
@@ -261,16 +258,15 @@ $(function() {
261
258
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a279fa78f7a2e45b458a0358de9c061b8"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a279fa78f7a2e45b458a0358de9c061b8">SVF::cppUtil::getVCallIdx</a></div><div class="ttdeci">s32_t getVCallIdx(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00581">CppUtil.cpp:581</a></div></div>
262
259
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a745a2addadc136075d45c7fb8437af3e"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">SVF::cppUtil::demangle</a></div><div class="ttdeci">struct DemangledName demangle(const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00195">CppUtil.cpp:195</a></div></div>
263
260
  <div class="ttc" id="anamespaceSVF_html_a2b28f48dde0a9a91d251e654ce1f9477"><div class="ttname"><a href="namespaceSVF.html#a2b28f48dde0a9a91d251e654ce1f9477">SVF::ConstantStruct</a></div><div class="ttdeci">llvm::ConstantStruct ConstantStruct</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00105">BasicTypes.h:105</a></div></div>
264
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_a02b3f4190d325c921922c25e319dc8d9"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#a02b3f4190d325c921922c25e319dc8d9">SVF::cppUtil::ctir::vtInitMDName</a></div><div class="ttdeci">const std::string vtInitMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00175">CppUtil.h:175</a></div></div>
261
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_a02b3f4190d325c921922c25e319dc8d9"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#a02b3f4190d325c921922c25e319dc8d9">SVF::cppUtil::ctir::vtInitMDName</a></div><div class="ttdeci">const std::string vtInitMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00171">CppUtil.h:171</a></div></div>
265
262
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a1cf2e4671b16b477cc779c72f2419234"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">SVF::cppUtil::getBeforeBrackets</a></div><div class="ttdeci">std::string getBeforeBrackets(const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00127">CppUtil.cpp:127</a></div></div>
266
263
  <div class="ttc" id="aBasicTypes_8h_html"><div class="ttname"><a href="BasicTypes_8h.html">BasicTypes.h</a></div></div>
267
264
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a8de9a0f0c400240b6cb433b4db3fb3d1"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a8de9a0f0c400240b6cb433b4db3fb3d1">SVF::cppUtil::getClassNameOfThisPtr</a></div><div class="ttdeci">Set&lt; std::string &gt; getClassNameOfThisPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00536">CppUtil.cpp:536</a></div></div>
268
265
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a6f78191ab37ac0d5c20923c5ab646011"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a6f78191ab37ac0d5c20923c5ab646011">SVF::cppUtil::getClassNameFromType</a></div><div class="ttdeci">std::string getClassNameFromType(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00518">CppUtil.cpp:518</a></div></div>
269
266
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_aab1dce633f9a03796c208b6fba2bd2b4"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#aab1dce633f9a03796c208b6fba2bd2b4">SVF::cppUtil::isVirtualCallSite</a></div><div class="ttdeci">bool isVirtualCallSite(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00287">CppUtil.cpp:287</a></div></div>
270
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abccc29dae7b845f19bf588b013191173"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">SVF::cppUtil::cppClsNameToType</a></div><div class="ttdeci">const Type * cppClsNameToType(const std::string &amp;className)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00880">CppUtil.cpp:880</a></div></div>
267
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abccc29dae7b845f19bf588b013191173"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">SVF::cppUtil::cppClsNameToType</a></div><div class="ttdeci">const Type * cppClsNameToType(const std::string &amp;className)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00869">CppUtil.cpp:869</a></div></div>
271
268
  <div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
272
269
  <div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html_af6117df8aec7f4c077058fa8f00b0243"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#af6117df8aec7f4c077058fa8f00b0243">SVF::cppUtil::DemangledName::isThunkFunc</a></div><div class="ttdeci">bool isThunkFunc</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00051">CppUtil.h:51</a></div></div>
273
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a4f7be63c320fca5a7d981a03999107b5"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5">SVF::cppUtil::isNewAlloc</a></div><div class="ttdeci">bool isNewAlloc(const Function *foo)</div><div class="ttdoc">whether foo is a cpp heap allocation (new)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00853">CppUtil.cpp:853</a></div></div>
274
270
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_ae0f374d110eefcfcf4c196c85db6c0d2"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#ae0f374d110eefcfcf4c196c85db6c0d2">SVF::cppUtil::getClassNameFromVtblObj</a></div><div class="ttdeci">std::string getClassNameFromVtblObj(const std::string &amp;vtblName)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00239">CppUtil.cpp:239</a></div></div>
275
271
  <div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html_a5cd207bce618521166e6fa235014b297"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">SVF::cppUtil::DemangledName::className</a></div><div class="ttdeci">std::string className</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00049">CppUtil.h:49</a></div></div>
276
272
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a6457105712e29db5c8a8183239daa013"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a6457105712e29db5c8a8183239daa013">SVF::cppUtil::matchesLabel</a></div><div class="ttdeci">bool matchesLabel(const std::string &amp;foo, const std::string &amp;label)</div><div class="ttdoc">whether foo matches the mangler label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00815">CppUtil.cpp:815</a></div></div>
@@ -281,11 +277,10 @@ $(function() {
281
277
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_af19bec54621f4605bac4feaf9f73803c"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#af19bec54621f4605bac4feaf9f73803c">SVF::cppUtil::isDestructor</a></div><div class="ttdeci">bool isDestructor(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00444">CppUtil.cpp:444</a></div></div>
282
278
  <div class="ttc" id="aSVFValue_8h_html"><div class="ttname"><a href="SVFValue_8h.html">SVFValue.h</a></div></div>
283
279
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26c3ceb82a398663284690c898a5354d"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26c3ceb82a398663284690c898a5354d">SVF::cppUtil::getConstructorThisPtr</a></div><div class="ttdeci">const Argument * getConstructorThisPtr(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00396">CppUtil.cpp:396</a></div></div>
284
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abeb267a39339b04eec09c6a2a6ceb572"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572">SVF::cppUtil::typeToClsName</a></div><div class="ttdeci">std::string typeToClsName(const Type *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00887">CppUtil.cpp:887</a></div></div>
285
280
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_ad1eec7173e805abd0ccc7270ddbf42eb"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#ad1eec7173e805abd0ccc7270ddbf42eb">SVF::cppUtil::getVtblStruct</a></div><div class="ttdeci">const ConstantStruct * getVtblStruct(const GlobalValue *vtbl)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00258">CppUtil.cpp:258</a></div></div>
286
281
  <div class="ttc" id="anamespaceSVF_html_a58cdfbc4160cae08745b67844ac29801"><div class="ttname"><a href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF::Argument</a></div><div class="ttdeci">llvm::Argument Argument</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00144">BasicTypes.h:144</a></div></div>
287
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_aa4630844aa25aa4801659304a2552058"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#aa4630844aa25aa4801659304a2552058">SVF::cppUtil::ctir::vtMDName</a></div><div class="ttdeci">const std::string vtMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00172">CppUtil.h:172</a></div></div>
288
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_a0cd5347bc8043d4306e66a4a96005ace"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#a0cd5347bc8043d4306e66a4a96005ace">SVF::cppUtil::ctir::derefMDName</a></div><div class="ttdeci">const std::string derefMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00169">CppUtil.h:169</a></div></div>
282
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_aa4630844aa25aa4801659304a2552058"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#aa4630844aa25aa4801659304a2552058">SVF::cppUtil::ctir::vtMDName</a></div><div class="ttdeci">const std::string vtMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00168">CppUtil.h:168</a></div></div>
283
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_a0cd5347bc8043d4306e66a4a96005ace"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#a0cd5347bc8043d4306e66a4a96005ace">SVF::cppUtil::ctir::derefMDName</a></div><div class="ttdeci">const std::string derefMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00165">CppUtil.h:165</a></div></div>
289
284
  <!-- start footer part -->
290
285
  <hr class="footer"/><address class="footer"><small>
291
286
  Generated by &#160;<a href="http://www.doxygen.org/index.html">
@@ -1474,8 +1474,8 @@ $(function() {
1474
1474
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a3cbba2eb702a3481478b2590dfffa352"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a3cbba2eb702a3481478b2590dfffa352">SVF::LLVMModuleSet::getSVFGlobalValue</a></div><div class="ttdeci">SVFGlobalValue * getSVFGlobalValue(const GlobalValue *g) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00233">LLVMModule.h:233</a></div></div>
1475
1475
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_ad1eec7173e805abd0ccc7270ddbf42eb"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#ad1eec7173e805abd0ccc7270ddbf42eb">SVF::cppUtil::getVtblStruct</a></div><div class="ttdeci">const ConstantStruct * getVtblStruct(const GlobalValue *vtbl)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00258">CppUtil.cpp:258</a></div></div>
1476
1476
  <div class="ttc" id="aclassSVF_1_1DCHGraph_html_ab96874bc8f6461fe0c3eb53b7f5cedce"><div class="ttname"><a href="classSVF_1_1DCHGraph.html#ab96874bc8f6461fe0c3eb53b7f5cedce">SVF::DCHGraph::flatten</a></div><div class="ttdeci">void flatten(const DICompositeType *type)</div><div class="ttdoc">Populates fieldTypes for type and all its elements.</div><div class="ttdef"><b>Definition:</b> <a href="DCHG_8cpp_source.html#l00268">DCHG.cpp:268</a></div></div>
1477
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_aa4630844aa25aa4801659304a2552058"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#aa4630844aa25aa4801659304a2552058">SVF::cppUtil::ctir::vtMDName</a></div><div class="ttdeci">const std::string vtMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00172">CppUtil.h:172</a></div></div>
1478
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_a0cd5347bc8043d4306e66a4a96005ace"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#a0cd5347bc8043d4306e66a4a96005ace">SVF::cppUtil::ctir::derefMDName</a></div><div class="ttdeci">const std::string derefMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00169">CppUtil.h:169</a></div></div>
1477
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_aa4630844aa25aa4801659304a2552058"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#aa4630844aa25aa4801659304a2552058">SVF::cppUtil::ctir::vtMDName</a></div><div class="ttdeci">const std::string vtMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00168">CppUtil.h:168</a></div></div>
1478
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_1_1ctir_html_a0cd5347bc8043d4306e66a4a96005ace"><div class="ttname"><a href="namespaceSVF_1_1cppUtil_1_1ctir.html#a0cd5347bc8043d4306e66a4a96005ace">SVF::cppUtil::ctir::derefMDName</a></div><div class="ttdeci">const std::string derefMDName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00165">CppUtil.h:165</a></div></div>
1479
1479
  <!-- start footer part -->
1480
1480
  <hr class="footer"/><address class="footer"><small>
1481
1481
  Generated by &#160;<a href="http://www.doxygen.org/index.html">
@@ -650,7 +650,7 @@ $(function() {
650
650
  <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keyword">auto</span> addNamesFromFunc = [&amp;names](<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *func) -&gt; <span class="keywordtype">void</span></div>
651
651
  <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; {</div>
652
652
  <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(<a class="code" href="namespaceSVF_1_1cppUtil.html#a985a32c8324d559a87e4ee6e5a1e1efd">isClsNameSource</a>(func), <span class="stringliteral">&quot;Func is invalid class name source: &quot;</span> + <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a86c0a0cb4ada72bd4f42c77558e6a350">dumpValueAndDbgInfo</a>(func));</div>
653
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a> : <a class="code" href="namespaceSVF_1_1cppUtil.html#ae97bb256f20aa617f21a49c98d46177a">extractClsNamesFromFunc</a>(func)) names.insert(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>);</div>
653
+ <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a> : <a class="code" href="namespaceSVF_1_1cppUtil.html#ae97bb256f20aa617f21a49c98d46177a">extractClsNamesFromFunc</a>(func)) names.insert(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>);</div>
654
654
  <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; };</div>
655
655
  <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; </div>
656
656
  <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="comment">// Lambda for getting callee &amp; extracting class name for calls to constructors/destructors/template funcs</span></div>
@@ -838,7 +838,7 @@ $(function() {
838
838
  <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keywordflow">return</span> _valueToAllocOrClsNameSources[startValue];</div>
839
839
  <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;}</div>
840
840
  <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; </div>
841
- <div class="line"><a name="l00809"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#a3915375c62689c40c54b714edaa042e8"> 809</a></span>&#160;<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const Value *&gt;</a> &amp;<a class="code" href="classSVF_1_1ObjTypeInference.html#a3915375c62689c40c54b714edaa042e8">ObjTypeInference::fwFindClsNameSources</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *startValue)</div>
841
+ <div class="line"><a name="l00809"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#af44dd44401384a8e50b0cbe288152ab5"> 809</a></span>&#160;<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const CallBase *&gt;</a> &amp;<a class="code" href="classSVF_1_1ObjTypeInference.html#af44dd44401384a8e50b0cbe288152ab5">ObjTypeInference::fwFindClsNameSources</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *startValue)</div>
842
842
  <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;{</div>
843
843
  <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; assert(startValue &amp;&amp; <span class="stringliteral">&quot;startValue was null?&quot;</span>);</div>
844
844
  <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; </div>
@@ -849,7 +849,7 @@ $(function() {
849
849
  <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <span class="keywordflow">return</span> tIt-&gt;second;</div>
850
850
  <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; }</div>
851
851
  <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; </div>
852
- <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const Value *&gt;</a> sources;</div>
852
+ <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const CallBase *&gt;</a> sources;</div>
853
853
  <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; </div>
854
854
  <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="comment">// Lambda for adding a callee to the sources iff it is a constructor/destructor/template/dyncast</span></div>
855
855
  <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keyword">auto</span> inferViaCppCall = [&amp;sources](<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a> *caller)</div>
@@ -886,6 +886,7 @@ $(function() {
886
886
  <div class="ttc" id="aObjTypeInference_8cpp_html_ac48ef12f2a6f605d6fa5d31e7623a826"><div class="ttname"><a href="ObjTypeInference_8cpp.html#ac48ef12f2a6f605d6fa5d31e7623a826">WARN_MSG</a></div><div class="ttdeci">#define WARN_MSG(msg)</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00071">ObjTypeInference.cpp:71</a></div></div>
887
887
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a7655b13bbfe720ca2b8a25e0a72528e6"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7655b13bbfe720ca2b8a25e0a72528e6">SVF::SVFUtil::errMsg</a></div><div class="ttdeci">std::string errMsg(const std::string &amp;msg)</div><div class="ttdoc">Print error message by converting a string into red string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00076">SVFUtil.cpp:76</a></div></div>
888
888
  <div class="ttc" id="anamespaceSVF_html_aedf0d6718ca176e0b9e17ab4b30729c6"><div class="ttname"><a href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">SVF::OrderedMap</a></div><div class="ttdeci">std::map&lt; Key, Value, Compare, Allocator &gt; OrderedMap</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00105">GeneralType.h:105</a></div></div>
889
+ <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_af44dd44401384a8e50b0cbe288152ab5"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#af44dd44401384a8e50b0cbe288152ab5">SVF::ObjTypeInference::fwFindClsNameSources</a></div><div class="ttdeci">Set&lt; const CallBase * &gt; &amp; fwFindClsNameSources(const Value *startValue)</div><div class="ttdoc">forward find class name sources starting from an allocation</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00809">ObjTypeInference.cpp:809</a></div></div>
889
890
  <div class="ttc" id="anamespaceSVF_html_ab696aab940eb187dc81217efe8649af5"><div class="ttname"><a href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">SVF::StoreInst</a></div><div class="ttdeci">llvm::StoreInst StoreInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00147">BasicTypes.h:147</a></div></div>
890
891
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_aca11801ed6ef6ff8d2a1e85bc0fc5794"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#aca11801ed6ef6ff8d2a1e85bc0fc5794">SVF::LLVMUtil::isObject</a></div><div class="ttdeci">bool isObject(const Value *ref)</div><div class="ttdoc">Return true if this value refers to a object.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00069">LLVMUtil.cpp:69</a></div></div>
891
892
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a86c0a0cb4ada72bd4f42c77558e6a350"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a86c0a0cb4ada72bd4f42c77558e6a350">SVF::LLVMUtil::dumpValueAndDbgInfo</a></div><div class="ttdeci">std::string dumpValueAndDbgInfo(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00890">LLVMUtil.cpp:890</a></div></div>
@@ -895,7 +896,7 @@ $(function() {
895
896
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a4e1785295e2695fae72758d8bbe4f7ac"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a4e1785295e2695fae72758d8bbe4f7ac">SVF::cppUtil::classTyHasVTable</a></div><div class="ttdeci">bool classTyHasVTable(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00504">CppUtil.cpp:504</a></div></div>
896
897
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
897
898
  <div class="ttc" id="anamespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
898
- <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26ccd6abf127a7ccc34a973f7b13161b"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">SVF::cppUtil::extractClsNameFromDynCast</a></div><div class="ttdeci">std::string extractClsNameFromDynCast(const CallBase *callBase)</div><div class="ttdoc">extract class name from cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00864">CppUtil.cpp:864</a></div></div>
899
+ <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26ccd6abf127a7ccc34a973f7b13161b"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">SVF::cppUtil::extractClsNameFromDynCast</a></div><div class="ttdeci">std::string extractClsNameFromDynCast(const CallBase *callBase)</div><div class="ttdoc">extract class name from cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00853">CppUtil.cpp:853</a></div></div>
899
900
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a50fc24901350df9db890ba16a9b87e33"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a50fc24901350df9db890ba16a9b87e33">SVF::LLVMModuleSet::getSVFFunction</a></div><div class="ttdeci">SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00205">LLVMModule.h:205</a></div></div>
900
901
  <div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
901
902
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab2064cb70c76f399ce115f2621adea35"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVF::SVFUtil::isHeapAllocExtCallViaRet</a></div><div class="ttdeci">bool isHeapAllocExtCallViaRet(const CallSite cs)</div><div class="ttdoc">interfaces to be used externally</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00442">SVFUtil.h:442</a></div></div>
@@ -944,7 +945,6 @@ $(function() {
944
945
  <div class="ttc" id="aclassSVF_1_1Options_html_aaab923c093730b1670a54f09340b1bd5"><div class="ttname"><a href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const Option&lt; u32_t &gt; MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object.</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00038">Options.h:38</a></div></div>
945
946
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a72da2d7f06e8fee67dc5b3c451fa5dee"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a72da2d7f06e8fee67dc5b3c451fa5dee">SVF::ObjTypeInference::getArgPosInCall</a></div><div class="ttdeci">u32_t getArgPosInCall(const CallBase *callBase, const Value *arg)</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00553">ObjTypeInference.cpp:553</a></div></div>
946
947
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_ae905a7d3f1b211fbaaf9e703b1f44482"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#ae905a7d3f1b211fbaaf9e703b1f44482">SVF::ObjTypeInference::inferObjType</a></div><div class="ttdeci">const Type * inferObjType(const Value *var)</div><div class="ttdoc">get or infer the type of the object pointed by the value</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00136">ObjTypeInference.cpp:136</a></div></div>
947
- <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a3915375c62689c40c54b714edaa042e8"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a3915375c62689c40c54b714edaa042e8">SVF::ObjTypeInference::fwFindClsNameSources</a></div><div class="ttdeci">Set&lt; const Value * &gt; &amp; fwFindClsNameSources(const Value *startValue)</div><div class="ttdoc">forward find class name sources starting from an allocation</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00809">ObjTypeInference.cpp:809</a></div></div>
948
948
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a172f97ff9c9a7c90dbec6329c89775ad"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a172f97ff9c9a7c90dbec6329c89775ad">SVF::ObjTypeInference::getLLVMCtx</a></div><div class="ttdeci">LLVMContext &amp; getLLVMCtx()</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00125">ObjTypeInference.cpp:125</a></div></div>
949
949
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a8b5f65818c69c70e07ffbc2bbe1c7c91"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a8b5f65818c69c70e07ffbc2bbe1c7c91">SVF::ObjTypeInference::inferThisPtrClsName</a></div><div class="ttdeci">Set&lt; std::string &gt; &amp; inferThisPtrClsName(const Value *thisPtr)</div><div class="ttdoc">get or infer the class names of thisptr</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00603">ObjTypeInference.cpp:603</a></div></div>
950
950
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_abba4111230f6009bbf50518ee36a9870"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">SVF::LLVMUtil::getPtrElementType</a></div><div class="ttdeci">static Type * getPtrElementType(const PointerType *pty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00099">LLVMUtil.h:99</a></div></div>
@@ -119,7 +119,7 @@ $(function() {
119
119
  <div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#ac97f30431b4e96d9d70dced9960072e9"> 48</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const Value *, const Type *&gt;</a> <a class="code" href="classSVF_1_1ObjTypeInference.html#ac97f30431b4e96d9d70dced9960072e9">ValueToType</a>;</div>
120
120
  <div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#afb1c28ce04b61c423bd734db48b0a5b6"> 49</a></span>&#160; <span class="keyword">typedef</span> std::pair&lt;const Value *, bool&gt; <a class="code" href="classSVF_1_1ObjTypeInference.html#afb1c28ce04b61c423bd734db48b0a5b6">ValueBoolPair</a>;</div>
121
121
  <div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#ae23313c88149711f2ce74a2c6d3e9da8"> 50</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const Value *, Set&lt;std::string&gt;</a>&gt; <a class="code" href="classSVF_1_1ObjTypeInference.html#ae23313c88149711f2ce74a2c6d3e9da8">ValueToClassNames</a>;</div>
122
- <div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#ae2d316e2f3907074a21ff64721660125"> 51</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const Value *, Set&lt;const Value *&gt;</a>&gt; <a class="code" href="classSVF_1_1ObjTypeInference.html#ae2d316e2f3907074a21ff64721660125">ObjToClsNameSources</a>;</div>
122
+ <div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#a151f6952ad6bcc3356a01542759eaae1"> 51</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const Value *, Set&lt;const CallBase *&gt;</a>&gt; <a class="code" href="classSVF_1_1ObjTypeInference.html#a151f6952ad6bcc3356a01542759eaae1">ObjToClsNameSources</a>;</div>
123
123
  <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
124
124
  <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
125
125
  <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keyword">private</span>:</div>
@@ -128,7 +128,7 @@ $(function() {
128
128
  <div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#a18edeb47fb7734eb17ba3a84181cbc16"> 57</a></span>&#160; <a class="code" href="classSVF_1_1ObjTypeInference.html#a3ef6cdbd56a4d169a2d2cab0b2f6515b">ValueToSources</a> <a class="code" href="classSVF_1_1ObjTypeInference.html#a18edeb47fb7734eb17ba3a84181cbc16">_valueToAllocs</a>; <span class="comment">// value allocations (stack, static, heap) cache</span></div>
129
129
  <div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#a82a1d348f80d3034fab1c32b8ff9637b"> 58</a></span>&#160; <a class="code" href="classSVF_1_1ObjTypeInference.html#ae23313c88149711f2ce74a2c6d3e9da8">ValueToClassNames</a> <a class="code" href="classSVF_1_1ObjTypeInference.html#a82a1d348f80d3034fab1c32b8ff9637b">_thisPtrClassNames</a>; <span class="comment">// thisptr class name cache</span></div>
130
130
  <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#afefdc78a399a653f1b408a62eafeaab9"> 59</a></span>&#160; <a class="code" href="classSVF_1_1ObjTypeInference.html#a3ef6cdbd56a4d169a2d2cab0b2f6515b">ValueToSources</a> <a class="code" href="classSVF_1_1ObjTypeInference.html#afefdc78a399a653f1b408a62eafeaab9">_valueToAllocOrClsNameSources</a>; <span class="comment">// value alloc/clsname sources cache</span></div>
131
- <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#af1bd0b800558eb5e3bcc6fae9c86a874"> 60</a></span>&#160; <a class="code" href="classSVF_1_1ObjTypeInference.html#ae2d316e2f3907074a21ff64721660125">ObjToClsNameSources</a> <a class="code" href="classSVF_1_1ObjTypeInference.html#af1bd0b800558eb5e3bcc6fae9c86a874">_objToClsNameSources</a>; <span class="comment">// alloc clsname sources cache</span></div>
131
+ <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1ObjTypeInference.html#af1bd0b800558eb5e3bcc6fae9c86a874"> 60</a></span>&#160; <a class="code" href="classSVF_1_1ObjTypeInference.html#a151f6952ad6bcc3356a01542759eaae1">ObjToClsNameSources</a> <a class="code" href="classSVF_1_1ObjTypeInference.html#af1bd0b800558eb5e3bcc6fae9c86a874">_objToClsNameSources</a>; <span class="comment">// alloc clsname sources cache</span></div>
132
132
  <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
133
133
  <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
134
134
  <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword">public</span>:</div>
@@ -180,7 +180,7 @@ $(function() {
180
180
  <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
181
181
  <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const Value *&gt;</a> &amp;<a class="code" href="classSVF_1_1ObjTypeInference.html#a744de27c13a045108c834c9484d7271c">bwFindAllocOrClsNameSources</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *startValue);</div>
182
182
  <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
183
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const Value *&gt;</a> &amp;<a class="code" href="classSVF_1_1ObjTypeInference.html#a3915375c62689c40c54b714edaa042e8">fwFindClsNameSources</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *startValue);</div>
183
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const CallBase *&gt;</a> &amp;<a class="code" href="classSVF_1_1ObjTypeInference.html#af44dd44401384a8e50b0cbe288152ab5">fwFindClsNameSources</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *startValue);</div>
184
184
  <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;};</div>
185
185
  <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;}</div>
186
186
  <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="preprocessor">#endif //SVF_OBJTYPEINFERENCE_H</span></div>
@@ -188,6 +188,8 @@ $(function() {
188
188
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a82a1d348f80d3034fab1c32b8ff9637b"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a82a1d348f80d3034fab1c32b8ff9637b">SVF::ObjTypeInference::_thisPtrClassNames</a></div><div class="ttdeci">ValueToClassNames _thisPtrClassNames</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00058">ObjTypeInference.h:58</a></div></div>
189
189
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a744de27c13a045108c834c9484d7271c"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a744de27c13a045108c834c9484d7271c">SVF::ObjTypeInference::bwFindAllocOrClsNameSources</a></div><div class="ttdeci">Set&lt; const Value * &gt; &amp; bwFindAllocOrClsNameSources(const Value *startValue)</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00676">ObjTypeInference.cpp:676</a></div></div>
190
190
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a172d2e9ab858fc7cd145721e175c4deb"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a172d2e9ab858fc7cd145721e175c4deb">SVF::ObjTypeInference::int8Type</a></div><div class="ttdeci">const IntegerType * int8Type()</div><div class="ttdoc">int8 type</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00088">ObjTypeInference.h:88</a></div></div>
191
+ <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_af44dd44401384a8e50b0cbe288152ab5"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#af44dd44401384a8e50b0cbe288152ab5">SVF::ObjTypeInference::fwFindClsNameSources</a></div><div class="ttdeci">Set&lt; const CallBase * &gt; &amp; fwFindClsNameSources(const Value *startValue)</div><div class="ttdoc">forward find class name sources starting from an allocation</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00809">ObjTypeInference.cpp:809</a></div></div>
192
+ <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a151f6952ad6bcc3356a01542759eaae1"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a151f6952ad6bcc3356a01542759eaae1">SVF::ObjTypeInference::ObjToClsNameSources</a></div><div class="ttdeci">Map&lt; const Value *, Set&lt; const CallBase * &gt; &gt; ObjToClsNameSources</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00051">ObjTypeInference.h:51</a></div></div>
191
193
  <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00092">GeneralType.h:92</a></div></div>
192
194
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
193
195
  <div class="ttc" id="anamespaceSVF_html_a3d9e7f32dc17fe8d40f8d6a011403b91"><div class="ttname"><a href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">SVF::IntegerType</a></div><div class="ttdeci">llvm::IntegerType IntegerType</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00096">BasicTypes.h:96</a></div></div>
@@ -217,7 +219,6 @@ $(function() {
217
219
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a18edeb47fb7734eb17ba3a84181cbc16"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a18edeb47fb7734eb17ba3a84181cbc16">SVF::ObjTypeInference::_valueToAllocs</a></div><div class="ttdeci">ValueToSources _valueToAllocs</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00057">ObjTypeInference.h:57</a></div></div>
218
220
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_ac97f30431b4e96d9d70dced9960072e9"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#ac97f30431b4e96d9d70dced9960072e9">SVF::ObjTypeInference::ValueToType</a></div><div class="ttdeci">Map&lt; const Value *, const Type * &gt; ValueToType</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00048">ObjTypeInference.h:48</a></div></div>
219
221
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_aee4383a13cda421acb034ea147e33a6d"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#aee4383a13cda421acb034ea147e33a6d">SVF::ObjTypeInference::defaultType</a></div><div class="ttdeci">const Type * defaultType(const Value *val)</div><div class="ttdoc">default type</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00114">ObjTypeInference.cpp:114</a></div></div>
220
- <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_ae2d316e2f3907074a21ff64721660125"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#ae2d316e2f3907074a21ff64721660125">SVF::ObjTypeInference::ObjToClsNameSources</a></div><div class="ttdeci">Map&lt; const Value *, Set&lt; const Value * &gt; &gt; ObjToClsNameSources</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00051">ObjTypeInference.h:51</a></div></div>
221
222
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_afe926ee3427bb329d189e0c40bb1cd60"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#afe926ee3427bb329d189e0c40bb1cd60">SVF::ObjTypeInference::validateTypeCheck</a></div><div class="ttdeci">void validateTypeCheck(const CallBase *cs)</div><div class="ttdoc">validate type inference</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00514">ObjTypeInference.cpp:514</a></div></div>
222
223
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_af1bd0b800558eb5e3bcc6fae9c86a874"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#af1bd0b800558eb5e3bcc6fae9c86a874">SVF::ObjTypeInference::_objToClsNameSources</a></div><div class="ttdeci">ObjToClsNameSources _objToClsNameSources</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00060">ObjTypeInference.h:60</a></div></div>
223
224
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_afb1c28ce04b61c423bd734db48b0a5b6"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#afb1c28ce04b61c423bd734db48b0a5b6">SVF::ObjTypeInference::ValueBoolPair</a></div><div class="ttdeci">std::pair&lt; const Value *, bool &gt; ValueBoolPair</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00049">ObjTypeInference.h:49</a></div></div>
@@ -227,7 +228,6 @@ $(function() {
227
228
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html">SVF::ObjTypeInference</a></div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00040">ObjTypeInference.h:40</a></div></div>
228
229
  <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00097">GeneralType.h:97</a></div></div>
229
230
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_ae905a7d3f1b211fbaaf9e703b1f44482"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#ae905a7d3f1b211fbaaf9e703b1f44482">SVF::ObjTypeInference::inferObjType</a></div><div class="ttdeci">const Type * inferObjType(const Value *var)</div><div class="ttdoc">get or infer the type of the object pointed by the value</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00136">ObjTypeInference.cpp:136</a></div></div>
230
- <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a3915375c62689c40c54b714edaa042e8"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a3915375c62689c40c54b714edaa042e8">SVF::ObjTypeInference::fwFindClsNameSources</a></div><div class="ttdeci">Set&lt; const Value * &gt; &amp; fwFindClsNameSources(const Value *startValue)</div><div class="ttdoc">forward find class name sources starting from an allocation</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00809">ObjTypeInference.cpp:809</a></div></div>
231
231
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_ad9ceac3c884a08ce0ae4fef4b488a7c5"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#ad9ceac3c884a08ce0ae4fef4b488a7c5">SVF::ObjTypeInference::_valueToType</a></div><div class="ttdeci">ValueToType _valueToType</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8h_source.html#l00056">ObjTypeInference.h:56</a></div></div>
232
232
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a172f97ff9c9a7c90dbec6329c89775ad"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a172f97ff9c9a7c90dbec6329c89775ad">SVF::ObjTypeInference::getLLVMCtx</a></div><div class="ttdeci">LLVMContext &amp; getLLVMCtx()</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00125">ObjTypeInference.cpp:125</a></div></div>
233
233
  <div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a8b5f65818c69c70e07ffbc2bbe1c7c91"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a8b5f65818c69c70e07ffbc2bbe1c7c91">SVF::ObjTypeInference::inferThisPtrClsName</a></div><div class="ttdeci">Set&lt; std::string &gt; &amp; inferThisPtrClsName(const Value *thisPtr)</div><div class="ttdoc">get or infer the class names of thisptr</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00603">ObjTypeInference.cpp:603</a></div></div>