svf-tools 1.0.341 → 1.0.345

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 (465) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +6 -6
  3. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +9 -9
  5. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  7. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  8. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
  9. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
  10. package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
  11. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +7 -7
  12. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +3 -3
  13. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
  14. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
  15. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  16. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
  17. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
  18. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  19. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -6
  20. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +11 -11
  21. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +15 -15
  22. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/ICFGNode_8h.html +7 -7
  24. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +69 -69
  25. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +64 -61
  27. package/SVF-doxygen/html/html/ICFG_8h_source.html +46 -46
  28. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
  29. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +6 -6
  30. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
  34. package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
  35. package/SVF-doxygen/html/html/MHP_8h_source.html +6 -6
  36. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
  37. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
  39. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +27 -27
  40. package/SVF-doxygen/html/html/MemRegion_8h_source.html +18 -18
  41. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
  42. package/SVF-doxygen/html/html/MemSSA_8h_source.html +12 -12
  43. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/Options_8cpp_source.html +2 -2
  45. package/SVF-doxygen/html/html/Options_8h_source.html +2 -2
  46. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/PCG_8h_source.html +4 -4
  48. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +10 -10
  49. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -17
  50. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  51. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  52. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
  53. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
  54. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
  55. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
  56. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
  57. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +17 -17
  58. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
  59. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
  60. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +32 -32
  61. package/SVF-doxygen/html/html/SVFG_8h_source.html +27 -27
  62. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -3
  63. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +13 -13
  64. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
  65. package/SVF-doxygen/html/html/SVFIR_8h_source.html +31 -31
  66. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +20 -20
  67. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +14 -14
  68. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +8 -8
  69. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +5 -5
  70. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +7 -7
  72. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  73. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +4 -4
  74. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  75. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +2 -2
  76. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
  77. package/SVF-doxygen/html/html/TCT_8h_source.html +3 -3
  78. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +15 -15
  79. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +20 -20
  80. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +5 -5
  81. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
  82. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  83. package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
  84. package/SVF-doxygen/html/html/VFG_8cpp_source.html +20 -20
  85. package/SVF-doxygen/html/html/VFG_8h_source.html +19 -19
  86. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  87. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  88. package/SVF-doxygen/html/html/annotated.html +17 -17
  89. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +3 -3
  90. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +23 -23
  91. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +3 -3
  92. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +23 -23
  93. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +3 -3
  94. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +22 -22
  95. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +3 -3
  96. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +24 -24
  97. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +3 -3
  98. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient-members.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +7 -7
  100. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +12 -12
  101. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +47 -47
  102. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +12 -12
  103. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +34 -34
  104. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +12 -12
  105. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +32 -32
  106. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +12 -12
  107. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +32 -32
  108. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +12 -12
  109. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +32 -32
  110. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +12 -12
  111. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +34 -34
  112. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +12 -12
  113. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +32 -32
  114. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +12 -12
  115. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +32 -32
  116. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +12 -12
  117. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +38 -38
  118. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +6 -5
  119. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +15 -12
  121. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +5 -3
  122. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +2 -2
  123. package/SVF-doxygen/html/html/classSVF_1_1CallCHI-members.html +3 -3
  124. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +22 -22
  125. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
  126. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +158 -0
  127. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +852 -0
  128. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.png +0 -0
  129. package/SVF-doxygen/html/html/classSVF_1_1CallMU-members.html +3 -3
  130. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +22 -22
  131. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +4 -4
  132. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +31 -31
  133. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +6 -5
  134. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +12 -12
  136. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +31 -31
  137. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +3 -3
  138. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +14 -14
  139. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +60 -60
  140. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +3 -3
  141. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver-members.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +16 -16
  143. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +21 -21
  144. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +51 -51
  145. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +5 -5
  146. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  147. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -3
  148. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +12 -12
  149. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +33 -33
  150. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +5 -5
  151. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +20 -20
  152. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +11 -11
  153. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +52 -52
  154. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +12 -12
  155. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +43 -43
  156. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +12 -12
  157. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +33 -33
  158. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis-members.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +21 -21
  160. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +3 -3
  161. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +19 -19
  162. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +3 -3
  163. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +18 -18
  164. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +4 -2
  165. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode-members.html +150 -0
  166. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +618 -0
  167. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.png +0 -0
  168. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +4 -2
  169. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +149 -0
  170. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +624 -0
  171. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.png +0 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient-members.html +1 -1
  173. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +12 -12
  174. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +3 -3
  175. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  176. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  177. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +4 -4
  178. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -3
  179. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +3 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode-members.html +144 -0
  181. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +413 -0
  182. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.png +0 -0
  183. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +3 -3
  184. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +11 -11
  185. package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +22 -22
  186. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +224 -217
  187. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder-members.html +4 -4
  188. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +74 -71
  189. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +2 -2
  190. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +10 -10
  191. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.png +0 -0
  192. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +11 -11
  193. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +30 -30
  194. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +3 -3
  195. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +21 -21
  196. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +51 -51
  197. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode-members.html +144 -0
  198. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +399 -0
  199. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.png +0 -0
  200. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +2 -2
  201. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +23 -23
  202. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +2 -2
  203. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +21 -21
  204. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +7 -3
  205. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +2 -2
  206. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +21 -21
  207. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +51 -51
  208. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode-members.html +146 -0
  209. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +494 -0
  210. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.png +0 -0
  211. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +5 -5
  213. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +61 -61
  214. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +4 -4
  215. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +1 -1
  216. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +14 -14
  217. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator-members.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +11 -11
  219. package/SVF-doxygen/html/html/classSVF_1_1MHP-members.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +22 -22
  221. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +24 -24
  222. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +198 -198
  223. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  224. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
  225. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
  226. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +10 -10
  228. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +77 -77
  229. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +4 -4
  230. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
  231. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +4 -4
  232. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -3
  233. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  234. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +27 -27
  235. package/SVF-doxygen/html/html/classSVF_1_1Options.html +26 -26
  236. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  237. package/SVF-doxygen/html/html/classSVF_1_1PCG-members.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +13 -13
  239. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  240. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +15 -15
  241. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +118 -118
  242. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +3 -3
  243. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +32 -32
  244. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +6 -6
  245. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +12 -12
  246. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +109 -109
  247. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice-members.html +2 -2
  248. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +18 -18
  249. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +5 -3
  250. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +2 -2
  251. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +153 -0
  252. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +696 -0
  253. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.png +0 -0
  254. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +4 -4
  255. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +30 -30
  256. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  257. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +24 -24
  258. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +160 -160
  259. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  260. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +24 -24
  261. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +76 -76
  262. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +19 -19
  263. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +131 -131
  264. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +4 -4
  265. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +62 -62
  266. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +1 -1
  267. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI-members.html +4 -4
  268. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +20 -20
  269. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +1 -1
  270. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
  271. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +1 -1
  272. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +7 -7
  273. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +12 -12
  274. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +32 -32
  275. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +1 -1
  276. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +11 -11
  277. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1TCT-members.html +1 -1
  279. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +22 -22
  280. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +4 -4
  281. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +19 -19
  282. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +4 -4
  283. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +19 -19
  284. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +40 -40
  285. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +220 -220
  286. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +10 -10
  287. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +3 -3
  288. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +11 -11
  289. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +3 -3
  290. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +11 -11
  291. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +12 -12
  292. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +42 -42
  293. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
  294. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +10 -9
  295. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +9 -9
  297. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +96 -96
  298. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -3
  299. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +4 -4
  300. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +12 -12
  301. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +37 -37
  302. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +12 -12
  303. package/SVF-doxygen/html/html/classes.html +16 -16
  304. package/SVF-doxygen/html/html/functions_a.html +59 -59
  305. package/SVF-doxygen/html/html/functions_c.html +65 -67
  306. package/SVF-doxygen/html/html/functions_f.html +14 -14
  307. package/SVF-doxygen/html/html/functions_func.html +56 -56
  308. package/SVF-doxygen/html/html/functions_func_c.html +28 -28
  309. package/SVF-doxygen/html/html/functions_func_f.html +6 -6
  310. package/SVF-doxygen/html/html/functions_func_g.html +86 -86
  311. package/SVF-doxygen/html/html/functions_func_h.html +17 -17
  312. package/SVF-doxygen/html/html/functions_func_i.html +12 -12
  313. package/SVF-doxygen/html/html/functions_func_m.html +1 -1
  314. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  315. package/SVF-doxygen/html/html/functions_func_r.html +6 -6
  316. package/SVF-doxygen/html/html/functions_func_s.html +2 -2
  317. package/SVF-doxygen/html/html/functions_func_t.html +7 -7
  318. package/SVF-doxygen/html/html/functions_func_u.html +3 -3
  319. package/SVF-doxygen/html/html/functions_g.html +88 -88
  320. package/SVF-doxygen/html/html/functions_h.html +16 -16
  321. package/SVF-doxygen/html/html/functions_i.html +19 -19
  322. package/SVF-doxygen/html/html/functions_m.html +1 -1
  323. package/SVF-doxygen/html/html/functions_p.html +10 -13
  324. package/SVF-doxygen/html/html/functions_r.html +6 -6
  325. package/SVF-doxygen/html/html/functions_s.html +21 -18
  326. package/SVF-doxygen/html/html/functions_t.html +13 -15
  327. package/SVF-doxygen/html/html/functions_type.html +1 -1
  328. package/SVF-doxygen/html/html/functions_type_c.html +24 -24
  329. package/SVF-doxygen/html/html/functions_type_f.html +3 -3
  330. package/SVF-doxygen/html/html/functions_type_i.html +2 -2
  331. package/SVF-doxygen/html/html/functions_type_p.html +1 -1
  332. package/SVF-doxygen/html/html/functions_type_s.html +1 -1
  333. package/SVF-doxygen/html/html/functions_type_v.html +2 -2
  334. package/SVF-doxygen/html/html/functions_u.html +3 -3
  335. package/SVF-doxygen/html/html/functions_v.html +5 -5
  336. package/SVF-doxygen/html/html/functions_vars_a.html +2 -2
  337. package/SVF-doxygen/html/html/functions_vars_c.html +11 -11
  338. package/SVF-doxygen/html/html/functions_vars_f.html +5 -5
  339. package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
  340. package/SVF-doxygen/html/html/functions_vars_i.html +3 -3
  341. package/SVF-doxygen/html/html/functions_vars_p.html +0 -3
  342. package/SVF-doxygen/html/html/functions_vars_r.html +1 -1
  343. package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
  344. package/SVF-doxygen/html/html/hierarchy.html +7 -7
  345. package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
  346. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +11 -11
  347. package/SVF-doxygen/html/html/search/all_1.js +58 -58
  348. package/SVF-doxygen/html/html/search/all_10.js +2 -3
  349. package/SVF-doxygen/html/html/search/all_12.js +5 -5
  350. package/SVF-doxygen/html/html/search/all_13.js +5 -4
  351. package/SVF-doxygen/html/html/search/all_14.js +8 -8
  352. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  353. package/SVF-doxygen/html/html/search/all_16.js +3 -3
  354. package/SVF-doxygen/html/html/search/all_3.js +35 -34
  355. package/SVF-doxygen/html/html/search/all_6.js +12 -12
  356. package/SVF-doxygen/html/html/search/all_7.js +62 -61
  357. package/SVF-doxygen/html/html/search/all_8.js +17 -17
  358. package/SVF-doxygen/html/html/search/all_9.js +15 -15
  359. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  360. package/SVF-doxygen/html/html/search/classes_2.js +1 -1
  361. package/SVF-doxygen/html/html/search/classes_5.js +2 -2
  362. package/SVF-doxygen/html/html/search/classes_6.js +1 -1
  363. package/SVF-doxygen/html/html/search/classes_8.js +2 -2
  364. package/SVF-doxygen/html/html/search/classes_e.js +1 -1
  365. package/SVF-doxygen/html/html/search/functions_0.js +55 -55
  366. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  367. package/SVF-doxygen/html/html/search/functions_11.js +4 -4
  368. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  369. package/SVF-doxygen/html/html/search/functions_2.js +10 -10
  370. package/SVF-doxygen/html/html/search/functions_5.js +4 -4
  371. package/SVF-doxygen/html/html/search/functions_6.js +61 -61
  372. package/SVF-doxygen/html/html/search/functions_7.js +17 -17
  373. package/SVF-doxygen/html/html/search/functions_8.js +12 -12
  374. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  375. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  376. package/SVF-doxygen/html/html/search/functions_f.js +4 -4
  377. package/SVF-doxygen/html/html/search/typedefs_0.js +1 -1
  378. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  379. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
  380. package/SVF-doxygen/html/html/search/typedefs_2.js +21 -21
  381. package/SVF-doxygen/html/html/search/typedefs_5.js +3 -3
  382. package/SVF-doxygen/html/html/search/typedefs_8.js +2 -2
  383. package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
  384. package/SVF-doxygen/html/html/search/variables_1.js +2 -2
  385. package/SVF-doxygen/html/html/search/variables_10.js +0 -1
  386. package/SVF-doxygen/html/html/search/variables_12.js +1 -1
  387. package/SVF-doxygen/html/html/search/variables_13.js +1 -0
  388. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  389. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  390. package/SVF-doxygen/html/html/search/variables_3.js +4 -4
  391. package/SVF-doxygen/html/html/search/variables_6.js +5 -5
  392. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  393. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  394. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  395. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +23 -23
  396. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  397. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  398. package/include/DDA/ContextDDA.h +3 -3
  399. package/include/DDA/DDAClient.h +2 -2
  400. package/include/DDA/DDAVFSolver.h +2 -2
  401. package/include/DDA/FlowDDA.h +2 -2
  402. package/include/Graphs/ICFG.h +33 -33
  403. package/include/Graphs/ICFGNode.h +33 -33
  404. package/include/Graphs/ICFGStat.h +11 -11
  405. package/include/Graphs/PTACallGraph.h +19 -19
  406. package/include/Graphs/SVFG.h +16 -16
  407. package/include/Graphs/SVFGNode.h +14 -14
  408. package/include/Graphs/SVFGOPT.h +1 -1
  409. package/include/Graphs/ThreadCallGraph.h +25 -25
  410. package/include/Graphs/VFG.h +10 -10
  411. package/include/Graphs/VFGNode.h +8 -8
  412. package/include/MSSA/MSSAMuChi.h +6 -6
  413. package/include/MSSA/MemRegion.h +24 -24
  414. package/include/MSSA/MemSSA.h +10 -10
  415. package/include/MTA/LockResultValidator.h +2 -2
  416. package/include/MTA/MHP.h +4 -4
  417. package/include/MTA/PCG.h +1 -1
  418. package/include/MTA/TCT.h +2 -2
  419. package/include/MemoryModel/PointerAnalysis.h +12 -12
  420. package/include/MemoryModel/SVFIR.h +21 -21
  421. package/include/MemoryModel/SVFStatements.h +11 -11
  422. package/include/SABER/LeakChecker.h +4 -4
  423. package/include/SABER/ProgSlice.h +2 -2
  424. package/include/SABER/SaberCheckerAPI.h +4 -4
  425. package/include/SABER/SaberSVFGBuilder.h +1 -1
  426. package/include/SABER/SrcSnkDDA.h +1 -1
  427. package/include/SVF-FE/ICFGBuilder.h +4 -4
  428. package/include/SVF-FE/SVFIRBuilder.h +5 -5
  429. package/include/Util/Options.h +1 -1
  430. package/lib/DDA/ContextDDA.cpp +3 -3
  431. package/lib/DDA/DDAClient.cpp +1 -1
  432. package/lib/DDA/FlowDDA.cpp +1 -1
  433. package/lib/Graphs/ICFG.cpp +88 -71
  434. package/lib/Graphs/PTACallGraph.cpp +5 -5
  435. package/lib/Graphs/SVFG.cpp +7 -7
  436. package/lib/Graphs/ThreadCallGraph.cpp +6 -6
  437. package/lib/Graphs/VFG.cpp +6 -6
  438. package/lib/MSSA/MemRegion.cpp +17 -17
  439. package/lib/MSSA/MemSSA.cpp +3 -3
  440. package/lib/MTA/LockAnalysis.cpp +4 -4
  441. package/lib/MTA/MHP.cpp +5 -5
  442. package/lib/MTA/MTAResultValidator.cpp +1 -1
  443. package/lib/MTA/PCG.cpp +1 -1
  444. package/lib/MemoryModel/PointerAnalysis.cpp +10 -10
  445. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  446. package/lib/MemoryModel/SVFIR.cpp +5 -5
  447. package/lib/MemoryModel/SVFStatements.cpp +53 -49
  448. package/lib/MemoryModel/SVFVariables.cpp +10 -10
  449. package/lib/SABER/DoubleFreeChecker.cpp +1 -1
  450. package/lib/SABER/FileChecker.cpp +2 -2
  451. package/lib/SABER/LeakChecker.cpp +8 -8
  452. package/lib/SABER/ProgSlice.cpp +2 -2
  453. package/lib/SVF-FE/CallGraphBuilder.cpp +4 -4
  454. package/lib/SVF-FE/Graph2Json.cpp +5 -5
  455. package/lib/SVF-FE/ICFGBuilder.cpp +31 -25
  456. package/lib/SVF-FE/SVFIRBuilder.cpp +8 -8
  457. package/lib/Util/Options.cpp +3 -3
  458. package/lib/Util/SVFUtil.cpp +2 -0
  459. package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
  460. package/lib/WPA/Andersen.cpp +3 -3
  461. package/lib/WPA/FlowSensitive.cpp +2 -2
  462. package/lib/WPA/TypeAnalysis.cpp +1 -1
  463. package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
  464. package/lib/WPA/WPAPass.cpp +4 -4
  465. package/package.json +1 -1
