svf-tools 1.0.482 → 1.0.485

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 (282) hide show
  1. package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +2 -1
  2. package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -1
  3. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -1
  4. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -1
  5. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -1
  6. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -1
  7. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -1
  8. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -2
  9. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  10. package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +2 -1
  11. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +32 -32
  13. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +11 -11
  14. package/SVF-doxygen/html/html/CFLAlias_8cpp.html +1 -0
  15. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +46 -13
  16. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +36 -13
  17. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +3 -3
  18. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +8 -8
  19. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +74 -77
  20. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +165 -39
  21. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +4 -4
  22. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +3 -3
  24. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +3 -3
  25. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +16 -16
  26. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +10 -10
  27. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +3 -2
  28. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +2 -2
  29. package/SVF-doxygen/html/html/CHG_8cpp_source.html +3 -2
  30. package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
  33. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -1
  34. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -2
  35. package/SVF-doxygen/html/html/Casting_8h_source.html +2 -1
  36. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -3
  37. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -1
  39. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
  41. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -2
  42. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -1
  43. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -2
  44. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
  45. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -1
  46. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +2 -1
  47. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -1
  50. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -1
  51. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -1
  52. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -1
  54. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -1
  55. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
  57. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +3 -3
  58. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -4
  59. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +2 -2
  60. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -1
  61. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -2
  62. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  63. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -2
  64. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +2 -1
  66. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -2
  67. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -1
  68. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -1
  69. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +3 -2
  70. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -2
  71. package/SVF-doxygen/html/html/MHP_8cpp_source.html +3 -2
  72. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -2
  73. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
  74. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -2
  75. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +2 -2
  76. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  77. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -2
  78. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
  79. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +2 -1
  80. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -1
  81. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +3 -2
  82. package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +1 -1
  83. package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -4
  84. package/SVF-doxygen/html/html/Options_8h_source.html +4 -4
  85. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -1
  86. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -2
  87. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +3 -2
  88. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  89. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +2 -1
  90. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -5
  91. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +15 -13
  92. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +12 -12
  93. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -1
  94. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  95. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -1
  96. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -1
  97. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -2
  98. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -2
  99. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  100. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -2
  101. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +2 -2
  102. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +2 -1
  103. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -1
  104. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -2
  105. package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
  106. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +3 -2
  107. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -1
  108. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  109. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -1
  110. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -1
  111. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -1
  112. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -2
  113. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -1
  114. package/SVF-doxygen/html/html/TCT_8cpp_source.html +3 -2
  115. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  116. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +2 -2
  117. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -1
  118. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -1
  119. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
  120. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +2 -1
  121. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -2
  122. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  123. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -1
  124. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  125. package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -2
  126. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  133. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +5 -5
  135. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +2 -2
  136. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +54 -53
  137. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +70 -63
  138. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +415 -95
  139. package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +25 -25
  140. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +51 -51
  142. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver-members.html +4 -4
  143. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +39 -39
  144. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +4 -4
  145. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  146. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +13 -13
  150. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +58 -58
  153. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +3 -3
  154. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +3 -3
  155. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
  156. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  157. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +4 -4
  159. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
  160. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +5 -5
  162. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  163. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -6
  164. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  165. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +38 -38
  166. package/SVF-doxygen/html/html/classSVF_1_1Options.html +30 -30
  167. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  168. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +40 -36
  169. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  170. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  171. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +4 -4
  172. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +3 -3
  173. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  174. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +3 -3
  175. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  176. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +1 -1
  177. package/SVF-doxygen/html/html/cuddInt_8c.html +30 -30
  178. package/SVF-doxygen/html/html/cuddInt_8c_source.html +3 -3
  179. package/SVF-doxygen/html/html/cuddInt_8h.html +10 -10
  180. package/SVF-doxygen/html/html/cudd_8h.html +14 -14
  181. package/SVF-doxygen/html/html/cudd_8h_source.html +2 -2
  182. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  183. package/SVF-doxygen/html/html/functions_a.html +11 -10
  184. package/SVF-doxygen/html/html/functions_c.html +30 -23
  185. package/SVF-doxygen/html/html/functions_func.html +12 -11
  186. package/SVF-doxygen/html/html/functions_func_c.html +11 -10
  187. package/SVF-doxygen/html/html/functions_func_h.html +3 -2
  188. package/SVF-doxygen/html/html/functions_func_n.html +1 -1
  189. package/SVF-doxygen/html/html/functions_func_o.html +4 -9
  190. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  191. package/SVF-doxygen/html/html/functions_func_u.html +1 -0
  192. package/SVF-doxygen/html/html/functions_g.html +5 -8
  193. package/SVF-doxygen/html/html/functions_h.html +2 -1
  194. package/SVF-doxygen/html/html/functions_i.html +6 -6
  195. package/SVF-doxygen/html/html/functions_l.html +5 -5
  196. package/SVF-doxygen/html/html/functions_n.html +1 -1
  197. package/SVF-doxygen/html/html/functions_o.html +14 -21
  198. package/SVF-doxygen/html/html/functions_p.html +12 -9
  199. package/SVF-doxygen/html/html/functions_r.html +4 -4
  200. package/SVF-doxygen/html/html/functions_s.html +10 -8
  201. package/SVF-doxygen/html/html/functions_t.html +3 -3
  202. package/SVF-doxygen/html/html/functions_type_c.html +1 -0
  203. package/SVF-doxygen/html/html/functions_u.html +1 -0
  204. package/SVF-doxygen/html/html/functions_v.html +3 -3
  205. package/SVF-doxygen/html/html/functions_vars_c.html +1 -0
  206. package/SVF-doxygen/html/html/functions_vars_g.html +0 -3
  207. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  208. package/SVF-doxygen/html/html/functions_w.html +6 -10
  209. package/SVF-doxygen/html/html/globals_a.html +3 -0
  210. package/SVF-doxygen/html/html/globals_f.html +2 -2
  211. package/SVF-doxygen/html/html/globals_g.html +10 -4
  212. package/SVF-doxygen/html/html/globals_l.html +4 -1
  213. package/SVF-doxygen/html/html/globals_m.html +15 -12
  214. package/SVF-doxygen/html/html/globals_s.html +17 -13
  215. package/SVF-doxygen/html/html/globals_vars.html +26 -5
  216. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  217. package/SVF-doxygen/html/html/namespaceSVF.html +2 -2
  218. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
  219. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +12 -12
  220. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  221. package/SVF-doxygen/html/html/search/all_1.js +2 -1
  222. package/SVF-doxygen/html/html/search/all_10.js +8 -7
  223. package/SVF-doxygen/html/html/search/all_12.js +2 -2
  224. package/SVF-doxygen/html/html/search/all_13.js +12 -11
  225. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  226. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  227. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  228. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  229. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  230. package/SVF-doxygen/html/html/search/all_5.js +1 -1
  231. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  232. package/SVF-doxygen/html/html/search/all_7.js +4 -3
  233. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  234. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  235. package/SVF-doxygen/html/html/search/all_c.js +6 -5
  236. package/SVF-doxygen/html/html/search/all_d.js +3 -2
  237. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  238. package/SVF-doxygen/html/html/search/all_f.js +7 -9
  239. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  240. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  241. package/SVF-doxygen/html/html/search/functions_13.js +1 -1
  242. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  243. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  244. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  245. package/SVF-doxygen/html/html/search/functions_e.js +4 -6
  246. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  247. package/SVF-doxygen/html/html/search/variables_1.js +1 -0
  248. package/SVF-doxygen/html/html/search/variables_10.js +1 -0
  249. package/SVF-doxygen/html/html/search/variables_13.js +2 -0
  250. package/SVF-doxygen/html/html/search/variables_14.js +4 -4
  251. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  252. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  253. package/SVF-doxygen/html/html/search/variables_6.js +2 -2
  254. package/SVF-doxygen/html/html/search/variables_7.js +4 -3
  255. package/SVF-doxygen/html/html/search/variables_c.js +3 -2
  256. package/SVF-doxygen/html/html/search/variables_d.js +1 -0
  257. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  258. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol-members.html +10 -13
  259. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +44 -145
  260. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1SymbolVectorHash.html +3 -3
  261. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +6 -5
  262. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +4 -3
  263. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +4 -3
  264. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +1 -1
  265. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +2 -2
  266. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +1 -1
  267. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  268. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  269. package/include/CFL/CFLAlias.h +50 -4
  270. package/include/CFL/CFLGrammar.h +9 -28
  271. package/include/CFL/CFLGrammar.txt +22 -1
  272. package/include/CFL/CFLSolver.h +10 -8
  273. package/include/Graphs/CFLGraph.h +0 -1
  274. package/include/Graphs/GraphPrinter.h +3 -3
  275. package/include/Util/Options.h +2 -2
  276. package/lib/CFL/CFGNormalizer.cpp +8 -14
  277. package/lib/CFL/CFLAlias.cpp +175 -6
  278. package/lib/CFL/CFLSolver.cpp +1 -0
  279. package/lib/Graphs/CFLGraph.cpp +0 -4
  280. package/lib/MemoryModel/PointerAnalysis.cpp +3 -0
  281. package/lib/Util/Options.cpp +8 -8
  282. package/package.json +1 -1