@@ -97,18 +97,18 @@ Public Types</h2></td></tr>
97
97
  <tr class="separator:a1ad288117daa4031e195eb35d805cac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
98
98
  <tr class="memitem:a049bc978a93f0db1fe91efb6feb22b14"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a049bc978a93f0db1fe91efb6feb22b14">FunToCallGraphNodeMap</a></td></tr>
99
99
  <tr class="separator:a049bc978a93f0db1fe91efb6feb22b14"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
- <tr class="memitem:a16d115dd425ec02ab6d91c711fab7fd9"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="classSVF_1_1PTACallGraph.html#a1ad288117daa4031e195eb35d805cac6">CallGraphEdgeSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a16d115dd425ec02ab6d91c711fab7fd9">CallInstToCallGraphEdgesMap</a></td></tr>
101
- <tr class="separator:a16d115dd425ec02ab6d91c711fab7fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
- <tr class="memitem:a1d1ea71cb29e190ad3c6817810bd57c7"><td class="memItemLeft" align="right" valign="top">typedef std::pair&lt; const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">CallSitePair</a></td></tr>
103
- <tr class="separator:a1d1ea71cb29e190ad3c6817810bd57c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
- <tr class="memitem:ae4e3e5f108bc1e47af8f58d2e43345d2"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">CallSitePair</a>, <a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ae4e3e5f108bc1e47af8f58d2e43345d2">CallSiteToIdMap</a></td></tr>
100
+ <tr class="memitem:a09245c929079024095cfe0d6570b70e8"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *, <a class="el" href="classSVF_1_1PTACallGraph.html#a1ad288117daa4031e195eb35d805cac6">CallGraphEdgeSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a09245c929079024095cfe0d6570b70e8">CallInstToCallGraphEdgesMap</a></td></tr>
101
+ <tr class="separator:a09245c929079024095cfe0d6570b70e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+ <tr class="memitem:a178d9971028e8ce26ab8894c5c6b5784"><td class="memItemLeft" align="right" valign="top">typedef std::pair&lt; const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">CallSitePair</a></td></tr>
103
+ <tr class="separator:a178d9971028e8ce26ab8894c5c6b5784"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
+ <tr class="memitem:ae4e3e5f108bc1e47af8f58d2e43345d2"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">CallSitePair</a>, <a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ae4e3e5f108bc1e47af8f58d2e43345d2">CallSiteToIdMap</a></td></tr>
105
105
  <tr class="separator:ae4e3e5f108bc1e47af8f58d2e43345d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
- <tr class="memitem:a5f626f5c9254b9e643d943e59068efba"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>, <a class="el" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">CallSitePair</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a5f626f5c9254b9e643d943e59068efba">IdToCallSiteMap</a></td></tr>
106
+ <tr class="memitem:a5f626f5c9254b9e643d943e59068efba"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; <a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>, <a class="el" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">CallSitePair</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a5f626f5c9254b9e643d943e59068efba">IdToCallSiteMap</a></td></tr>
107
107
  <tr class="separator:a5f626f5c9254b9e643d943e59068efba"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
108
  <tr class="memitem:a5f5a5ec7e707a21994d301cc07d32a5a"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a></td></tr>
109
109
  <tr class="separator:a5f5a5ec7e707a21994d301cc07d32a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
- <tr class="memitem:a47bfbae96294592f4e6060deddbe5700"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a47bfbae96294592f4e6060deddbe5700">CallEdgeMap</a></td></tr>
111
- <tr class="separator:a47bfbae96294592f4e6060deddbe5700"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
+ <tr class="memitem:a4948c9e7ff7f1c86d0f27c49e7208aa3"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt; const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *, <a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a4948c9e7ff7f1c86d0f27c49e7208aa3">CallEdgeMap</a></td></tr>
111
+ <tr class="separator:a4948c9e7ff7f1c86d0f27c49e7208aa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
112
112
  <tr class="memitem:a2f28a1ce0c7d6a0bc2fc2627e90acf1c"><td class="memItemLeft" align="right" valign="top">typedef CallGraphEdgeSet::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a2f28a1ce0c7d6a0bc2fc2627e90acf1c">CallGraphEdgeIter</a></td></tr>
113
113
  <tr class="separator:a2f28a1ce0c7d6a0bc2fc2627e90acf1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
114
114
  <tr class="memitem:a9b7f6979a95244c620fdb791e053237b"><td class="memItemLeft" align="right" valign="top">typedef CallGraphEdgeSet::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a9b7f6979a95244c620fdb791e053237b">CallGraphEdgeConstIter</a></td></tr>
@@ -145,7 +145,7 @@ Public Member Functions</h2></td></tr>
145
145
  <tr class="separator:aab4214b734d00f5db59385535419ca58"><td class="memSeparator" colspan="2">&#160;</td></tr>
146
146
  <tr class="memitem:a3379185589e9bcafa4f961930aaf2694"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a3379185589e9bcafa4f961930aaf2694">getNumOfResolvedIndCallEdge</a> () const</td></tr>
147
147
  <tr class="separator:a3379185589e9bcafa4f961930aaf2694"><td class="memSeparator" colspan="2">&#160;</td></tr>
148
- <tr class="memitem:a368306a46d84ccc6d07d94833aded629"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1PTACallGraph.html#a16d115dd425ec02ab6d91c711fab7fd9">CallInstToCallGraphEdgesMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a368306a46d84ccc6d07d94833aded629">getCallInstToCallGraphEdgesMap</a> () const</td></tr>
148
+ <tr class="memitem:a368306a46d84ccc6d07d94833aded629"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1PTACallGraph.html#a09245c929079024095cfe0d6570b70e8">CallInstToCallGraphEdgesMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a368306a46d84ccc6d07d94833aded629">getCallInstToCallGraphEdgesMap</a> () const</td></tr>
149
149
  <tr class="separator:a368306a46d84ccc6d07d94833aded629"><td class="memSeparator" colspan="2">&#160;</td></tr>
150
150
  <tr class="memitem:ac695d78f0a78e2e5f1fb4f93264e52b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ac695d78f0a78e2e5f1fb4f93264e52b8">verifyCallGraph</a> ()</td></tr>
151
151
  <tr class="memdesc:ac695d78f0a78e2e5f1fb4f93264e52b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a warning if the function which has indirect call sites can not be reached from program entry. <a href="#ac695d78f0a78e2e5f1fb4f93264e52b8">More...</a><br /></td></tr>
@@ -156,9 +156,9 @@ Public Member Functions</h2></td></tr>
156
156
  <tr class="memitem:a2634a24621ab93fae7ec1cf94a8cba0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a2634a24621ab93fae7ec1cf94a8cba0b">getGraphEdge</a> (<a class="el" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a> *src, <a class="el" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a> *dst, <a class="el" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7">PTACallGraphEdge::CEDGEK</a> <a class="el" href="classSVF_1_1PTACallGraph.html#a6a5927a58cc777a0745bd0ca635f25b1">kind</a>, <a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId)</td></tr>
157
157
  <tr class="memdesc:a2634a24621ab93fae7ec1cf94a8cba0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get call graph edge via nodes. <a href="#a2634a24621ab93fae7ec1cf94a8cba0b">More...</a><br /></td></tr>
158
158
  <tr class="separator:a2634a24621ab93fae7ec1cf94a8cba0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
159
- <tr class="memitem:a486f79252c216eb5a9f4c09261a24ae2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a486f79252c216eb5a9f4c09261a24ae2">getCallees</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, <a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a> &amp;callees)</td></tr>
160
- <tr class="memdesc:a486f79252c216eb5a9f4c09261a24ae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all callees for a callsite. <a href="#a486f79252c216eb5a9f4c09261a24ae2">More...</a><br /></td></tr>
161
- <tr class="separator:a486f79252c216eb5a9f4c09261a24ae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
159
+ <tr class="memitem:a317e09edb29b110cf4273009551d31ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a317e09edb29b110cf4273009551d31ec">getCallees</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs, <a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a> &amp;callees)</td></tr>
160
+ <tr class="memdesc:a317e09edb29b110cf4273009551d31ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get all callees for a callsite. <a href="#a317e09edb29b110cf4273009551d31ec">More...</a><br /></td></tr>
161
+ <tr class="separator:a317e09edb29b110cf4273009551d31ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
162
162
  <tr class="memitem:a3154bbc421fc85649e786ed67ca03750"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">addEdge</a> (<a class="el" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a> *edge)</td></tr>
163
163
  <tr class="memdesc:a3154bbc421fc85649e786ed67ca03750"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add call graph edge. <a href="#a3154bbc421fc85649e786ed67ca03750">More...</a><br /></td></tr>
164
164
  <tr class="separator:a3154bbc421fc85649e786ed67ca03750"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -172,13 +172,13 @@ Public Member Functions</h2></td></tr>
172
172
  <tr class="memdesc:a7c2d28b4707d7feaabf62977cef90d27"><td class="mdescLeft">&#160;</td><td class="mdescRight">View the graph from the debugger. <a href="#a7c2d28b4707d7feaabf62977cef90d27">More...</a><br /></td></tr>
173
173
  <tr class="separator:a7c2d28b4707d7feaabf62977cef90d27"><td class="memSeparator" colspan="2">&#160;</td></tr>
174
174
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
175
- <tr class="memitem:ad49fa2a288945f6910deb11acdf6a42d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraph.html#a47bfbae96294592f4e6060deddbe5700">CallEdgeMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a> ()</td></tr>
175
+ <tr class="memitem:ad49fa2a288945f6910deb11acdf6a42d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraph.html#a4948c9e7ff7f1c86d0f27c49e7208aa3">CallEdgeMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a> ()</td></tr>
176
176
  <tr class="memdesc:ad49fa2a288945f6910deb11acdf6a42d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get callees from an indirect callsite. <a href="#ad49fa2a288945f6910deb11acdf6a42d">More...</a><br /></td></tr>
177
177
  <tr class="separator:ad49fa2a288945f6910deb11acdf6a42d"><td class="memSeparator" colspan="2">&#160;</td></tr>
178
- <tr class="memitem:ac46ec4fe0094145c5fdb81394f1dd644"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ac46ec4fe0094145c5fdb81394f1dd644">hasIndCSCallees</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs) const</td></tr>
179
- <tr class="separator:ac46ec4fe0094145c5fdb81394f1dd644"><td class="memSeparator" colspan="2">&#160;</td></tr>
180
- <tr class="memitem:a88bec70a6bf5c1c41bc4efd035ef0e08"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a88bec70a6bf5c1c41bc4efd035ef0e08">getIndCSCallees</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs) const</td></tr>
181
- <tr class="separator:a88bec70a6bf5c1c41bc4efd035ef0e08"><td class="memSeparator" colspan="2">&#160;</td></tr>
178
+ <tr class="memitem:a71a63c53a093ea8e450fb53fd60c9424"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a71a63c53a093ea8e450fb53fd60c9424">hasIndCSCallees</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs) const</td></tr>
179
+ <tr class="separator:a71a63c53a093ea8e450fb53fd60c9424"><td class="memSeparator" colspan="2">&#160;</td></tr>
180
+ <tr class="memitem:ac106536778c829d6925d6ed2149aeb44"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ac106536778c829d6925d6ed2149aeb44">getIndCSCallees</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs) const</td></tr>
181
+ <tr class="separator:ac106536778c829d6925d6ed2149aeb44"><td class="memSeparator" colspan="2">&#160;</td></tr>
182
182
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
183
183
  <tr class="memitem:aaab54c670518d9d6790707f76ea76aa1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id) const</td></tr>
184
184
  <tr class="memdesc:aaab54c670518d9d6790707f76ea76aa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get call graph node. <a href="#aaab54c670518d9d6790707f76ea76aa1">More...</a><br /></td></tr>
@@ -186,42 +186,42 @@ Public Member Functions</h2></td></tr>
186
186
  <tr class="memitem:ae3ee76be0e959a736c868dc7e0128077"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ae3ee76be0e959a736c868dc7e0128077">getCallGraphNode</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun) const</td></tr>
187
187
  <tr class="separator:ae3ee76be0e959a736c868dc7e0128077"><td class="memSeparator" colspan="2">&#160;</td></tr>
188
188
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
189
- <tr class="memitem:a72efe87a80f84a3945a93431d9414d3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a72efe87a80f84a3945a93431d9414d3d">addCallSite</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee)</td></tr>
190
- <tr class="memdesc:a72efe87a80f84a3945a93431d9414d3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add/Get CallSiteID. <a href="#a72efe87a80f84a3945a93431d9414d3d">More...</a><br /></td></tr>
191
- <tr class="separator:a72efe87a80f84a3945a93431d9414d3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
192
- <tr class="memitem:afb2daec804e81f0beb72fbc805d1c82a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#afb2daec804e81f0beb72fbc805d1c82a">getCallSiteID</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee) const</td></tr>
193
- <tr class="separator:afb2daec804e81f0beb72fbc805d1c82a"><td class="memSeparator" colspan="2">&#160;</td></tr>
194
- <tr class="memitem:a236d1269b1b560e09f22e0197f6f1ad7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a236d1269b1b560e09f22e0197f6f1ad7">hasCallSiteID</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee) const</td></tr>
195
- <tr class="separator:a236d1269b1b560e09f22e0197f6f1ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
196
- <tr class="memitem:a9155629ddc58f71c6a6f2aec978e4610"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">CallSitePair</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a9155629ddc58f71c6a6f2aec978e4610">getCallSitePair</a> (<a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> id) const</td></tr>
189
+ <tr class="memitem:a979359fc784e647c574de90c7af2cf40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a979359fc784e647c574de90c7af2cf40">addCallSite</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee)</td></tr>
190
+ <tr class="memdesc:a979359fc784e647c574de90c7af2cf40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add/Get CallSiteID. <a href="#a979359fc784e647c574de90c7af2cf40">More...</a><br /></td></tr>
191
+ <tr class="separator:a979359fc784e647c574de90c7af2cf40"><td class="memSeparator" colspan="2">&#160;</td></tr>
192
+ <tr class="memitem:a711bd8ad385f8454fbfcd20f134efe1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a711bd8ad385f8454fbfcd20f134efe1b">getCallSiteID</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee) const</td></tr>
193
+ <tr class="separator:a711bd8ad385f8454fbfcd20f134efe1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
194
+ <tr class="memitem:aa8dbda3e46533680173e55d396f36756"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#aa8dbda3e46533680173e55d396f36756">hasCallSiteID</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee) const</td></tr>
195
+ <tr class="separator:aa8dbda3e46533680173e55d396f36756"><td class="memSeparator" colspan="2">&#160;</td></tr>
196
+ <tr class="memitem:a9155629ddc58f71c6a6f2aec978e4610"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">CallSitePair</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a9155629ddc58f71c6a6f2aec978e4610">getCallSitePair</a> (<a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> id) const</td></tr>
197
197
  <tr class="separator:a9155629ddc58f71c6a6f2aec978e4610"><td class="memSeparator" colspan="2">&#160;</td></tr>
198
- <tr class="memitem:a2c8b1674f1f942a3b5aa77b7abccb229"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a2c8b1674f1f942a3b5aa77b7abccb229">getCallSite</a> (<a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> id) const</td></tr>
199
- <tr class="separator:a2c8b1674f1f942a3b5aa77b7abccb229"><td class="memSeparator" colspan="2">&#160;</td></tr>
198
+ <tr class="memitem:a16e0017ad3a2d36d7efbc4383e394154"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a16e0017ad3a2d36d7efbc4383e394154">getCallSite</a> (<a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> id) const</td></tr>
199
+ <tr class="separator:a16e0017ad3a2d36d7efbc4383e394154"><td class="memSeparator" colspan="2">&#160;</td></tr>
200
200
  <tr class="memitem:a42035e9669204ddd5d38583db21af3d7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a42035e9669204ddd5d38583db21af3d7">getCallerOfCallSite</a> (<a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> id) const</td></tr>
201
201
  <tr class="separator:a42035e9669204ddd5d38583db21af3d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
202
202
  <tr class="memitem:aacd5f35171717cb4d758c17bef828a0f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#aacd5f35171717cb4d758c17bef828a0f">getCalleeOfCallSite</a> (<a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> id) const</td></tr>
203
203
  <tr class="separator:aacd5f35171717cb4d758c17bef828a0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
204
204
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
205
- <tr class="memitem:afdd308d681cb2a57e9473186f431db61"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#afdd308d681cb2a57e9473186f431db61">hasCallGraphEdge</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *inst) const</td></tr>
206
- <tr class="memdesc:afdd308d681cb2a57e9473186f431db61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get call graph edge via call instruction. <a href="#afdd308d681cb2a57e9473186f431db61">More...</a><br /></td></tr>
207
- <tr class="separator:afdd308d681cb2a57e9473186f431db61"><td class="memSeparator" colspan="2">&#160;</td></tr>
208
- <tr class="memitem:acf542e7e581ffa8453066f4c8cdfb65c"><td class="memItemLeft" align="right" valign="top">CallGraphEdgeSet::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#acf542e7e581ffa8453066f4c8cdfb65c">getCallEdgeBegin</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *inst) const</td></tr>
209
- <tr class="separator:acf542e7e581ffa8453066f4c8cdfb65c"><td class="memSeparator" colspan="2">&#160;</td></tr>
210
- <tr class="memitem:abfa1f3777d16597392385cf7d8bac472"><td class="memItemLeft" align="right" valign="top">CallGraphEdgeSet::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#abfa1f3777d16597392385cf7d8bac472">getCallEdgeEnd</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *inst) const</td></tr>
211
- <tr class="separator:abfa1f3777d16597392385cf7d8bac472"><td class="memSeparator" colspan="2">&#160;</td></tr>
205
+ <tr class="memitem:af8df9ca6d906453fa3f7168aa84fd087"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#af8df9ca6d906453fa3f7168aa84fd087">hasCallGraphEdge</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *inst) const</td></tr>
206
+ <tr class="memdesc:af8df9ca6d906453fa3f7168aa84fd087"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get call graph edge via call instruction. <a href="#af8df9ca6d906453fa3f7168aa84fd087">More...</a><br /></td></tr>
207
+ <tr class="separator:af8df9ca6d906453fa3f7168aa84fd087"><td class="memSeparator" colspan="2">&#160;</td></tr>
208
+ <tr class="memitem:a4ed2fd37007de9c873d5e197a0b3bd4e"><td class="memItemLeft" align="right" valign="top">CallGraphEdgeSet::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a4ed2fd37007de9c873d5e197a0b3bd4e">getCallEdgeBegin</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *inst) const</td></tr>
209
+ <tr class="separator:a4ed2fd37007de9c873d5e197a0b3bd4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
210
+ <tr class="memitem:a170a33ac22673dfd363c3e3b96987737"><td class="memItemLeft" align="right" valign="top">CallGraphEdgeSet::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a170a33ac22673dfd363c3e3b96987737">getCallEdgeEnd</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *inst) const</td></tr>
211
+ <tr class="separator:a170a33ac22673dfd363c3e3b96987737"><td class="memSeparator" colspan="2">&#160;</td></tr>
212
212
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
213
- <tr class="memitem:ab0da49175c64d8e2fccd19680d79771e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ab0da49175c64d8e2fccd19680d79771e">addDirectCallGraphEdge</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *call, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callerFun, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *calleeFun)</td></tr>
214
- <tr class="memdesc:ab0da49175c64d8e2fccd19680d79771e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add direct/indirect call edges. <a href="#ab0da49175c64d8e2fccd19680d79771e">More...</a><br /></td></tr>
215
- <tr class="separator:ab0da49175c64d8e2fccd19680d79771e"><td class="memSeparator" colspan="2">&#160;</td></tr>
216
- <tr class="memitem:a09d0b8461ec0e678e1e69368b0f66b02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a09d0b8461ec0e678e1e69368b0f66b02">addIndirectCallGraphEdge</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callerFun, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *calleeFun)</td></tr>
217
- <tr class="separator:a09d0b8461ec0e678e1e69368b0f66b02"><td class="memSeparator" colspan="2">&#160;</td></tr>
213
+ <tr class="memitem:a69bf382a228644d1c683b436930ee6df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a69bf382a228644d1c683b436930ee6df">addDirectCallGraphEdge</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *call, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callerFun, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *calleeFun)</td></tr>
214
+ <tr class="memdesc:a69bf382a228644d1c683b436930ee6df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add direct/indirect call edges. <a href="#a69bf382a228644d1c683b436930ee6df">More...</a><br /></td></tr>
215
+ <tr class="separator:a69bf382a228644d1c683b436930ee6df"><td class="memSeparator" colspan="2">&#160;</td></tr>
216
+ <tr class="memitem:a46416c668e2f0099394e79f685ede758"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a46416c668e2f0099394e79f685ede758">addIndirectCallGraphEdge</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callerFun, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *calleeFun)</td></tr>
217
+ <tr class="separator:a46416c668e2f0099394e79f685ede758"><td class="memSeparator" colspan="2">&#160;</td></tr>
218
218
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
219
- <tr class="memitem:a80070e2f50ed1036d334250841215ca8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a80070e2f50ed1036d334250841215ca8">getAllCallSitesInvokingCallee</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee, <a class="el" href="classSVF_1_1PTACallGraphEdge.html#aca11d1b778309a72e9d345bd02324459">PTACallGraphEdge::CallInstSet</a> &amp;csSet)</td></tr>
219
+ <tr class="memitem:a80070e2f50ed1036d334250841215ca8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a80070e2f50ed1036d334250841215ca8">getAllCallSitesInvokingCallee</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee, <a class="el" href="classSVF_1_1PTACallGraphEdge.html#adbedb15ac0f9395c5264f087a63bad3b">PTACallGraphEdge::CallInstSet</a> &amp;csSet)</td></tr>
220
220
  <tr class="memdesc:a80070e2f50ed1036d334250841215ca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get callsites invoking the callee. <a href="#a80070e2f50ed1036d334250841215ca8">More...</a><br /></td></tr>