@@ -99,7 +99,10 @@ $(function() {
99
99
  : <a class="el" href="SVF-FE_2BasicTypes_8h.html#a9f19a521d06397d1b6dc52c0388513d9">BasicTypes.h</a>
100
100
  </li>
101
101
  <li>Load
102
- : <a class="el" href="CFLGrammar_8txt.html#aac550daeb926fa3c77376959d6712fc6">CFLGrammar.txt</a>
102
+ : <a class="el" href="CFLGrammar_8txt.html#af3f0b3f464e928b7fc87347dc041501d">CFLGrammar.txt</a>
103
+ </li>
104
+ <li>Loadbar
105
+ : <a class="el" href="CFLGrammar_8txt.html#ac9e2ada624dc7eee357e865e0d89c84a">CFLGrammar.txt</a>
103
106
  </li>
104
107
  <li>LOGBPL
105
108
  : <a class="el" href="cuddInt_8c.html#acae1cfa779e6e7550496f3889b5cbb25">cuddInt.c</a>
@@ -96,6 +96,9 @@ $(function() {
96
96
  <li>memcpy()
97
97
  : <a class="el" href="util_8h.html#a13050899d2d81aa69b56529e7264e238">util.h</a>
98
98
  </li>
99
+ <li>Memflow
100
+ : <a class="el" href="CFLGrammar_8txt.html#ae2f9fbd0bf92e7dad02a6c5fa9323621">CFLGrammar.txt</a>
101
+ </li>
99
102
  <li>memmove()
100
103
  : <a class="el" href="util_8h.html#afb434ca60c6699bb20fd11a71be5b0e0">util.h</a>
101
104
  </li>
@@ -151,15 +154,15 @@ $(function() {
151
154
  , <a class="el" href="mtr_8c.html#aac5a8d0fc9e75da460866c2443cafff4">mtr.c</a>
152
155
  </li>
153
156
  <li>Mtr_DeallocNode()
154
- : <a class="el" href="mtr_8c.html#affc778ae15cfca3b58c1a61a0462e439">mtr.c</a>
155
- , <a class="el" href="mtr_8h.html#affc778ae15cfca3b58c1a61a0462e439">mtr.h</a>
157
+ : <a class="el" href="mtr_8h.html#affc778ae15cfca3b58c1a61a0462e439">mtr.h</a>
158
+ , <a class="el" href="mtr_8c.html#affc778ae15cfca3b58c1a61a0462e439">mtr.c</a>
156
159
  </li>
157
160
  <li>MTR_DEFAULT
158
161
  : <a class="el" href="mtr_8h.html#a34eda081d6177195019e607490a784d0">mtr.h</a>
159
162
  </li>
160
163
  <li>Mtr_FindGroup()
161
- : <a class="el" href="mtr_8h.html#a52d3c42ad10029d1dfdf5f66fae937e9">mtr.h</a>
162
- , <a class="el" href="mtr_8c.html#a1a20cb9542dc607dd7e35f8e4d7561d3">mtr.c</a>
164
+ : <a class="el" href="mtr_8c.html#a1a20cb9542dc607dd7e35f8e4d7561d3">mtr.c</a>
165
+ , <a class="el" href="mtr_8h.html#a52d3c42ad10029d1dfdf5f66fae937e9">mtr.h</a>
163
166
  </li>
164
167
  <li>MTR_FIXED
165
168
  : <a class="el" href="mtr_8h.html#ace4c447a002e504ec815762d74d1de79">mtr.h</a>
@@ -169,8 +172,8 @@ $(function() {
169
172
  , <a class="el" href="mtr_8c.html#a671ef677efc74ca81519aa279d02f1c9">mtr.c</a>
170
173
  </li>
171
174
  <li>Mtr_InitGroupTree()
172
- : <a class="el" href="mtr_8h.html#a645819e1eca23ccb71ee08a2715c2bed">mtr.h</a>
173
- , <a class="el" href="mtr_8c.html#a645819e1eca23ccb71ee08a2715c2bed">mtr.c</a>
175
+ : <a class="el" href="mtr_8c.html#a645819e1eca23ccb71ee08a2715c2bed">mtr.c</a>
176
+ , <a class="el" href="mtr_8h.html#a645819e1eca23ccb71ee08a2715c2bed">mtr.h</a>
174
177
  </li>
175
178
  <li>Mtr_InitTree()
176
179
  : <a class="el" href="mtr_8h.html#a6181c65bac3532e528a336050b0a09cc">mtr.h</a>
@@ -180,8 +183,8 @@ $(function() {
180
183
  : <a class="el" href="mtr_8h.html#ac69f8743904be8c18df97172885e0cca">mtr.h</a>
181
184
  </li>
182
185
  <li>Mtr_MakeGroup()
183
- : <a class="el" href="mtr_8h.html#a193d18c1dc621c34dc68dad7b3b477db">mtr.h</a>
184
- , <a class="el" href="mtr_8c.html#a37cb3253f32077fd75e9204ca2bc981a">mtr.c</a>
186
+ : <a class="el" href="mtr_8c.html#a37cb3253f32077fd75e9204ca2bc981a">mtr.c</a>
187
+ , <a class="el" href="mtr_8h.html#a193d18c1dc621c34dc68dad7b3b477db">mtr.h</a>
185
188
  </li>
186
189
  <li>MTR_MAXHIGH
187
190
  : <a class="el" href="mtr_8h.html#adacf8a5c817ea965549c5ac2f510c6eb">mtr.h</a>
@@ -190,12 +193,12 @@ $(function() {
190
193
  : <a class="el" href="mtr_8h.html#acf089626f0a2fbc9c115c05cb7f31b4a">mtr.h</a>
191
194
  </li>
192
195
  <li>Mtr_PrintGroupedOrder()
193
- : <a class="el" href="mtr_8h.html#ae1215eb2863f66fd4ea81dbbe7217903">mtr.h</a>
194
- , <a class="el" href="mtr_8c.html#ae1215eb2863f66fd4ea81dbbe7217903">mtr.c</a>
196
+ : <a class="el" href="mtr_8c.html#ae1215eb2863f66fd4ea81dbbe7217903">mtr.c</a>
197
+ , <a class="el" href="mtr_8h.html#ae1215eb2863f66fd4ea81dbbe7217903">mtr.h</a>
195
198
  </li>
196
199
  <li>Mtr_PrintGroups()
197
- : <a class="el" href="mtr_8h.html#a2d9c3174966e8acd78d0d0664065c472">mtr.h</a>
198
- , <a class="el" href="mtr_8c.html#a2d9c3174966e8acd78d0d0664065c472">mtr.c</a>
200
+ : <a class="el" href="mtr_8c.html#a2d9c3174966e8acd78d0d0664065c472">mtr.c</a>
201
+ , <a class="el" href="mtr_8h.html#a2d9c3174966e8acd78d0d0664065c472">mtr.h</a>
199
202
  </li>
200
203
  <li>Mtr_PrintTree()
201
204
  : <a class="el" href="mtr_8c.html#a2b74ec8b38ff7acb55691cb2a476bfe9">mtr.c</a>
@@ -207,21 +207,19 @@ $(function() {
207
207
  , <a class="el" href="st_8c.html#a958c280b8f24c847ca511eaffd410f04">st.c</a>
208
208
  </li>
209
209
  <li>st_numcmp()
210
- : <a class="el" href="st_8c.html#a0ba60ae98aae8e6dd21bbe3b485bcfbe">st.c</a>
210
+ : <a class="el" href="st_8h.html#a65b35768bcf5b6f173b063b441a493db">st.h</a>
211
+ , <a class="el" href="st_8c.html#a0ba60ae98aae8e6dd21bbe3b485bcfbe">st.c</a>
211
212
  </li>
212
213
  <li>ST_NUMCMP
213
214
  : <a class="el" href="st_8c.html#a2796b8bc2a5f15834d61a3519ad149d5">st.c</a>
214
215
  </li>
215
- <li>st_numcmp()
216
- : <a class="el" href="st_8h.html#a65b35768bcf5b6f173b063b441a493db">st.h</a>
217
- </li>
218
- <li>ST_NUMHASH
219
- : <a class="el" href="st_8c.html#a76573cced143d429f99bfb5e286c621e">st.c</a>
220
- </li>
221
216
  <li>st_numhash()
222
217
  : <a class="el" href="st_8h.html#a487317ef8c55ab34fb58ddfe47163b9e">st.h</a>
223
218
  , <a class="el" href="st_8c.html#aede320ef4713f295a335b4da6e1d8358">st.c</a>
224
219
  </li>
220
+ <li>ST_NUMHASH
221
+ : <a class="el" href="st_8c.html#a76573cced143d429f99bfb5e286c621e">st.c</a>
222
+ </li>
225
223
  <li>ST_OUT_OF_MEM
226
224
  : <a class="el" href="st_8h.html#a1276d6ae80c20ae2ec082db7c502ef75">st.h</a>
227
225
  </li>
@@ -238,13 +236,13 @@ $(function() {
238
236
  : <a class="el" href="st_8c.html#a52bf6e577a2a87b2cdedb1c3d0e25075">st.c</a>
239
237
  , <a class="el" href="st_8h.html#a6073f524b9f0ec98b2b3d3e59e4e3fbf">st.h</a>
240
238
  </li>
239
+ <li>ST_PTRHASH
240
+ : <a class="el" href="st_8c.html#a524a1efaf5df2432aa5bf96e35546164">st.c</a>
241
+ </li>
241
242
  <li>st_ptrhash()
242
243
  : <a class="el" href="st_8h.html#a144fc385b211526daab6da9ad5a854cc">st.h</a>
243
244
  , <a class="el" href="st_8c.html#ada6e90b4df1ca291977c89a6d4fdea06">st.c</a>
244
245
  </li>
245
- <li>ST_PTRHASH
246
- : <a class="el" href="st_8c.html#a524a1efaf5df2432aa5bf96e35546164">st.c</a>
247
- </li>
248
246
  <li>st_retval
249
247
  : <a class="el" href="st_8h.html#a0c6a172fd99de7928916e65034ed8b1f">st.h</a>
250
248
  </li>
@@ -274,7 +272,7 @@ $(function() {
274
272
  : <a class="el" href="cJSON_8cpp.html#a5714bac836668a1b9af55465b78531ef">cJSON.cpp</a>
275
273
  </li>
276
274
  <li>STATISTIC()
277
- : <a class="el" href="BreakConstantExpr_8cpp.html#a908d11ca6b0a342e6ddcdcced200cab3">BreakConstantExpr.cpp</a>
275
+ : <a class="el" href="BreakConstantExpr_8cpp.html#a53fcf89c33901a1e4bf09351eb612a6a">BreakConstantExpr.cpp</a>
278
276
  </li>
279
277
  <li>statLine
280
278
  : <a class="el" href="cuddInt_8h.html#a94289b59164b0be08fdb041e6f847fd4">cuddInt.h</a>
@@ -285,12 +283,18 @@ $(function() {
285
283
  <li>stopping_criterion()
286
284
  : <a class="el" href="cuddInt_8c.html#a5f2b499b6706d3e880ad375ab7eacd03">cuddInt.c</a>
287
285
  </li>
288
- <li>STOREDD
289
- : <a class="el" href="cuddInt_8c.html#ad90b4208ba9aa22e8f37b1ce723cdcf5">cuddInt.c</a>
286
+ <li>Store
287
+ : <a class="el" href="CFLGrammar_8txt.html#a4459b9e008c1693c8d592cf0544912f6">CFLGrammar.txt</a>
288
+ </li>
289
+ <li>Storebar
290
+ : <a class="el" href="CFLGrammar_8txt.html#a324fa20755f4b8f2e50e2e148f6fadbd">CFLGrammar.txt</a>
290
291
  </li>
291
292
  <li>storedd
292
293
  : <a class="el" href="cuddInt_8c.html#a8ed518c7fe7ea969bd6981b71c37ec07">cuddInt.c</a>
293
294
  </li>
295
+ <li>STOREDD
296
+ : <a class="el" href="cuddInt_8c.html#ad90b4208ba9aa22e8f37b1ce723cdcf5">cuddInt.c</a>
297
+ </li>
294
298
  <li>strcat()
295
299
  : <a class="el" href="util_8h.html#ae726f8c6b65e180aacfb570a35dc8375">util.h</a>
296
300
  </li>
@@ -78,6 +78,9 @@ $(function() {
78
78
  <li>Addr
79
79
  : <a class="el" href="CFLGrammar_8txt.html#a017fa6c558fa1eff0a13180c8340aba8">CFLGrammar.txt</a>
80
80
  </li>
81
+ <li>Addrbar
82
+ : <a class="el" href="CFLGrammar_8txt.html#a11ba05967682e1a34391b8c3309de1e6">CFLGrammar.txt</a>
83
+ </li>
81
84
  <li>after_inserted
82
85
  : <a class="el" href="cJSON_8cpp.html#a38b1dcebd0d04ad6f2ee1872ec39d53d">cJSON.cpp</a>
83
86
  </li>
@@ -177,10 +180,10 @@ $(function() {
177
180
 
178
181
  <h3><a id="index_f"></a>- f -</h3><ul>
179
182
  <li>F
180
- : <a class="el" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">CFLGrammar.txt</a>
183
+ : <a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">CFLGrammar.txt</a>
181
184
  </li>
182
185
  <li>Fbar
183
- : <a class="el" href="CFLGrammar_8txt.html#ae8b5aa5e39ce3b22bbd5a3c28f3dbb0d">CFLGrammar.txt</a>
186
+ : <a class="el" href="CFLGrammar_8txt.html#afb129e761aae1ddaa005123832b88cd2">CFLGrammar.txt</a>
184
187
  </li>
185
188
  <li>fmt
186
189
  : <a class="el" href="cJSON_8h.html#aa813b2b7bde1a5a1f528cd9d9aa9ee7d">cJSON.h</a>
@@ -194,11 +197,17 @@ $(function() {
194
197
 
195
198
 
196
199
  <h3><a id="index_g"></a>- g -</h3><ul>
200
+ <li>Gep_0
201
+ : <a class="el" href="CFLGrammar_8txt.html#ace8178aa913f2a15d4b3f12778dfc6f1">CFLGrammar.txt</a>
202
+ </li>
197
203
  <li>Gep_i
198
- : <a class="el" href="CFLGrammar_8txt.html#a3570ef0c1d906134e5aa6077d39fef04">CFLGrammar.txt</a>
204
+ : <a class="el" href="CFLGrammar_8txt.html#a653086130f70f043218d296d00529455">CFLGrammar.txt</a>
199
205
  </li>
200
206
  <li>Gepbar_i
201
- : <a class="el" href="CFLGrammar_8txt.html#a439ab12c27eee7f7bf2190c952ba5725">CFLGrammar.txt</a>
207
+ : <a class="el" href="CFLGrammar_8txt.html#ac1aa386be0aca60acd35f22fa31e818c">CFLGrammar.txt</a>
208
+ </li>
209
+ <li>Gepbar_j
210
+ : <a class="el" href="CFLGrammar_8txt.html#aeb412ddd133fefb41dbf77aca541935b">CFLGrammar.txt</a>
202
211
  </li>
203
212
  <li>gepNodeNumIndex
204
213
  : <a class="el" href="PAGBuilderFromFile_8cpp.html#a1af3947dbaf1ad4364bc4818f70ead40">PAGBuilderFromFile.cpp</a>
@@ -260,12 +269,18 @@ $(function() {
260
269
  , <a class="el" href="cJSON_8cpp.html#a9f237f17f4e79d5b89149e09152edabe">cJSON.cpp</a>
261
270
  </li>
262
271
  <li>Load
263
- : <a class="el" href="CFLGrammar_8txt.html#aac550daeb926fa3c77376959d6712fc6">CFLGrammar.txt</a>
272
+ : <a class="el" href="CFLGrammar_8txt.html#af3f0b3f464e928b7fc87347dc041501d">CFLGrammar.txt</a>
273
+ </li>
274
+ <li>Loadbar
275
+ : <a class="el" href="CFLGrammar_8txt.html#ac9e2ada624dc7eee357e865e0d89c84a">CFLGrammar.txt</a>
264
276
  </li>
265
277
  </ul>
266
278
 
267
279
 
268
280
  <h3><a id="index_m"></a>- m -</h3><ul>
281
+ <li>Memflow
282
+ : <a class="el" href="CFLGrammar_8txt.html#ae2f9fbd0bf92e7dad02a6c5fa9323621">CFLGrammar.txt</a>
283
+ </li>
269
284
  <li>MMoutOfMemory
270
285
  : <a class="el" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">util.h</a>
271
286
  , <a class="el" href="util_8c.html#af76722b9c78f324a2cd1a57318e0eea1">util.c</a>
@@ -386,6 +401,12 @@ $(function() {
386
401
  <li>shuffleTable
387
402
  : <a class="el" href="cuddInt_8c.html#a7245623787b25f92a5c129e67ccdb404">cuddInt.c</a>
388
403
  </li>
404
+ <li>Store
405
+ : <a class="el" href="CFLGrammar_8txt.html#a4459b9e008c1693c8d592cf0544912f6">CFLGrammar.txt</a>
406
+ </li>
407
+ <li>Storebar
408
+ : <a class="el" href="CFLGrammar_8txt.html#a324fa20755f4b8f2e50e2e148f6fadbd">CFLGrammar.txt</a>
409
+ </li>
389
410
  <li>storedd
390
411
  : <a class="el" href="cuddInt_8c.html#a8ed518c7fe7ea969bd6981b71c37ec07">cuddInt.c</a>
391
412
  </li>
@@ -66,7 +66,7 @@ $(function() {
66
66
  <div class="title">mta.cpp</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="mta_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-FE/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MTA_8h.html">MTA/MTA.h</a>&quot;</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div><div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 9</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;{</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <a class="code" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">LLVMUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="stringliteral">&quot;MTA Analysis\n&quot;</span>);</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; }</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="classSVF_1_1MTA.html">MTA</a> *mta = <span class="keyword">new</span> <a class="code" href="classSVF_1_1MTA.html">MTA</a>();</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; mta-&gt;<a class="code" href="classSVF_1_1MTA.html#a9c4b9eb2c04de305a30114019c3b1dae">runOnModule</a>(svfModule);</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div><div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00119">CFLGraph.h:119</a></div></div>
69
+ <a href="mta_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-FE/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MTA_8h.html">MTA/MTA.h</a>&quot;</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div><div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 9</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;{</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <a class="code" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">LLVMUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="stringliteral">&quot;MTA Analysis\n&quot;</span>);</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; }</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="classSVF_1_1MTA.html">MTA</a> *mta = <span class="keyword">new</span> <a class="code" href="classSVF_1_1MTA.html">MTA</a>();</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; mta-&gt;<a class="code" href="classSVF_1_1MTA.html#a9c4b9eb2c04de305a30114019c3b1dae">runOnModule</a>(svfModule);</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div><div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00118">CFLGraph.h:118</a></div></div>
70
70
  <div class="ttc" id="mta_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="mta_8cpp_source.html#l00009">mta.cpp:9</a></div></div>
71
71
  <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
@@ -965,7 +965,7 @@ Functions</h2></td></tr>
965
965
  <tr class="memitem:aec4534b227e8f43b9077e708b74817fa"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#aec4534b227e8f43b9077e708b74817fa">operator&lt;&lt;</a> (std::ostream &amp;o, const <a class="el" href="classSVF_1_1MRVer.html">MRVer</a> &amp;mrver)</td></tr>
966
966
  <tr class="separator:aec4534b227e8f43b9077e708b74817fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
967
967
  <tr class="memitem:af83f5c5c68cdb80576cdc1d62c01b207"><td class="memTemplParams" colspan="2">template&lt;typename F , typename S &gt; </td></tr>
968
- <tr class="memitem:af83f5c5c68cdb80576cdc1d62c01b207"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#af83f5c5c68cdb80576cdc1d62c01b207">operator&lt;&lt;</a> (<a class="el" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a> &amp;o, const std::pair&lt; <a class="el" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>, S &gt; &amp;var)</td></tr>
968
+ <tr class="memitem:af83f5c5c68cdb80576cdc1d62c01b207"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#af83f5c5c68cdb80576cdc1d62c01b207">operator&lt;&lt;</a> (<a class="el" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a> &amp;o, const std::pair&lt; <a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>, S &gt; &amp;var)</td></tr>
969
969
  <tr class="separator:af83f5c5c68cdb80576cdc1d62c01b207"><td class="memSeparator" colspan="2">&#160;</td></tr>
970
970
  <tr class="memitem:aaa21ff095e66a18937f29246e213f69d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#aaa21ff095e66a18937f29246e213f69d">operator &amp;</a> (const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;lhs, const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;rhs)</td></tr>
971
971
  <tr class="memdesc:aaa21ff095e66a18937f29246e213f69d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a new lhs &amp; rhs. <a href="#aaa21ff095e66a18937f29246e213f69d">More...</a><br /></td></tr>
@@ -3195,7 +3195,7 @@ template&lt;typename F , typename S &gt; </div>
3195
3195
  <tr>
3196
3196
  <td class="paramkey"></td>
3197
3197
  <td></td>
3198
- <td class="paramtype">const std::pair&lt; <a class="el" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>, S &gt; &amp;&#160;</td>
3198
+ <td class="paramtype">const std::pair&lt; <a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>, S &gt; &amp;&#160;</td>
3199
3199
  <td class="paramname"><em>var</em>&#160;</td>
3200
3200
  </tr>
3201
3201
  <tr>
@@ -336,7 +336,7 @@ Functions</h2></td></tr>
336
336
  <tr class="memitem:a28c0ede7e4765d2a686fc8ae0f5641a4"><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_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a> (const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *val)</td></tr>
337
337
  <tr class="memdesc:a28c0ede7e4765d2a686fc8ae0f5641a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return source code including line number and file name from debug information. <a href="#a28c0ede7e4765d2a686fc8ae0f5641a4">More...</a><br /></td></tr>
338
338
  <tr class="separator:a28c0ede7e4765d2a686fc8ae0f5641a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
339
- <tr class="memitem:a86c1c8bdfc1075c07c631525555194d2"><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_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">getSourceLocOfFunction</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</td></tr>
339
+ <tr class="memitem:a86c1c8bdfc1075c07c631525555194d2"><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_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">getSourceLocOfFunction</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
340
340
  <tr class="separator:a86c1c8bdfc1075c07c631525555194d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
341
341
  <tr class="memitem:a7486fd8e5350879ed1cbd835c0d4e191"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a> (const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *value)</td></tr>
342
342
  <tr class="separator:a7486fd8e5350879ed1cbd835c0d4e191"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1670,9 +1670,9 @@ template&lt;class X , class Y &gt; </div>
1670
1670
  <p>Get source code line number of a function according to debug info </p>
1671
1671
 
1672
1672
  <p class="definition">Definition at line <a class="el" href="SVFUtil_8cpp_source.html#l00249">249</a> of file <a class="el" href="SVFUtil_8cpp_source.html">SVFUtil.cpp</a>.</p>
1673
- <div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;{</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> * https://reviews.llvm.org/D18074?id=50385</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="comment"> * looks like the relevant</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">llvm::DISubprogram</a> *SP = <a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>-&gt;getSubprogram())</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">if</span> (SP-&gt;describes(<a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>))</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;in line: &quot;</span> &lt;&lt; SP-&gt;getLine() &lt;&lt; <span class="stringliteral">&quot; file: &quot;</span> &lt;&lt; SP-&gt;getFilename();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
1673
+ <div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;{</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> * https://reviews.llvm.org/D18074?id=50385</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="comment"> * looks like the relevant</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">llvm::DISubprogram</a> *SP = <a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>-&gt;getSubprogram())</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">if</span> (SP-&gt;describes(<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>))</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;in line: &quot;</span> &lt;&lt; SP-&gt;getLine() &lt;&lt; <span class="stringliteral">&quot; file: &quot;</span> &lt;&lt; SP-&gt;getFilename();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
1674
1674
  <div class="ttc" id="namespaceSVF_html_a89c7208bfc0b57873dfa574f52050295"><div class="ttname"><a href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">SVF::DISubprogram</a></div><div class="ttdeci">llvm::DISubprogram DISubprogram</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00124">BasicTypes.h:124</a></div></div>
1675
- <div class="ttc" id="CFLGrammar_8txt_html_acc7b4cf736579c4d83be2316d5a9e5f2"><div class="ttname"><a href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00013">CFLGrammar.txt:13</a></div></div>
1675
+ <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
1676
1676
  <div class="ttc" id="cJSON_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>
1677
1677
  </div><!-- fragment -->
1678
1678
  </div>
@@ -93,13 +93,13 @@ Functions</h2></td></tr>
93
93
  <tr class="separator:a1e99d5cf28e0d6546e0d85b805a7e371"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
94
  <tr class="memitem:aca6465c72effcaddeb34f55da4555754"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#aca6465c72effcaddeb34f55da4555754">isVirtualCallSite</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs)</td></tr>
95
95
  <tr class="separator:aca6465c72effcaddeb34f55da4555754"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
- <tr class="memitem:ad6f9578cdce518141772a11617160da8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#ad6f9578cdce518141772a11617160da8">isConstructor</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</td></tr>
96
+ <tr class="memitem:ad6f9578cdce518141772a11617160da8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#ad6f9578cdce518141772a11617160da8">isConstructor</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
97
97
  <tr class="separator:ad6f9578cdce518141772a11617160da8"><td class="memSeparator" colspan="2">&#160;</td></tr>
98
- <tr class="memitem:af19bec54621f4605bac4feaf9f73803c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#af19bec54621f4605bac4feaf9f73803c">isDestructor</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</td></tr>
98
+ <tr class="memitem:af19bec54621f4605bac4feaf9f73803c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#af19bec54621f4605bac4feaf9f73803c">isDestructor</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
99
99
  <tr class="separator:af19bec54621f4605bac4feaf9f73803c"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
- <tr class="memitem:a917c4bd2d5fd1354b5069bf0a68533d9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#a917c4bd2d5fd1354b5069bf0a68533d9">isCPPThunkFunction</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</td></tr>
100
+ <tr class="memitem:a917c4bd2d5fd1354b5069bf0a68533d9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#a917c4bd2d5fd1354b5069bf0a68533d9">isCPPThunkFunction</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
101
101
  <tr class="separator:a917c4bd2d5fd1354b5069bf0a68533d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
- <tr class="memitem:ac9c6d4315e7a1a826add7ed9cf924553"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#ac9c6d4315e7a1a826add7ed9cf924553">getThunkTarget</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</td></tr>
102
+ <tr class="memitem:ac9c6d4315e7a1a826add7ed9cf924553"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#ac9c6d4315e7a1a826add7ed9cf924553">getThunkTarget</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
103
103
  <tr class="separator:ac9c6d4315e7a1a826add7ed9cf924553"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
104
  <tr class="memitem:a26c3ceb82a398663284690c898a5354d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF_1_1cppUtil.html#a26c3ceb82a398663284690c898a5354d">getConstructorThisPtr</a> (const <a class="el" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fun)</td></tr>
105
105
  <tr class="separator:a26c3ceb82a398663284690c898a5354d"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -300,9 +300,9 @@ Functions</h2></td></tr>
300
300
  </div><div class="memdoc">
301
301
 
302
302
  <p class="definition">Definition at line <a class="el" href="CPPUtil_8cpp_source.html#l00291">291</a> of file <a class="el" href="CPPUtil_8cpp_source.html">CPPUtil.cpp</a>.</p>
303
- <div class="fragment"><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;{</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *ret = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;bb:*<a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; {</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;inst: bb)</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">if</span> (llvm::isa&lt;CallInst&gt;(inst) || llvm::isa&lt;InvokeInst&gt;(inst)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; || llvm::isa&lt;CallBrInst&gt;(inst))</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs(const_cast&lt;Instruction*&gt;(&amp;inst));</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">// assert(cs.getCalledFunction() &amp;&amp;</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// &quot;Indirect call detected in thunk func&quot;);</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// assert(ret == nullptr &amp;&amp; &quot;multiple callsites in thunk func&quot;);</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; ret = cs.getCalledFunction();</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; }</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; }</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;}</div><div class="ttc" id="namespaceSVF_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="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
304
- <div class="ttc" id="CFLGrammar_8txt_html_acc7b4cf736579c4d83be2316d5a9e5f2"><div class="ttname"><a href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00013">CFLGrammar.txt:13</a></div></div>
303
+ <div class="fragment"><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;{</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *ret = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;bb:*<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; {</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;inst: bb)</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">if</span> (llvm::isa&lt;CallInst&gt;(inst) || llvm::isa&lt;InvokeInst&gt;(inst)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; || llvm::isa&lt;CallBrInst&gt;(inst))</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs(const_cast&lt;Instruction*&gt;(&amp;inst));</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">// assert(cs.getCalledFunction() &amp;&amp;</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// &quot;Indirect call detected in thunk func&quot;);</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// assert(ret == nullptr &amp;&amp; &quot;multiple callsites in thunk func&quot;);</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; ret = cs.getCalledFunction();</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; }</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; }</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;}</div><div class="ttc" id="namespaceSVF_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="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
305
304
  <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00201">BasicTypes.h:201</a></div></div>
305
+ <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
306
306
  </div><!-- fragment -->
307
307
  </div>
308
308
  </div>
@@ -401,12 +401,12 @@ Functions</h2></td></tr>
401
401
  <p>TODO: on mac os function name is an empty string after demangling </p>
402
402
 
403
403
  <p class="definition">Definition at line <a class="el" href="CPPUtil_8cpp_source.html#l00454">454</a> of file <a class="el" href="CPPUtil_8cpp_source.html">CPPUtil.cpp</a>.</p>
404
- <div class="fragment"><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;{</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>-&gt;isDeclaration())</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordtype">string</span> funcName = <a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>-&gt;getName().str();</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span> (funcName.compare(0, <a class="code" href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a>.size(), <a class="code" href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a>) != 0)</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keyword">struct </span><a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html">cppUtil::DemangledName</a> dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">demangle</a>(funcName.c_str());</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">if</span> (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() == 0)</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; {</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordtype">size_t</span> colon = dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.rfind(<span class="stringliteral">&quot;::&quot;</span>);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">if</span> (colon == string::npos)</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; {</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>);</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; }</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; {</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.substr(colon+2));</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">if</span> (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() &gt; 0 &amp;&amp; (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.compare(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>) == 0))</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;}</div><div class="ttc" id="structSVF_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#l00046">CPPUtil.h:46</a></div></div>
404
+ <div class="fragment"><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;{</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>-&gt;isDeclaration())</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordtype">string</span> funcName = <a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>-&gt;getName().str();</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span> (funcName.compare(0, <a class="code" href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a>.size(), <a class="code" href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a>) != 0)</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keyword">struct </span><a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html">cppUtil::DemangledName</a> dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">demangle</a>(funcName.c_str());</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">if</span> (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() == 0)</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; {</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordtype">size_t</span> colon = dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.rfind(<span class="stringliteral">&quot;::&quot;</span>);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">if</span> (colon == string::npos)</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; {</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>);</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; }</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; {</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.substr(colon+2));</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">if</span> (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() &gt; 0 &amp;&amp; (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.compare(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>) == 0))</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;}</div><div class="ttc" id="structSVF_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#l00046">CPPUtil.h:46</a></div></div>
405
405
  <div class="ttc" id="structSVF_1_1cppUtil_1_1DemangledName_html_a1dd17b240663bc9412adefde82385e02"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">SVF::cppUtil::DemangledName::funcName</a></div><div class="ttdeci">std::string funcName</div><div class="ttdef"><b>Definition:</b> <a href="CPPUtil_8h_source.html#l00049">CPPUtil.h:49</a></div></div>
406
406
  <div class="ttc" id="structSVF_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#l00048">CPPUtil.h:48</a></div></div>
407
407
  <div class="ttc" id="namespaceSVF_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>
408
- <div class="ttc" id="CFLGrammar_8txt_html_acc7b4cf736579c4d83be2316d5a9e5f2"><div class="ttname"><a href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00013">CFLGrammar.txt:13</a></div></div>
409
408
  <div class="ttc" id="namespaceSVF_1_1cppUtil_html_a1007c092efaeae41002efd91b803a7f6"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">SVF::cppUtil::demangle</a></div><div class="ttdeci">struct DemangledName demangle(const std::string &amp;name)</div></div>
409
+ <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
410
410
  <div class="ttc" id="CPPUtil_8cpp_html_a74958d1db4b08e58aee58557d386c24b"><div class="ttname"><a href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a></div><div class="ttdeci">const string vfunPreLabel</div><div class="ttdef"><b>Definition:</b> <a href="CPPUtil_8cpp_source.html#l00048">CPPUtil.cpp:48</a></div></div>
411
411
  </div><!-- fragment -->
412
412
  </div>
@@ -428,10 +428,10 @@ Functions</h2></td></tr>
428
428
  </div><div class="memdoc">
429
429
 
430
430
  <p class="definition">Definition at line <a class="el" href="CPPUtil_8cpp_source.html#l00285">285</a> of file <a class="el" href="CPPUtil_8cpp_source.html">CPPUtil.cpp</a>.</p>
431
- <div class="fragment"><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;{</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html">cppUtil::DemangledName</a> dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">cppUtil::demangle</a>(<a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>-&gt;getName().str());</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">return</span> dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#af6117df8aec7f4c077058fa8f00b0243">isThunkFunc</a>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;}</div><div class="ttc" id="structSVF_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#l00050">CPPUtil.h:50</a></div></div>
431
+ <div class="fragment"><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;{</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html">cppUtil::DemangledName</a> dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">cppUtil::demangle</a>(<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>-&gt;getName().str());</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">return</span> dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#af6117df8aec7f4c077058fa8f00b0243">isThunkFunc</a>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;}</div><div class="ttc" id="structSVF_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#l00050">CPPUtil.h:50</a></div></div>
432
432
  <div class="ttc" id="structSVF_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#l00046">CPPUtil.h:46</a></div></div>
433
- <div class="ttc" id="CFLGrammar_8txt_html_acc7b4cf736579c4d83be2316d5a9e5f2"><div class="ttname"><a href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00013">CFLGrammar.txt:13</a></div></div>
434
433
  <div class="ttc" id="namespaceSVF_1_1cppUtil_html_a1007c092efaeae41002efd91b803a7f6"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">SVF::cppUtil::demangle</a></div><div class="ttdeci">struct DemangledName demangle(const std::string &amp;name)</div></div>
434
+ <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
435
435
  </div><!-- fragment -->
436
436
  </div>
437
437
  </div>
@@ -452,12 +452,12 @@ Functions</h2></td></tr>
452
452
  </div><div class="memdoc">
453
453
 
454
454
  <p class="definition">Definition at line <a class="el" href="CPPUtil_8cpp_source.html#l00486">486</a> of file <a class="el" href="CPPUtil_8cpp_source.html">CPPUtil.cpp</a>.</p>
455
- <div class="fragment"><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;{</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>-&gt;isDeclaration())</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordtype">string</span> funcName = <a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>-&gt;getName().str();</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span> (funcName.compare(0, <a class="code" href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a>.size(), <a class="code" href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a>) != 0)</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keyword">struct </span><a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html">cppUtil::DemangledName</a> dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">demangle</a>(funcName.c_str());</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">if</span> (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() == 0)</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; {</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>);</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordtype">size_t</span> colon = dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.rfind(<span class="stringliteral">&quot;::&quot;</span>);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">if</span> (colon == string::npos)</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.substr(colon+2));</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">if</span> (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() &gt; 0 &amp;&amp; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>.size() &gt; 0 &amp;&amp;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() + 1 == dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>.size() &amp;&amp;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>.compare(0, 1, <span class="stringliteral">&quot;~&quot;</span>) == 0 &amp;&amp;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.compare(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>.substr(1)) == 0)</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;}</div><div class="ttc" id="structSVF_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#l00046">CPPUtil.h:46</a></div></div>
455
+ <div class="fragment"><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;{</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>-&gt;isDeclaration())</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordtype">string</span> funcName = <a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>-&gt;getName().str();</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span> (funcName.compare(0, <a class="code" href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a>.size(), <a class="code" href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a>) != 0)</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keyword">struct </span><a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html">cppUtil::DemangledName</a> dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">demangle</a>(funcName.c_str());</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">if</span> (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() == 0)</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; {</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>);</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordtype">size_t</span> colon = dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.rfind(<span class="stringliteral">&quot;::&quot;</span>);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">if</span> (colon == string::npos)</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a> = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">getBeforeBrackets</a>(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.substr(colon+2));</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">if</span> (dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() &gt; 0 &amp;&amp; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>.size() &gt; 0 &amp;&amp;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.size() + 1 == dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>.size() &amp;&amp;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>.compare(0, 1, <span class="stringliteral">&quot;~&quot;</span>) == 0 &amp;&amp;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>.compare(dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>.substr(1)) == 0)</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;}</div><div class="ttc" id="structSVF_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#l00046">CPPUtil.h:46</a></div></div>
456
456
  <div class="ttc" id="structSVF_1_1cppUtil_1_1DemangledName_html_a1dd17b240663bc9412adefde82385e02"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">SVF::cppUtil::DemangledName::funcName</a></div><div class="ttdeci">std::string funcName</div><div class="ttdef"><b>Definition:</b> <a href="CPPUtil_8h_source.html#l00049">CPPUtil.h:49</a></div></div>
457
457
  <div class="ttc" id="structSVF_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#l00048">CPPUtil.h:48</a></div></div>
458
458
  <div class="ttc" id="namespaceSVF_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>
459
- <div class="ttc" id="CFLGrammar_8txt_html_acc7b4cf736579c4d83be2316d5a9e5f2"><div class="ttname"><a href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00013">CFLGrammar.txt:13</a></div></div>
460
459
  <div class="ttc" id="namespaceSVF_1_1cppUtil_html_a1007c092efaeae41002efd91b803a7f6"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">SVF::cppUtil::demangle</a></div><div class="ttdeci">struct DemangledName demangle(const std::string &amp;name)</div></div>
460
+ <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
461
461
  <div class="ttc" id="CPPUtil_8cpp_html_a74958d1db4b08e58aee58557d386c24b"><div class="ttname"><a href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">vfunPreLabel</a></div><div class="ttdeci">const string vfunPreLabel</div><div class="ttdef"><b>Definition:</b> <a href="CPPUtil_8cpp_source.html#l00048">CPPUtil.cpp:48</a></div></div>
462
462
  </div><!-- fragment -->
463
463
  </div>