221
221
  <tr class="separator:a80070e2f50ed1036d334250841215ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
222
- <tr class="memitem:a0d2544130cc2cdc3ac418c975c278eb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a0d2544130cc2cdc3ac418c975c278eb2">getDirCallSitesInvokingCallee</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee, <a class="el" href="classSVF_1_1PTACallGraphEdge.html#aca11d1b778309a72e9d345bd02324459">PTACallGraphEdge::CallInstSet</a> &amp;csSet)</td></tr>
222
+ <tr class="memitem:a0d2544130cc2cdc3ac418c975c278eb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a0d2544130cc2cdc3ac418c975c278eb2">getDirCallSitesInvokingCallee</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee, <a class="el" href="classSVF_1_1PTACallGraphEdge.html#adbedb15ac0f9395c5264f087a63bad3b">PTACallGraphEdge::CallInstSet</a> &amp;csSet)</td></tr>
223
223
  <tr class="separator:a0d2544130cc2cdc3ac418c975c278eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
224
- <tr class="memitem:a9a4b0c6672288b9201ab254b4c49548d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a9a4b0c6672288b9201ab254b4c49548d">getIndCallSitesInvokingCallee</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee, <a class="el" href="classSVF_1_1PTACallGraphEdge.html#aca11d1b778309a72e9d345bd02324459">PTACallGraphEdge::CallInstSet</a> &amp;csSet)</td></tr>
224
+ <tr class="memitem:a9a4b0c6672288b9201ab254b4c49548d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a9a4b0c6672288b9201ab254b4c49548d">getIndCallSitesInvokingCallee</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee, <a class="el" href="classSVF_1_1PTACallGraphEdge.html#adbedb15ac0f9395c5264f087a63bad3b">PTACallGraphEdge::CallInstSet</a> &amp;csSet)</td></tr>
225
225
  <tr class="separator:a9a4b0c6672288b9201ab254b4c49548d"><td class="memSeparator" colspan="2">&#160;</td></tr>
226
226
  <tr class="inherit_header pub_methods_classSVF_1_1GenericGraph"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1GenericGraph')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph&lt; NodeTy, EdgeTy &gt;</a></td></tr>
227
227
  <tr class="memitem:aa5837cddbbd63c5a8ac5725bcecb192f inherit pub_methods_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#aa5837cddbbd63c5a8ac5725bcecb192f">GenericGraph</a> ()</td></tr>
@@ -276,7 +276,7 @@ Protected Attributes</h2></td></tr>
276
276
  <tr class="memitem:a97986d6e6732c78b04cc053f0e9d1367"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraph.html#a049bc978a93f0db1fe91efb6feb22b14">FunToCallGraphNodeMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a97986d6e6732c78b04cc053f0e9d1367">funToCallGraphNodeMap</a></td></tr>
277
277
  <tr class="memdesc:a97986d6e6732c78b04cc053f0e9d1367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call Graph node map. <a href="#a97986d6e6732c78b04cc053f0e9d1367">More...</a><br /></td></tr>
278
278
  <tr class="separator:a97986d6e6732c78b04cc053f0e9d1367"><td class="memSeparator" colspan="2">&#160;</td></tr>
279
- <tr class="memitem:ab29003352d8152b9d0fd37919ac212c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraph.html#a16d115dd425ec02ab6d91c711fab7fd9">CallInstToCallGraphEdgesMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ab29003352d8152b9d0fd37919ac212c5">callinstToCallGraphEdgesMap</a></td></tr>
279
+ <tr class="memitem:ab29003352d8152b9d0fd37919ac212c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraph.html#a09245c929079024095cfe0d6570b70e8">CallInstToCallGraphEdgesMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#ab29003352d8152b9d0fd37919ac212c5">callinstToCallGraphEdgesMap</a></td></tr>
280
280
  <tr class="memdesc:ab29003352d8152b9d0fd37919ac212c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a call instruction to its corresponding call edges. <a href="#ab29003352d8152b9d0fd37919ac212c5">More...</a><br /></td></tr>
281
281
  <tr class="separator:ab29003352d8152b9d0fd37919ac212c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
282
282
  <tr class="memitem:af0e1a940677fb7f6c4aaef2f9c46c3e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#af0e1a940677fb7f6c4aaef2f9c46c3e5">callGraphNodeNum</a></td></tr>
@@ -292,7 +292,7 @@ Protected Attributes</h2></td></tr>
292
292
  Private Attributes</h2></td></tr>
293
293
  <tr class="memitem:a6a5927a58cc777a0745bd0ca635f25b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraph.html#a5b1fe2b2314db947cd5e709b7285fe1c">CGEK</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#a6a5927a58cc777a0745bd0ca635f25b1">kind</a></td></tr>
294
294
  <tr class="separator:a6a5927a58cc777a0745bd0ca635f25b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
295
- <tr class="memitem:adcae44bd6788954e2e4e007bff03462c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraph.html#a47bfbae96294592f4e6060deddbe5700">CallEdgeMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">indirectCallMap</a></td></tr>
295
+ <tr class="memitem:adcae44bd6788954e2e4e007bff03462c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PTACallGraph.html#a4948c9e7ff7f1c86d0f27c49e7208aa3">CallEdgeMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">indirectCallMap</a></td></tr>
296
296
  <tr class="memdesc:adcae44bd6788954e2e4e007bff03462c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indirect call map. <a href="#adcae44bd6788954e2e4e007bff03462c">More...</a><br /></td></tr>
297
297
  <tr class="separator:adcae44bd6788954e2e4e007bff03462c"><td class="memSeparator" colspan="2">&#160;</td></tr>
298
298
  </table><table class="memberdecls">
@@ -322,14 +322,14 @@ Additional Inherited Members</h2></td></tr>
322
322
  <div class="textblock">
323
323
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8h_source.html#l00218">218</a> of file <a class="el" href="PTACallGraph_8h_source.html">PTACallGraph.h</a>.</p>
324
324
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
325
- <a id="a47bfbae96294592f4e6060deddbe5700"></a>
326
- <h2 class="memtitle"><span class="permalink"><a href="#a47bfbae96294592f4e6060deddbe5700">&#9670;&nbsp;</a></span>CallEdgeMap</h2>
325
+ <a id="a4948c9e7ff7f1c86d0f27c49e7208aa3"></a>
326
+ <h2 class="memtitle"><span class="permalink"><a href="#a4948c9e7ff7f1c86d0f27c49e7208aa3">&#9670;&nbsp;</a></span>CallEdgeMap</h2>
327
327
 
328
328
  <div class="memitem">
329
329
  <div class="memproto">
330
330
  <table class="memname">
331
331
  <tr>
332
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt;const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>*, <a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a>&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#a47bfbae96294592f4e6060deddbe5700">SVF::PTACallGraph::CallEdgeMap</a></td>
332
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>&lt;const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>*, <a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a>&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#a4948c9e7ff7f1c86d0f27c49e7208aa3">SVF::PTACallGraph::CallEdgeMap</a></td>
333
333
  </tr>
334
334
  </table>
335
335
  </div><div class="memdoc">
@@ -386,14 +386,14 @@ Additional Inherited Members</h2></td></tr>
386
386
 
387
387
  </div>
388
388
  </div>
389
- <a id="a16d115dd425ec02ab6d91c711fab7fd9"></a>
390
- <h2 class="memtitle"><span class="permalink"><a href="#a16d115dd425ec02ab6d91c711fab7fd9">&#9670;&nbsp;</a></span>CallInstToCallGraphEdgesMap</h2>
389
+ <a id="a09245c929079024095cfe0d6570b70e8"></a>
390
+ <h2 class="memtitle"><span class="permalink"><a href="#a09245c929079024095cfe0d6570b70e8">&#9670;&nbsp;</a></span>CallInstToCallGraphEdgesMap</h2>
391
391
 
392
392
  <div class="memitem">
393
393
  <div class="memproto">
394
394
  <table class="memname">
395
395
  <tr>
396
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>*, <a class="el" href="classSVF_1_1PTACallGraph.html#a1ad288117daa4031e195eb35d805cac6">CallGraphEdgeSet</a>&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#a16d115dd425ec02ab6d91c711fab7fd9">SVF::PTACallGraph::CallInstToCallGraphEdgesMap</a></td>
396
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>*, <a class="el" href="classSVF_1_1PTACallGraph.html#a1ad288117daa4031e195eb35d805cac6">CallGraphEdgeSet</a>&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#a09245c929079024095cfe0d6570b70e8">SVF::PTACallGraph::CallInstToCallGraphEdgesMap</a></td>
397
397
  </tr>
398
398
  </table>
399
399
  </div><div class="memdoc">
@@ -402,14 +402,14 @@ Additional Inherited Members</h2></td></tr>
402
402
 
403
403
  </div>
404
404
  </div>
405
- <a id="a1d1ea71cb29e190ad3c6817810bd57c7"></a>
406
- <h2 class="memtitle"><span class="permalink"><a href="#a1d1ea71cb29e190ad3c6817810bd57c7">&#9670;&nbsp;</a></span>CallSitePair</h2>
405
+ <a id="a178d9971028e8ce26ab8894c5c6b5784"></a>
406
+ <h2 class="memtitle"><span class="permalink"><a href="#a178d9971028e8ce26ab8894c5c6b5784">&#9670;&nbsp;</a></span>CallSitePair</h2>
407
407
 
408
408
  <div class="memitem">
409
409
  <div class="memproto">
410
410
  <table class="memname">
411
411
  <tr>
412
- <td class="memname">typedef std::pair&lt;const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>*, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">SVF::PTACallGraph::CallSitePair</a></td>
412
+ <td class="memname">typedef std::pair&lt;const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>*, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">SVF::PTACallGraph::CallSitePair</a></td>
413
413
  </tr>
414
414
  </table>
415
415
  </div><div class="memdoc">
@@ -425,7 +425,7 @@ Additional Inherited Members</h2></td></tr>
425
425
  <div class="memproto">
426
426
  <table class="memname">
427
427
  <tr>
428
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="el" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">CallSitePair</a>, <a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#ae4e3e5f108bc1e47af8f58d2e43345d2">SVF::PTACallGraph::CallSiteToIdMap</a></td>
428
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="el" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">CallSitePair</a>, <a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#ae4e3e5f108bc1e47af8f58d2e43345d2">SVF::PTACallGraph::CallSiteToIdMap</a></td>
429
429
  </tr>
430
430
  </table>
431
431
  </div><div class="memdoc">
@@ -473,7 +473,7 @@ Additional Inherited Members</h2></td></tr>
473
473
  <div class="memproto">
474
474
  <table class="memname">
475
475
  <tr>
476
- <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>, <a class="el" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">CallSitePair</a>&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#a5f626f5c9254b9e643d943e59068efba">SVF::PTACallGraph::IdToCallSiteMap</a></td>
476
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;<a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>, <a class="el" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">CallSitePair</a>&gt; <a class="el" href="classSVF_1_1PTACallGraph.html#a5f626f5c9254b9e643d943e59068efba">SVF::PTACallGraph::IdToCallSiteMap</a></td>
477
477
  </tr>
478
478
  </table>
479
479
  </div><div class="memdoc">
@@ -590,8 +590,8 @@ Additional Inherited Members</h2></td></tr>
590
590
  </div><!-- fragment -->
591
591
  </div>
592
592
  </div>
593
- <a id="a72efe87a80f84a3945a93431d9414d3d"></a>
594
- <h2 class="memtitle"><span class="permalink"><a href="#a72efe87a80f84a3945a93431d9414d3d">&#9670;&nbsp;</a></span>addCallSite()</h2>
593
+ <a id="a979359fc784e647c574de90c7af2cf40"></a>
594
+ <h2 class="memtitle"><span class="permalink"><a href="#a979359fc784e647c574de90c7af2cf40">&#9670;&nbsp;</a></span>addCallSite()</h2>
595
595
 
596
596
  <div class="memitem">
597
597
  <div class="memproto">
@@ -602,7 +602,7 @@ Additional Inherited Members</h2></td></tr>
602
602
  <tr>
603
603
  <td class="memname"><a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> SVF::PTACallGraph::addCallSite </td>
604
604
  <td>(</td>
605
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
605
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
606
606
  <td class="paramname"><em>cs</em>, </td>
607
607
  </tr>
608
608
  <tr>
@@ -627,15 +627,15 @@ Additional Inherited Members</h2></td></tr>
627
627
  <p>Add/Get CallSiteID. </p>
628
628
 
629
629
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8h_source.html#l00330">330</a> of file <a class="el" href="PTACallGraph_8h_source.html">PTACallGraph.h</a>.</p>
630
- <div class="fragment"><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; std::pair&lt;const CallBlockNode*, const SVFFunction*&gt; newCS(std::make_pair(cs, callee));</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; CallSiteToIdMap::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.find(newCS);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="comment">//assert(it == csToIdMap.end() &amp;&amp; &quot;cannot add a callsite twice&quot;);</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span>(it == <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.end())</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1PTACallGraph.html#a276338e88cc286f6a1808b1fcdf74d9a">totalCallSiteNum</a>++;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.insert(std::make_pair(newCS, <span class="keywordtype">id</span>));</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a5d6f63baad19589a9fd1e069631e18fa">idToCSMap</a>.insert(std::make_pair(<span class="keywordtype">id</span>, newCS));</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_a5d6f63baad19589a9fd1e069631e18fa"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5d6f63baad19589a9fd1e069631e18fa">SVF::PTACallGraph::idToCSMap</a></div><div class="ttdeci">static IdToCallSiteMap idToCSMap</div><div class="ttdoc">Map a callsite ID to a pair of call instruction and callee. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00246">PTACallGraph.h:246</a></div></div>
630
+ <div class="fragment"><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; std::pair&lt;const CallICFGNode*, const SVFFunction*&gt; newCS(std::make_pair(cs, callee));</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; CallSiteToIdMap::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.find(newCS);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="comment">//assert(it == csToIdMap.end() &amp;&amp; &quot;cannot add a callsite twice&quot;);</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span>(it == <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.end())</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1PTACallGraph.html#a276338e88cc286f6a1808b1fcdf74d9a">totalCallSiteNum</a>++;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.insert(std::make_pair(newCS, <span class="keywordtype">id</span>));</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a5d6f63baad19589a9fd1e069631e18fa">idToCSMap</a>.insert(std::make_pair(<span class="keywordtype">id</span>, newCS));</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_a5d6f63baad19589a9fd1e069631e18fa"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5d6f63baad19589a9fd1e069631e18fa">SVF::PTACallGraph::idToCSMap</a></div><div class="ttdeci">static IdToCallSiteMap idToCSMap</div><div class="ttdoc">Map a callsite ID to a pair of call instruction and callee. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00246">PTACallGraph.h:246</a></div></div>
631
631
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a75ffe4f24d59ad42601b7550aa988187"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">SVF::PTACallGraph::csToIdMap</a></div><div class="ttdeci">static CallSiteToIdMap csToIdMap</div><div class="ttdoc">Call site information. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00245">PTACallGraph.h:245</a></div></div>
632
632
  <div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00083">SVFBasicTypes.h:83</a></div></div>
633
633
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a276338e88cc286f6a1808b1fcdf74d9a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a276338e88cc286f6a1808b1fcdf74d9a">SVF::PTACallGraph::totalCallSiteNum</a></div><div class="ttdeci">static CallSiteID totalCallSiteNum</div><div class="ttdoc">CallSiteIDs, start from 1;. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00247">PTACallGraph.h:247</a></div></div>
634
634
  </div><!-- fragment -->
635
635
  </div>
636
636
  </div>
637
- <a id="ab0da49175c64d8e2fccd19680d79771e"></a>
638
- <h2 class="memtitle"><span class="permalink"><a href="#ab0da49175c64d8e2fccd19680d79771e">&#9670;&nbsp;</a></span>addDirectCallGraphEdge()</h2>
637
+ <a id="a69bf382a228644d1c683b436930ee6df"></a>
638
+ <h2 class="memtitle"><span class="permalink"><a href="#a69bf382a228644d1c683b436930ee6df">&#9670;&nbsp;</a></span>addDirectCallGraphEdge()</h2>
639
639
 
640
640
  <div class="memitem">
641
641
  <div class="memproto">
@@ -643,7 +643,7 @@ Additional Inherited Members</h2></td></tr>
643
643
  <tr>
644
644
  <td class="memname">void PTACallGraph::addDirectCallGraphEdge </td>
645
645
  <td>(</td>
646
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
646
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
647
647
  <td class="paramname"><em>cs</em>, </td>
648
648
  </tr>
649
649
  <tr>
@@ -670,15 +670,15 @@ Additional Inherited Members</h2></td></tr>
670
670
  <p>Add direct call edges </p>
671
671
 
672
672
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8cpp_source.html#l00165">165</a> of file <a class="el" href="PTACallGraph_8cpp_source.html">PTACallGraph.cpp</a>.</p>
673
- <div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* caller = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(callerFun);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* callee = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(calleeFun);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1PTACallGraph.html#a72efe87a80f84a3945a93431d9414d3d">addCallSite</a>(cs, callee-&gt;<a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>());</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1PTACallGraph.html#a6d29a39440d8f6290e2e8b7322b965fb">hasGraphEdge</a>(caller,callee, <a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">PTACallGraphEdge::CallRetEdge</a>,csId))</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>(caller,callee,<a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">PTACallGraphEdge::CallRetEdge</a>,csId);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; edge-&gt;<a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9f2ef4c539e31e91f26a3af2ffae26de">addDirectCallSite</a>(cs);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">addEdge</a>(edge);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#ab29003352d8152b9d0fd37919ac212c5">callinstToCallGraphEdgesMap</a>[cs].insert(edge);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
674
- <div class="ttc" id="classSVF_1_1PTACallGraph_html_a72efe87a80f84a3945a93431d9414d3d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a72efe87a80f84a3945a93431d9414d3d">SVF::PTACallGraph::addCallSite</a></div><div class="ttdeci">CallSiteID addCallSite(const CallBlockNode *cs, const SVFFunction *callee)</div><div class="ttdoc">Add/Get CallSiteID. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00330">PTACallGraph.h:330</a></div></div>
673
+ <div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* caller = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(callerFun);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* callee = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(calleeFun);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1PTACallGraph.html#a979359fc784e647c574de90c7af2cf40">addCallSite</a>(cs, callee-&gt;<a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>());</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1PTACallGraph.html#a6d29a39440d8f6290e2e8b7322b965fb">hasGraphEdge</a>(caller,callee, <a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">PTACallGraphEdge::CallRetEdge</a>,csId))</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>(caller,callee,<a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">PTACallGraphEdge::CallRetEdge</a>,csId);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; edge-&gt;<a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9ccc3f85568639abb8540eb61f6d3158">addDirectCallSite</a>(cs);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">addEdge</a>(edge);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#ab29003352d8152b9d0fd37919ac212c5">callinstToCallGraphEdgesMap</a>[cs].insert(edge);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
674
+ <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_a9ccc3f85568639abb8540eb61f6d3158"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#a9ccc3f85568639abb8540eb61f6d3158">SVF::PTACallGraphEdge::addDirectCallSite</a></div><div class="ttdeci">void addDirectCallSite(const CallICFGNode *call)</div><div class="ttdoc">Add direct and indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00045">PTACallGraph.cpp:45</a></div></div>
675
675
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_ab29003352d8152b9d0fd37919ac212c5"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ab29003352d8152b9d0fd37919ac212c5">SVF::PTACallGraph::callinstToCallGraphEdgesMap</a></div><div class="ttdeci">CallInstToCallGraphEdgesMap callinstToCallGraphEdgesMap</div><div class="ttdoc">Map a call instruction to its corresponding call edges. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00251">PTACallGraph.h:251</a></div></div>
676
676
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a3154bbc421fc85649e786ed67ca03750"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">SVF::PTACallGraph::addEdge</a></div><div class="ttdeci">void addEdge(PTACallGraphEdge *edge)</div><div class="ttdoc">Add call graph edge. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00417">PTACallGraph.h:417</a></div></div>
677
677
  <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">SVF::PTACallGraphEdge::CallRetEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00058">PTACallGraph.h:58</a></div></div>
678
678
  <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html">SVF::PTACallGraphEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00051">PTACallGraph.h:51</a></div></div>
679
+ <div class="ttc" id="classSVF_1_1PTACallGraph_html_a979359fc784e647c574de90c7af2cf40"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a979359fc784e647c574de90c7af2cf40">SVF::PTACallGraph::addCallSite</a></div><div class="ttdeci">CallSiteID addCallSite(const CallICFGNode *cs, const SVFFunction *callee)</div><div class="ttdoc">Add/Get CallSiteID. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00330">PTACallGraph.h:330</a></div></div>
679
680
  <div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00083">SVFBasicTypes.h:83</a></div></div>
680
681
  <div class="ttc" id="classSVF_1_1PTACallGraphNode_html_a959445c97605953fbdebbbd999437a09"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">SVF::PTACallGraphNode::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdoc">Get function of this call node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00193">PTACallGraph.h:193</a></div></div>
681
- <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_a9f2ef4c539e31e91f26a3af2ffae26de"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#a9f2ef4c539e31e91f26a3af2ffae26de">SVF::PTACallGraphEdge::addDirectCallSite</a></div><div class="ttdeci">void addDirectCallSite(const CallBlockNode *call)</div><div class="ttdoc">Add direct and indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00045">PTACallGraph.cpp:45</a></div></div>
682
682
  <div class="ttc" id="classSVF_1_1PTACallGraphNode_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html">SVF::PTACallGraphNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00174">PTACallGraph.h:174</a></div></div>
683
683
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a6d29a39440d8f6290e2e8b7322b965fb"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a6d29a39440d8f6290e2e8b7322b965fb">SVF::PTACallGraph::hasGraphEdge</a></div><div class="ttdeci">PTACallGraphEdge * hasGraphEdge(PTACallGraphNode *src, PTACallGraphNode *dst, PTACallGraphEdge::CEDGEK kind, CallSiteID csId) const</div><div class="ttdoc">Whether we have aleady created this call graph edge. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00133">PTACallGraph.cpp:133</a></div></div>
684
684
  </div><!-- fragment -->
@@ -714,8 +714,8 @@ Additional Inherited Members</h2></td></tr>
714
714
  <div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; edge-&gt;getDstNode()-&gt;addIncomingEdge(edge);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; edge-&gt;getSrcNode()-&gt;addOutgoingEdge(edge);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; }</div></div><!-- fragment -->
715
715
  </div>
716
716
  </div>
717
- <a id="a09d0b8461ec0e678e1e69368b0f66b02"></a>
718
- <h2 class="memtitle"><span class="permalink"><a href="#a09d0b8461ec0e678e1e69368b0f66b02">&#9670;&nbsp;</a></span>addIndirectCallGraphEdge()</h2>
717
+ <a id="a46416c668e2f0099394e79f685ede758"></a>
718
+ <h2 class="memtitle"><span class="permalink"><a href="#a46416c668e2f0099394e79f685ede758">&#9670;&nbsp;</a></span>addIndirectCallGraphEdge()</h2>
719
719
 
720
720
  <div class="memitem">
721
721
  <div class="memproto">
@@ -723,7 +723,7 @@ Additional Inherited Members</h2></td></tr>
723
723
  <tr>
724
724
  <td class="memname">void PTACallGraph::addIndirectCallGraphEdge </td>
725
725
  <td>(</td>
726
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
726
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
727
727
  <td class="paramname"><em>cs</em>, </td>
728
728
  </tr>
729
729
  <tr>
@@ -748,18 +748,18 @@ Additional Inherited Members</h2></td></tr>
748
748
  <p>Add indirect call edge to update call graph </p>
749
749
 
750
750
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8cpp_source.html#l00185">185</a> of file <a class="el" href="PTACallGraph_8cpp_source.html">PTACallGraph.cpp</a>.</p>
751
- <div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;{</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* caller = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(callerFun);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* callee = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(calleeFun);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#ad73bc2f0669ff2a28ccabb5355278826">numOfResolvedIndCallEdge</a>++;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1PTACallGraph.html#a72efe87a80f84a3945a93431d9414d3d">addCallSite</a>(cs, callee-&gt;<a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>());</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1PTACallGraph.html#a6d29a39440d8f6290e2e8b7322b965fb">hasGraphEdge</a>(caller,callee, <a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">PTACallGraphEdge::CallRetEdge</a>,csId))</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>(caller,callee,<a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">PTACallGraphEdge::CallRetEdge</a>, csId);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; edge-&gt;<a class="code" href="classSVF_1_1PTACallGraphEdge.html#aad95920da19b78c0211e68caadba6d39">addInDirectCallSite</a>(cs);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">addEdge</a>(edge);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#ab29003352d8152b9d0fd37919ac212c5">callinstToCallGraphEdgesMap</a>[cs].insert(edge);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;}</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
752
- <div class="ttc" id="classSVF_1_1PTACallGraph_html_a72efe87a80f84a3945a93431d9414d3d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a72efe87a80f84a3945a93431d9414d3d">SVF::PTACallGraph::addCallSite</a></div><div class="ttdeci">CallSiteID addCallSite(const CallBlockNode *cs, const SVFFunction *callee)</div><div class="ttdoc">Add/Get CallSiteID. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00330">PTACallGraph.h:330</a></div></div>
751
+ <div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;{</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* caller = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(callerFun);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* callee = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(calleeFun);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#ad73bc2f0669ff2a28ccabb5355278826">numOfResolvedIndCallEdge</a>++;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1PTACallGraph.html#a979359fc784e647c574de90c7af2cf40">addCallSite</a>(cs, callee-&gt;<a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>());</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1PTACallGraph.html#a6d29a39440d8f6290e2e8b7322b965fb">hasGraphEdge</a>(caller,callee, <a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">PTACallGraphEdge::CallRetEdge</a>,csId))</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>(caller,callee,<a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">PTACallGraphEdge::CallRetEdge</a>, csId);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; edge-&gt;<a class="code" href="classSVF_1_1PTACallGraphEdge.html#ad9faf0a90691497984fb1d8709491a20">addInDirectCallSite</a>(cs);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">addEdge</a>(edge);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#ab29003352d8152b9d0fd37919ac212c5">callinstToCallGraphEdgesMap</a>[cs].insert(edge);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;}</div><div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_ad9faf0a90691497984fb1d8709491a20"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#ad9faf0a90691497984fb1d8709491a20">SVF::PTACallGraphEdge::addInDirectCallSite</a></div><div class="ttdeci">void addInDirectCallSite(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00051">PTACallGraph.cpp:51</a></div></div>
752
+ <div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
753
753
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_ab29003352d8152b9d0fd37919ac212c5"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ab29003352d8152b9d0fd37919ac212c5">SVF::PTACallGraph::callinstToCallGraphEdgesMap</a></div><div class="ttdeci">CallInstToCallGraphEdgesMap callinstToCallGraphEdgesMap</div><div class="ttdoc">Map a call instruction to its corresponding call edges. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00251">PTACallGraph.h:251</a></div></div>
754
754
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a3154bbc421fc85649e786ed67ca03750"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">SVF::PTACallGraph::addEdge</a></div><div class="ttdeci">void addEdge(PTACallGraphEdge *edge)</div><div class="ttdoc">Add call graph edge. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00417">PTACallGraph.h:417</a></div></div>
755
755
  <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7aa968b68fb87a0135833105f4e6413c69">SVF::PTACallGraphEdge::CallRetEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00058">PTACallGraph.h:58</a></div></div>
756
756
  <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html">SVF::PTACallGraphEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00051">PTACallGraph.h:51</a></div></div>
757
+ <div class="ttc" id="classSVF_1_1PTACallGraph_html_a979359fc784e647c574de90c7af2cf40"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a979359fc784e647c574de90c7af2cf40">SVF::PTACallGraph::addCallSite</a></div><div class="ttdeci">CallSiteID addCallSite(const CallICFGNode *cs, const SVFFunction *callee)</div><div class="ttdoc">Add/Get CallSiteID. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00330">PTACallGraph.h:330</a></div></div>
757
758
  <div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00083">SVFBasicTypes.h:83</a></div></div>
758
759
  <div class="ttc" id="classSVF_1_1PTACallGraphNode_html_a959445c97605953fbdebbbd999437a09"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">SVF::PTACallGraphNode::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdoc">Get function of this call node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00193">PTACallGraph.h:193</a></div></div>
759
760
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_ad73bc2f0669ff2a28ccabb5355278826"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ad73bc2f0669ff2a28ccabb5355278826">SVF::PTACallGraph::numOfResolvedIndCallEdge</a></div><div class="ttdeci">Size_t numOfResolvedIndCallEdge</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00254">PTACallGraph.h:254</a></div></div>
760
761
  <div class="ttc" id="classSVF_1_1PTACallGraphNode_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html">SVF::PTACallGraphNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00174">PTACallGraph.h:174</a></div></div>
761
762
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a6d29a39440d8f6290e2e8b7322b965fb"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a6d29a39440d8f6290e2e8b7322b965fb">SVF::PTACallGraph::hasGraphEdge</a></div><div class="ttdeci">PTACallGraphEdge * hasGraphEdge(PTACallGraphNode *src, PTACallGraphNode *dst, PTACallGraphEdge::CEDGEK kind, CallSiteID csId) const</div><div class="ttdoc">Whether we have aleady created this call graph edge. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00133">PTACallGraph.cpp:133</a></div></div>
762
- <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_aad95920da19b78c0211e68caadba6d39"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#aad95920da19b78c0211e68caadba6d39">SVF::PTACallGraphEdge::addInDirectCallSite</a></div><div class="ttdeci">void addInDirectCallSite(const CallBlockNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00051">PTACallGraph.cpp:51</a></div></div>
763
763
  </div><!-- fragment -->
764
764
  </div>
765
765
  </div>
@@ -833,7 +833,7 @@ Additional Inherited Members</h2></td></tr>
833
833
  <tr>
834
834
  <td class="paramkey"></td>
835
835
  <td></td>
836
- <td class="paramtype"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#aca11d1b778309a72e9d345bd02324459">PTACallGraphEdge::CallInstSet</a> &amp;&#160;</td>
836
+ <td class="paramtype"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#adbedb15ac0f9395c5264f087a63bad3b">PTACallGraphEdge::CallInstSet</a> &amp;&#160;</td>
837
837
  <td class="paramname"><em>csSet</em>&#160;</td>
838
838
  </tr>
839
839
  <tr>
@@ -856,8 +856,8 @@ Additional Inherited Members</h2></td></tr>
856
856
  </div><!-- fragment -->
857
857
  </div>
858
858
  </div>
859
- <a id="acf542e7e581ffa8453066f4c8cdfb65c"></a>
860
- <h2 class="memtitle"><span class="permalink"><a href="#acf542e7e581ffa8453066f4c8cdfb65c">&#9670;&nbsp;</a></span>getCallEdgeBegin()</h2>
859
+ <a id="a4ed2fd37007de9c873d5e197a0b3bd4e"></a>
860
+ <h2 class="memtitle"><span class="permalink"><a href="#a4ed2fd37007de9c873d5e197a0b3bd4e">&#9670;&nbsp;</a></span>getCallEdgeBegin()</h2>
861
861
 
862
862
  <div class="memitem">
863
863
  <div class="memproto">
@@ -868,7 +868,7 @@ Additional Inherited Members</h2></td></tr>
868
868
  <tr>
869
869
  <td class="memname">CallGraphEdgeSet::const_iterator SVF::PTACallGraph::getCallEdgeBegin </td>
870
870
  <td>(</td>
871
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
871
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
872
872
  <td class="paramname"><em>inst</em></td><td>)</td>
873
873
  <td> const</td>
874
874
  </tr>
@@ -886,8 +886,8 @@ Additional Inherited Members</h2></td></tr>
886
886
  </div><!-- fragment -->
887
887
  </div>
888
888
  </div>
889
- <a id="abfa1f3777d16597392385cf7d8bac472"></a>
890
- <h2 class="memtitle"><span class="permalink"><a href="#abfa1f3777d16597392385cf7d8bac472">&#9670;&nbsp;</a></span>getCallEdgeEnd()</h2>
889
+ <a id="a170a33ac22673dfd363c3e3b96987737"></a>
890
+ <h2 class="memtitle"><span class="permalink"><a href="#a170a33ac22673dfd363c3e3b96987737">&#9670;&nbsp;</a></span>getCallEdgeEnd()</h2>
891
891
 
892
892
  <div class="memitem">
893
893
  <div class="memproto">
@@ -898,7 +898,7 @@ Additional Inherited Members</h2></td></tr>
898
898
  <tr>
899
899
  <td class="memname">CallGraphEdgeSet::const_iterator SVF::PTACallGraph::getCallEdgeEnd </td>
900
900
  <td>(</td>
901
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
901
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
902
902
  <td class="paramname"><em>inst</em></td><td>)</td>
903
903
  <td> const</td>
904
904
  </tr>
@@ -945,8 +945,8 @@ Additional Inherited Members</h2></td></tr>
945
945
  </div><!-- fragment -->
946
946
  </div>
947
947
  </div>
948
- <a id="a486f79252c216eb5a9f4c09261a24ae2"></a>
949
- <h2 class="memtitle"><span class="permalink"><a href="#a486f79252c216eb5a9f4c09261a24ae2">&#9670;&nbsp;</a></span>getCallees()</h2>
948
+ <a id="a317e09edb29b110cf4273009551d31ec"></a>
949
+ <h2 class="memtitle"><span class="permalink"><a href="#a317e09edb29b110cf4273009551d31ec">&#9670;&nbsp;</a></span>getCallees()</h2>
950
950
 
951
951
  <div class="memitem">
952
952
  <div class="memproto">
@@ -957,7 +957,7 @@ Additional Inherited Members</h2></td></tr>
957
957
  <tr>
958
958
  <td class="memname">void SVF::PTACallGraph::getCallees </td>
959
959
  <td>(</td>
960
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
960
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
961
961
  <td class="paramname"><em>cs</em>, </td>
962
962
  </tr>
963
963
  <tr>
@@ -982,9 +982,9 @@ Additional Inherited Members</h2></td></tr>
982
982
  <p>Get all callees for a callsite. </p>
983
983
 
984
984
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8h_source.html#l00382">382</a> of file <a class="el" href="PTACallGraph_8h_source.html">PTACallGraph.h</a>.</p>
985
- <div class="fragment"><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; {</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PTACallGraph.html#afdd308d681cb2a57e9473186f431db61">hasCallGraphEdge</a>(cs))</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">for</span> (CallGraphEdgeSet::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#acf542e7e581ffa8453066f4c8cdfb65c">getCallEdgeBegin</a>(cs), eit =</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#abfa1f3777d16597392385cf7d8bac472">getCallEdgeEnd</a>(cs); it != eit; ++it)</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; callees.insert((*it)-&gt;getDstNode()-&gt;getFunction());</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_abfa1f3777d16597392385cf7d8bac472"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#abfa1f3777d16597392385cf7d8bac472">SVF::PTACallGraph::getCallEdgeEnd</a></div><div class="ttdeci">CallGraphEdgeSet::const_iterator getCallEdgeEnd(const CallBlockNode *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00408">PTACallGraph.h:408</a></div></div>
986
- <div class="ttc" id="classSVF_1_1PTACallGraph_html_acf542e7e581ffa8453066f4c8cdfb65c"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#acf542e7e581ffa8453066f4c8cdfb65c">SVF::PTACallGraph::getCallEdgeBegin</a></div><div class="ttdeci">CallGraphEdgeSet::const_iterator getCallEdgeBegin(const CallBlockNode *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00401">PTACallGraph.h:401</a></div></div>
987
- <div class="ttc" id="classSVF_1_1PTACallGraph_html_afdd308d681cb2a57e9473186f431db61"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#afdd308d681cb2a57e9473186f431db61">SVF::PTACallGraph::hasCallGraphEdge</a></div><div class="ttdeci">bool hasCallGraphEdge(const CallBlockNode *inst) const</div><div class="ttdoc">Get call graph edge via call instruction. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00397">PTACallGraph.h:397</a></div></div>
985
+ <div class="fragment"><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; {</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PTACallGraph.html#af8df9ca6d906453fa3f7168aa84fd087">hasCallGraphEdge</a>(cs))</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">for</span> (CallGraphEdgeSet::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#a4ed2fd37007de9c873d5e197a0b3bd4e">getCallEdgeBegin</a>(cs), eit =</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a170a33ac22673dfd363c3e3b96987737">getCallEdgeEnd</a>(cs); it != eit; ++it)</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; callees.insert((*it)-&gt;getDstNode()-&gt;getFunction());</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_a170a33ac22673dfd363c3e3b96987737"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a170a33ac22673dfd363c3e3b96987737">SVF::PTACallGraph::getCallEdgeEnd</a></div><div class="ttdeci">CallGraphEdgeSet::const_iterator getCallEdgeEnd(const CallICFGNode *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00408">PTACallGraph.h:408</a></div></div>
986
+ <div class="ttc" id="classSVF_1_1PTACallGraph_html_a4ed2fd37007de9c873d5e197a0b3bd4e"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a4ed2fd37007de9c873d5e197a0b3bd4e">SVF::PTACallGraph::getCallEdgeBegin</a></div><div class="ttdeci">CallGraphEdgeSet::const_iterator getCallEdgeBegin(const CallICFGNode *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00401">PTACallGraph.h:401</a></div></div>
987
+ <div class="ttc" id="classSVF_1_1PTACallGraph_html_af8df9ca6d906453fa3f7168aa84fd087"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#af8df9ca6d906453fa3f7168aa84fd087">SVF::PTACallGraph::hasCallGraphEdge</a></div><div class="ttdeci">bool hasCallGraphEdge(const CallICFGNode *inst) const</div><div class="ttdoc">Get call graph edge via call instruction. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00397">PTACallGraph.h:397</a></div></div>
988
988
  </div><!-- fragment -->
989
989
  </div>
990
990
  </div>
@@ -1013,8 +1013,8 @@ Additional Inherited Members</h2></td></tr>
1013
1013
  </div><div class="memdoc">
1014
1014
 
1015
1015
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8h_source.html#l00367">367</a> of file <a class="el" href="PTACallGraph_8h_source.html">PTACallGraph.h</a>.</p>
1016
- <div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a2c8b1674f1f942a3b5aa77b7abccb229">getCallSite</a>(<span class="keywordtype">id</span>)-&gt;<a class="code" href="classSVF_1_1CallBlockNode.html#a5bab98a0b8cf0a804d53abd994e922c0">getCaller</a>();</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><div class="ttc" id="classSVF_1_1CallBlockNode_html_a5bab98a0b8cf0a804d53abd994e922c0"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#a5bab98a0b8cf0a804d53abd994e922c0">SVF::CallBlockNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00400">ICFGNode.h:400</a></div></div>
1017
- <div class="ttc" id="classSVF_1_1PTACallGraph_html_a2c8b1674f1f942a3b5aa77b7abccb229"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a2c8b1674f1f942a3b5aa77b7abccb229">SVF::PTACallGraph::getCallSite</a></div><div class="ttdeci">const CallBlockNode * getCallSite(CallSiteID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00363">PTACallGraph.h:363</a></div></div>
1016
+ <div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a16e0017ad3a2d36d7efbc4383e394154">getCallSite</a>(<span class="keywordtype">id</span>)-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>();</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_a16e0017ad3a2d36d7efbc4383e394154"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a16e0017ad3a2d36d7efbc4383e394154">SVF::PTACallGraph::getCallSite</a></div><div class="ttdeci">const CallICFGNode * getCallSite(CallSiteID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00363">PTACallGraph.h:363</a></div></div>
1017
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html_a18f4077d42b23c3fed35efc793b6102e"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">SVF::CallICFGNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00400">ICFGNode.h:400</a></div></div>
1018
1018
  </div><!-- fragment -->
1019
1019
  </div>
1020
1020
  </div>
@@ -1089,7 +1089,7 @@ Additional Inherited Members</h2></td></tr>
1089
1089
  <td class="mlabels-left">
1090
1090
  <table class="memname">
1091
1091
  <tr>
1092
- <td class="memname">const <a class="el" href="classSVF_1_1PTACallGraph.html#a16d115dd425ec02ab6d91c711fab7fd9">CallInstToCallGraphEdgesMap</a>&amp; SVF::PTACallGraph::getCallInstToCallGraphEdgesMap </td>
1092
+ <td class="memname">const <a class="el" href="classSVF_1_1PTACallGraph.html#a09245c929079024095cfe0d6570b70e8">CallInstToCallGraphEdgesMap</a>&amp; SVF::PTACallGraph::getCallInstToCallGraphEdgesMap </td>
1093
1093
  <td>(</td>
1094
1094
  <td class="paramname"></td><td>)</td>
1095
1095
  <td> const</td>
@@ -1107,8 +1107,8 @@ Additional Inherited Members</h2></td></tr>
1107
1107
  </div><!-- fragment -->
1108
1108
  </div>
1109
1109
  </div>
1110
- <a id="a2c8b1674f1f942a3b5aa77b7abccb229"></a>
1111
- <h2 class="memtitle"><span class="permalink"><a href="#a2c8b1674f1f942a3b5aa77b7abccb229">&#9670;&nbsp;</a></span>getCallSite()</h2>
1110
+ <a id="a16e0017ad3a2d36d7efbc4383e394154"></a>
1111
+ <h2 class="memtitle"><span class="permalink"><a href="#a16e0017ad3a2d36d7efbc4383e394154">&#9670;&nbsp;</a></span>getCallSite()</h2>
1112
1112
 
1113
1113
  <div class="memitem">
1114
1114
  <div class="memproto">
@@ -1117,7 +1117,7 @@ Additional Inherited Members</h2></td></tr>
1117
1117
  <td class="mlabels-left">
1118
1118
  <table class="memname">
1119
1119
  <tr>
1120
- <td class="memname">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* SVF::PTACallGraph::getCallSite </td>
1120
+ <td class="memname">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* SVF::PTACallGraph::getCallSite </td>
1121
1121
  <td>(</td>
1122
1122
  <td class="paramtype"><a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>&#160;</td>
1123
1123
  <td class="paramname"><em>id</em></td><td>)</td>
@@ -1136,8 +1136,8 @@ Additional Inherited Members</h2></td></tr>
1136
1136
  </div><!-- fragment -->
1137
1137
  </div>
1138
1138
  </div>
1139
- <a id="afb2daec804e81f0beb72fbc805d1c82a"></a>
1140
- <h2 class="memtitle"><span class="permalink"><a href="#afb2daec804e81f0beb72fbc805d1c82a">&#9670;&nbsp;</a></span>getCallSiteID()</h2>
1139
+ <a id="a711bd8ad385f8454fbfcd20f134efe1b"></a>
1140
+ <h2 class="memtitle"><span class="permalink"><a href="#a711bd8ad385f8454fbfcd20f134efe1b">&#9670;&nbsp;</a></span>getCallSiteID()</h2>
1141
1141
 
1142
1142
  <div class="memitem">
1143
1143
  <div class="memproto">
@@ -1148,7 +1148,7 @@ Additional Inherited Members</h2></td></tr>
1148
1148
  <tr>
1149
1149
  <td class="memname"><a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> SVF::PTACallGraph::getCallSiteID </td>
1150
1150
  <td>(</td>
1151
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
1151
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
1152
1152
  <td class="paramname"><em>cs</em>, </td>
1153
1153
  </tr>
1154
1154
  <tr>
@@ -1171,9 +1171,9 @@ Additional Inherited Members</h2></td></tr>
1171
1171
  </div><div class="memdoc">
1172
1172
 
1173
1173
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8h_source.html#l00344">344</a> of file <a class="el" href="PTACallGraph_8h_source.html">PTACallGraph.h</a>.</p>
1174
- <div class="fragment"><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">CallSitePair</a> newCS(std::make_pair(cs, callee));</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; CallSiteToIdMap::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.find(newCS);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(it != <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.end() &amp;&amp; <span class="stringliteral">&quot;callsite id not found! This maybe a partially resolved callgraph, please check the indCallEdge limit&quot;</span>);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
1174
+ <div class="fragment"><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">CallSitePair</a> newCS(std::make_pair(cs, callee));</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; CallSiteToIdMap::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.find(newCS);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(it != <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.end() &amp;&amp; <span class="stringliteral">&quot;callsite id not found! This maybe a partially resolved callgraph, please check the indCallEdge limit&quot;</span>);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
1175
1175
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a75ffe4f24d59ad42601b7550aa988187"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">SVF::PTACallGraph::csToIdMap</a></div><div class="ttdeci">static CallSiteToIdMap csToIdMap</div><div class="ttdoc">Call site information. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00245">PTACallGraph.h:245</a></div></div>
1176
- <div class="ttc" id="classSVF_1_1PTACallGraph_html_a1d1ea71cb29e190ad3c6817810bd57c7"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">SVF::PTACallGraph::CallSitePair</a></div><div class="ttdeci">std::pair&lt; const CallBlockNode *, const SVFFunction * &gt; CallSitePair</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00225">PTACallGraph.h:225</a></div></div>
1176
+ <div class="ttc" id="classSVF_1_1PTACallGraph_html_a178d9971028e8ce26ab8894c5c6b5784"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">SVF::PTACallGraph::CallSitePair</a></div><div class="ttdeci">std::pair&lt; const CallICFGNode *, const SVFFunction * &gt; CallSitePair</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00225">PTACallGraph.h:225</a></div></div>
1177
1177
  </div><!-- fragment -->
1178
1178
  </div>
1179
1179
  </div>
@@ -1187,7 +1187,7 @@ Additional Inherited Members</h2></td></tr>
1187
1187
  <td class="mlabels-left">
1188
1188
  <table class="memname">
1189
1189
  <tr>
1190
- <td class="memname">const <a class="el" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">CallSitePair</a>&amp; SVF::PTACallGraph::getCallSitePair </td>
1190
+ <td class="memname">const <a class="el" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">CallSitePair</a>&amp; SVF::PTACallGraph::getCallSitePair </td>
1191
1191
  <td>(</td>
1192
1192
  <td class="paramtype"><a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a>&#160;</td>
1193
1193
  <td class="paramname"><em>id</em></td><td>)</td>
@@ -1222,7 +1222,7 @@ Additional Inherited Members</h2></td></tr>
1222
1222
  <tr>
1223
1223
  <td class="paramkey"></td>
1224
1224
  <td></td>
1225
- <td class="paramtype"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#aca11d1b778309a72e9d345bd02324459">PTACallGraphEdge::CallInstSet</a> &amp;&#160;</td>
1225
+ <td class="paramtype"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#adbedb15ac0f9395c5264f087a63bad3b">PTACallGraphEdge::CallInstSet</a> &amp;&#160;</td>
1226
1226
  <td class="paramname"><em>csSet</em>&#160;</td>
1227
1227
  </tr>
1228
1228
  <tr>
@@ -1305,7 +1305,7 @@ Additional Inherited Members</h2></td></tr>
1305
1305
  <td class="mlabels-left">
1306
1306
  <table class="memname">
1307
1307
  <tr>
1308
- <td class="memname"><a class="el" href="classSVF_1_1PTACallGraph.html#a47bfbae96294592f4e6060deddbe5700">CallEdgeMap</a>&amp; SVF::PTACallGraph::getIndCallMap </td>
1308
+ <td class="memname"><a class="el" href="classSVF_1_1PTACallGraph.html#a4948c9e7ff7f1c86d0f27c49e7208aa3">CallEdgeMap</a>&amp; SVF::PTACallGraph::getIndCallMap </td>
1309
1309
  <td>(</td>
1310
1310
  <td class="paramname"></td><td>)</td>
1311
1311
  <td></td>
@@ -1340,7 +1340,7 @@ Additional Inherited Members</h2></td></tr>
1340
1340
  <tr>
1341
1341
  <td class="paramkey"></td>
1342
1342
  <td></td>
1343
- <td class="paramtype"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#aca11d1b778309a72e9d345bd02324459">PTACallGraphEdge::CallInstSet</a> &amp;&#160;</td>
1343
+ <td class="paramtype"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#adbedb15ac0f9395c5264f087a63bad3b">PTACallGraphEdge::CallInstSet</a> &amp;&#160;</td>
1344
1344
  <td class="paramname"><em>csSet</em>&#160;</td>
1345
1345
  </tr>
1346
1346
  <tr>
@@ -1361,8 +1361,8 @@ Additional Inherited Members</h2></td></tr>
1361
1361
  </div><!-- fragment -->
1362
1362
  </div>
1363
1363
  </div>
1364
- <a id="a88bec70a6bf5c1c41bc4efd035ef0e08"></a>
1365
- <h2 class="memtitle"><span class="permalink"><a href="#a88bec70a6bf5c1c41bc4efd035ef0e08">&#9670;&nbsp;</a></span>getIndCSCallees()</h2>
1364
+ <a id="ac106536778c829d6925d6ed2149aeb44"></a>
1365
+ <h2 class="memtitle"><span class="permalink"><a href="#ac106536778c829d6925d6ed2149aeb44">&#9670;&nbsp;</a></span>getIndCSCallees()</h2>
1366
1366
 
1367
1367
  <div class="memitem">
1368
1368
  <div class="memproto">
@@ -1373,7 +1373,7 @@ Additional Inherited Members</h2></td></tr>
1373
1373
  <tr>
1374
1374
  <td class="memname">const <a class="el" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a>&amp; SVF::PTACallGraph::getIndCSCallees </td>
1375
1375
  <td>(</td>
1376
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
1376
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
1377
1377
  <td class="paramname"><em>cs</em></td><td>)</td>
1378
1378
  <td> const</td>
1379
1379
  </tr>
@@ -1477,8 +1477,8 @@ Additional Inherited Members</h2></td></tr>
1477
1477
  </div><!-- fragment -->
1478
1478
  </div>
1479
1479
  </div>
1480
- <a id="afdd308d681cb2a57e9473186f431db61"></a>
1481
- <h2 class="memtitle"><span class="permalink"><a href="#afdd308d681cb2a57e9473186f431db61">&#9670;&nbsp;</a></span>hasCallGraphEdge()</h2>
1480
+ <a id="af8df9ca6d906453fa3f7168aa84fd087"></a>
1481
+ <h2 class="memtitle"><span class="permalink"><a href="#af8df9ca6d906453fa3f7168aa84fd087">&#9670;&nbsp;</a></span>hasCallGraphEdge()</h2>
1482
1482
 
1483
1483
  <div class="memitem">
1484
1484
  <div class="memproto">
@@ -1489,7 +1489,7 @@ Additional Inherited Members</h2></td></tr>
1489
1489
  <tr>
1490
1490
  <td class="memname">bool SVF::PTACallGraph::hasCallGraphEdge </td>
1491
1491
  <td>(</td>
1492
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
1492
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
1493
1493
  <td class="paramname"><em>inst</em></td><td>)</td>
1494
1494
  <td> const</td>
1495
1495
  </tr>
@@ -1509,8 +1509,8 @@ Additional Inherited Members</h2></td></tr>
1509
1509
  </div><!-- fragment -->
1510
1510
  </div>
1511
1511
  </div>
1512
- <a id="a236d1269b1b560e09f22e0197f6f1ad7"></a>
1513
- <h2 class="memtitle"><span class="permalink"><a href="#a236d1269b1b560e09f22e0197f6f1ad7">&#9670;&nbsp;</a></span>hasCallSiteID()</h2>
1512
+ <a id="aa8dbda3e46533680173e55d396f36756"></a>
1513
+ <h2 class="memtitle"><span class="permalink"><a href="#aa8dbda3e46533680173e55d396f36756">&#9670;&nbsp;</a></span>hasCallSiteID()</h2>
1514
1514
 
1515
1515
  <div class="memitem">
1516
1516
  <div class="memproto">
@@ -1521,7 +1521,7 @@ Additional Inherited Members</h2></td></tr>
1521
1521
  <tr>
1522
1522
  <td class="memname">bool SVF::PTACallGraph::hasCallSiteID </td>
1523
1523
  <td>(</td>
1524
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
1524
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
1525
1525
  <td class="paramname"><em>cs</em>, </td>
1526
1526
  </tr>
1527
1527
  <tr>
@@ -1544,8 +1544,8 @@ Additional Inherited Members</h2></td></tr>
1544
1544
  </div><div class="memdoc">
1545
1545
 
1546
1546
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8h_source.html#l00351">351</a> of file <a class="el" href="PTACallGraph_8h_source.html">PTACallGraph.h</a>.</p>
1547
- <div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">CallSitePair</a> newCS(std::make_pair(cs, callee));</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; CallSiteToIdMap::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.find(newCS);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">return</span> it != <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.end();</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_a75ffe4f24d59ad42601b7550aa988187"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">SVF::PTACallGraph::csToIdMap</a></div><div class="ttdeci">static CallSiteToIdMap csToIdMap</div><div class="ttdoc">Call site information. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00245">PTACallGraph.h:245</a></div></div>
1548
- <div class="ttc" id="classSVF_1_1PTACallGraph_html_a1d1ea71cb29e190ad3c6817810bd57c7"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a1d1ea71cb29e190ad3c6817810bd57c7">SVF::PTACallGraph::CallSitePair</a></div><div class="ttdeci">std::pair&lt; const CallBlockNode *, const SVFFunction * &gt; CallSitePair</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00225">PTACallGraph.h:225</a></div></div>
1547
+ <div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">CallSitePair</a> newCS(std::make_pair(cs, callee));</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; CallSiteToIdMap::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.find(newCS);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">return</span> it != <a class="code" href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">csToIdMap</a>.end();</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_a75ffe4f24d59ad42601b7550aa988187"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a75ffe4f24d59ad42601b7550aa988187">SVF::PTACallGraph::csToIdMap</a></div><div class="ttdeci">static CallSiteToIdMap csToIdMap</div><div class="ttdoc">Call site information. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00245">PTACallGraph.h:245</a></div></div>
1548
+ <div class="ttc" id="classSVF_1_1PTACallGraph_html_a178d9971028e8ce26ab8894c5c6b5784"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a178d9971028e8ce26ab8894c5c6b5784">SVF::PTACallGraph::CallSitePair</a></div><div class="ttdeci">std::pair&lt; const CallICFGNode *, const SVFFunction * &gt; CallSitePair</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00225">PTACallGraph.h:225</a></div></div>
1549
1549
  </div><!-- fragment -->
1550
1550
  </div>
1551
1551
  </div>
@@ -1599,8 +1599,8 @@ Additional Inherited Members</h2></td></tr>
1599
1599
  </div><!-- fragment -->
1600
1600
  </div>
1601
1601
  </div>
1602
- <a id="ac46ec4fe0094145c5fdb81394f1dd644"></a>
1603
- <h2 class="memtitle"><span class="permalink"><a href="#ac46ec4fe0094145c5fdb81394f1dd644">&#9670;&nbsp;</a></span>hasIndCSCallees()</h2>
1602
+ <a id="a71a63c53a093ea8e450fb53fd60c9424"></a>
1603
+ <h2 class="memtitle"><span class="permalink"><a href="#a71a63c53a093ea8e450fb53fd60c9424">&#9670;&nbsp;</a></span>hasIndCSCallees()</h2>
1604
1604
 
1605
1605
  <div class="memitem">
1606
1606
  <div class="memproto">
@@ -1611,7 +1611,7 @@ Additional Inherited Members</h2></td></tr>
1611
1611
  <tr>
1612
1612
  <td class="memname">bool SVF::PTACallGraph::hasIndCSCallees </td>
1613
1613
  <td>(</td>
1614
- <td class="paramtype">const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *&#160;</td>
1614
+ <td class="paramtype">const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *&#160;</td>
1615
1615
  <td class="paramname"><em>cs</em></td><td>)</td>
1616
1616
  <td> const</td>
1617
1617
  </tr>
@@ -1691,14 +1691,14 @@ Additional Inherited Members</h2></td></tr>
1691
1691
  <p>Issue a warning if the function which has indirect call sites can not be reached from program entry. </p>
1692
1692
 
1693
1693
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8cpp_source.html#l00263">263</a> of file <a class="el" href="PTACallGraph_8cpp_source.html">PTACallGraph.cpp</a>.</p>
1694
- <div class="fragment"><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;{</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; CallEdgeMap::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">indirectCallMap</a>.begin();</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; CallEdgeMap::const_iterator eit = <a class="code" href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">indirectCallMap</a>.end();</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a>&amp; targets = it-&gt;second;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">if</span> (targets.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* cs = it-&gt;first;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func = cs-&gt;<a class="code" href="classSVF_1_1CallBlockNode.html#a5bab98a0b8cf0a804d53abd994e922c0">getCaller</a>();</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(func)-&gt;isReachableFromProgEntry() == <span class="keyword">false</span>)</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(func-&gt;<a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>().str() + <span class="stringliteral">&quot; has indirect call site but not reachable from main&quot;</span>);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;}</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
1694
+ <div class="fragment"><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;{</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; CallEdgeMap::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">indirectCallMap</a>.begin();</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; CallEdgeMap::const_iterator eit = <a class="code" href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">indirectCallMap</a>.end();</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a>&amp; targets = it-&gt;second;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">if</span> (targets.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = it-&gt;first;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func = cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>();</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(func)-&gt;isReachableFromProgEntry() == <span class="keyword">false</span>)</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(func-&gt;<a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>().str() + <span class="stringliteral">&quot; has indirect call site but not reachable from main&quot;</span>);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;}</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
1695
1695
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
1696
1696
  <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
1697
1697
  <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00231">SVFBasicTypes.h:231</a></div></div>
1698
- <div class="ttc" id="classSVF_1_1CallBlockNode_html_a5bab98a0b8cf0a804d53abd994e922c0"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#a5bab98a0b8cf0a804d53abd994e922c0">SVF::CallBlockNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00400">ICFGNode.h:400</a></div></div>
1699
1698
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00069">SVFUtil.cpp:69</a></div></div>
1700
1699
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_adcae44bd6788954e2e4e007bff03462c"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">SVF::PTACallGraph::indirectCallMap</a></div><div class="ttdeci">CallEdgeMap indirectCallMap</div><div class="ttdoc">Indirect call map. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00242">PTACallGraph.h:242</a></div></div>
1701
- <div class="ttc" id="classSVF_1_1CallBlockNode_html"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html">SVF::CallBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
1700
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
1701
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html_a18f4077d42b23c3fed35efc793b6102e"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">SVF::CallICFGNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00400">ICFGNode.h:400</a></div></div>
1702
1702
  </div><!-- fragment -->
1703
1703
  </div>
1704
1704
  </div>
@@ -1758,7 +1758,7 @@ Additional Inherited Members</h2></td></tr>
1758
1758
  <td class="mlabels-left">
1759
1759
  <table class="memname">
1760
1760
  <tr>
1761
- <td class="memname"><a class="el" href="classSVF_1_1PTACallGraph.html#a16d115dd425ec02ab6d91c711fab7fd9">CallInstToCallGraphEdgesMap</a> SVF::PTACallGraph::callinstToCallGraphEdgesMap</td>
1761
+ <td class="memname"><a class="el" href="classSVF_1_1PTACallGraph.html#a09245c929079024095cfe0d6570b70e8">CallInstToCallGraphEdgesMap</a> SVF::PTACallGraph::callinstToCallGraphEdgesMap</td>
1762
1762
  </tr>
1763
1763
  </table>
1764
1764
  </td>
@@ -1863,7 +1863,7 @@ Additional Inherited Members</h2></td></tr>
1863
1863
  <td class="mlabels-left">
1864
1864
  <table class="memname">
1865
1865
  <tr>
1866
- <td class="memname"><a class="el" href="classSVF_1_1PTACallGraph.html#a47bfbae96294592f4e6060deddbe5700">CallEdgeMap</a> SVF::PTACallGraph::indirectCallMap</td>
1866
+ <td class="memname"><a class="el" href="classSVF_1_1PTACallGraph.html#a4948c9e7ff7f1c86d0f27c49e7208aa3">CallEdgeMap</a> SVF::PTACallGraph::indirectCallMap</td>
1867
1867
  </tr>
1868
1868
  </table>
1869
1869
  </td>