svf-tools 1.0.757 → 1.0.759

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 (844) hide show
  1. package/CMakeLists.txt +7 -0
  2. package/README.md +2 -2
  3. package/SVF-doxygen/html/html/AccessPath_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/AddressValue_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  8. package/SVF-doxygen/html/html/Andersen_8h_source.html +3 -3
  9. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/CFBasicBlockG_8cpp_source.html +4 -4
  11. package/SVF-doxygen/html/html/CFBasicBlockG_8h_source.html +2 -2
  12. package/SVF-doxygen/html/html/CFGrammar_8cpp_source.html +11 -8
  13. package/SVF-doxygen/html/html/CFGrammar_8h_source.html +1 -1
  14. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +9 -9
  15. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +17 -17
  18. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  19. package/SVF-doxygen/html/html/CHG_8cpp_source.html +7 -7
  20. package/SVF-doxygen/html/html/CHG_8h_source.html +4 -4
  21. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +6 -6
  22. package/SVF-doxygen/html/html/CallGraphBuilder_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/Casting_8h_source.html +1 -1
  24. package/SVF-doxygen/html/html/CommandLine_8h_source.html +2 -1
  25. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/ConsExeState_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/ConsExeState_8h_source.html +1 -1
  28. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -3
  29. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  30. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  33. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +11 -11
  34. package/SVF-doxygen/html/html/DCHG_8h_source.html +3 -3
  35. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  36. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
  39. package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/ExeState_8h_source.html +1 -1
  41. package/SVF-doxygen/html/html/ExtAPI_8cpp.html +0 -196
  42. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +121 -786
  43. package/SVF-doxygen/html/html/ExtAPI_8h.html +2 -67
  44. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +69 -654
  45. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
  46. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +2 -2
  47. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  48. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
  49. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +3 -3
  50. package/SVF-doxygen/html/html/GraphTraits_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +1 -1
  52. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +13 -13
  53. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
  54. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +1 -1
  55. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +4 -4
  56. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +7 -7
  57. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  58. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
  59. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  60. package/SVF-doxygen/html/html/IntervalExeState_8h_source.html +2 -2
  61. package/SVF-doxygen/html/html/IntervalValue_8h.html +1 -1
  62. package/SVF-doxygen/html/html/IntervalValue_8h_source.html +2 -2
  63. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/LLVMModule_8cpp.html +3 -4
  66. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1411 -1292
  67. package/SVF-doxygen/html/html/LLVMModule_8h.html +1 -0
  68. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +418 -400
  69. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +744 -616
  70. package/SVF-doxygen/html/html/LLVMUtil_8h.html +9 -1
  71. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +485 -472
  72. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  73. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +14 -14
  74. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +2 -2
  75. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +8 -8
  76. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
  77. package/SVF-doxygen/html/html/MHP_8cpp_source.html +15 -15
  78. package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
  79. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +4 -4
  80. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  81. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +4 -4
  82. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +7 -7
  83. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +7 -7
  84. package/SVF-doxygen/html/html/MTA_8cpp_source.html +4 -4
  85. package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
  86. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +13 -13
  87. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  88. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +21 -21
  89. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  90. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  91. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/NumericLiteral_8h_source.html +1 -1
  94. package/SVF-doxygen/html/html/Options_8cpp_source.html +9 -8
  95. package/SVF-doxygen/html/html/PCG_8cpp_source.html +13 -13
  96. package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
  97. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +3 -3
  98. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +2 -2
  99. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +1 -1
  100. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -3
  101. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
  102. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  103. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +2 -2
  104. package/SVF-doxygen/html/html/PointsTo_8h_source.html +1 -1
  105. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
  106. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
  107. package/SVF-doxygen/html/html/RelExeState_8h_source.html +1 -1
  108. package/SVF-doxygen/html/html/SVFBugReport_8cpp_source.html +362 -365
  109. package/SVF-doxygen/html/html/SVFBugReport_8h_source.html +25 -25
  110. package/SVF-doxygen/html/html/SVFFileSystem_8cpp_source.html +2087 -2084
  111. package/SVF-doxygen/html/html/SVFFileSystem_8h.html +1 -1
  112. package/SVF-doxygen/html/html/SVFFileSystem_8h_source.html +62 -62
  113. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  114. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  115. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +1 -1
  116. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +5 -5
  117. package/SVF-doxygen/html/html/SVFIR2ConsExeState_8cpp_source.html +6 -6
  118. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +5 -5
  119. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +458 -531
  120. package/SVF-doxygen/html/html/SVFIRBuilder_8h.html +1 -1
  121. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +211 -233
  122. package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp.html +2 -0
  123. package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp_source.html +286 -682
  124. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +4 -4
  125. package/SVF-doxygen/html/html/SVFIR_8h_source.html +3 -3
  126. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +9 -9
  127. package/SVF-doxygen/html/html/SVFModule_8h.html +0 -1
  128. package/SVF-doxygen/html/html/SVFModule_8h_source.html +258 -260
  129. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +8 -8
  130. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +5 -5
  131. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +18 -18
  132. package/SVF-doxygen/html/html/SVFType_8h_source.html +6 -6
  133. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +8 -7
  134. package/SVF-doxygen/html/html/SVFUtil_8h.html +6 -11
  135. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +392 -405
  136. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +14 -13
  137. package/SVF-doxygen/html/html/SVFValue_8h_source.html +1038 -1030
  138. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
  139. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +1 -1
  140. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  141. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +14 -14
  142. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +6 -6
  143. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  144. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +2 -2
  145. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  146. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +2 -2
  147. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +5 -5
  148. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  149. package/SVF-doxygen/html/html/SymState_8cpp_source.html +1 -1
  150. package/SVF-doxygen/html/html/SymState_8h_source.html +2 -2
  151. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +30 -30
  152. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +2 -2
  153. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +6 -6
  154. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +5 -5
  155. package/SVF-doxygen/html/html/TCT_8cpp_source.html +16 -16
  156. package/SVF-doxygen/html/html/TCT_8h_source.html +8 -8
  157. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +14 -14
  158. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +5 -5
  159. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  160. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +3 -3
  161. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  162. package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
  163. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  164. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +2 -2
  165. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  166. package/SVF-doxygen/html/html/WPASolver_8h_source.html +1 -1
  167. package/SVF-doxygen/html/html/WTO_8h_source.html +1 -1
  168. package/SVF-doxygen/html/html/annotated.html +2 -5
  169. package/SVF-doxygen/html/html/cJSON_8cpp.html +2 -1
  170. package/SVF-doxygen/html/html/cJSON_8cpp_source.html +2 -1
  171. package/SVF-doxygen/html/html/cJSON_8h_source.html +1 -1
  172. package/SVF-doxygen/html/html/cfl_8cpp.html +2 -2
  173. package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -2
  174. package/SVF-doxygen/html/html/classOption.html +2 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1AccessPath.html +6 -6
  176. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
  177. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
  178. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  179. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +2 -2
  180. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +4 -4
  182. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1AddressValue.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  185. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +13 -13
  187. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  188. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +4 -4
  189. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +3 -3
  192. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +2 -2
  194. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
  195. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +5 -5
  196. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  197. package/SVF-doxygen/html/html/classSVF_1_1BitVector.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +3 -3
  199. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1BufferOverflowBug.html +50 -50
  202. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTO.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
  204. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode.html +2 -2
  205. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +2 -2
  206. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +9 -9
  207. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +1 -1
  209. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +18 -18
  210. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +5 -5
  211. package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  213. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +3 -3
  214. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +6 -6
  215. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +3 -3
  216. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +3 -3
  218. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +95 -95
  219. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +5 -5
  220. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  221. package/SVF-doxygen/html/html/classSVF_1_1CondPointsToSet.html +3 -3
  222. package/SVF-doxygen/html/html/classSVF_1_1ConsExeState.html +2 -2
  223. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +7 -7
  224. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
  226. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +4 -4
  227. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  228. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
  229. package/SVF-doxygen/html/html/classSVF_1_1CxtDPItem.html +1 -1
  230. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  231. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  232. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +1 -1
  233. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +9 -9
  234. package/SVF-doxygen/html/html/classSVF_1_1DCHNode.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1DPItem.html +1 -1
  236. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeBug.html +35 -35
  237. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +3 -3
  238. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +2 -2
  239. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +1 -1
  241. package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +2 -2
  242. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
  243. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +8 -77
  244. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +130 -1337
  245. package/SVF-doxygen/html/html/classSVF_1_1FILOWorkList.html +1 -1
  246. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -3
  247. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +4 -4
  248. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1FileNeverCloseBug.html +10 -10
  250. package/SVF-doxygen/html/html/classSVF_1_1FilePartialCloseBug.html +35 -35
  251. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  252. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  253. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +12 -12
  254. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  255. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  256. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  257. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug.html +10 -10
  259. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +4 -4
  260. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +5 -5
  261. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +2 -2
  262. package/SVF-doxygen/html/html/classSVF_1_1GenericBug.html +9 -13
  263. package/SVF-doxygen/html/html/classSVF_1_1GenericGraphReader.html +1 -1
  264. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +2 -2
  265. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  266. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +4 -4
  267. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  268. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -3
  269. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  270. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +11 -8
  271. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +2 -2
  272. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +1 -1
  273. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  274. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +13 -13
  275. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  276. package/SVF-doxygen/html/html/classSVF_1_1ICFGWriter.html +11 -11
  277. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
  279. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +2 -2
  280. package/SVF-doxygen/html/html/classSVF_1_1IntervalExeState.html +3 -3
  281. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +1 -1
  282. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
  283. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +4 -4
  284. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  285. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  286. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +5 -5
  287. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +42 -40
  288. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1586 -1455
  289. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
  290. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +4 -4
  291. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  292. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +15 -15
  293. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
  294. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +18 -18
  295. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +3 -3
  296. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +14 -14
  297. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  298. package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +4 -4
  299. package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +2 -2
  300. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +2 -2
  301. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
  302. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  303. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  304. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +2 -2
  305. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +7 -7
  306. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  307. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +1 -1
  308. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +24 -24
  309. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +4 -4
  310. package/SVF-doxygen/html/html/classSVF_1_1MutableIncDFPTData.html +6 -6
  311. package/SVF-doxygen/html/html/classSVF_1_1NeverFreeBug.html +10 -10
  312. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
  313. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  314. package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral.html +1 -1
  315. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -3
  316. package/SVF-doxygen/html/html/classSVF_1_1Options.html +1 -1
  317. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +14 -14
  318. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  319. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +3 -3
  320. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  321. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +2 -2
  322. package/SVF-doxygen/html/html/classSVF_1_1PartialLeakBug.html +34 -34
  323. package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug.html +10 -10
  324. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +3 -3
  325. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +5 -5
  326. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +11 -11
  327. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +3 -3
  328. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +1 -1
  329. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +3 -3
  330. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +7 -7
  331. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +3 -3
  332. package/SVF-doxygen/html/html/classSVF_1_1ReaderIDToObjMap.html +2 -2
  333. package/SVF-doxygen/html/html/classSVF_1_1ReaderPtrPool.html +2 -2
  334. package/SVF-doxygen/html/html/classSVF_1_1RelExeState.html +1 -1
  335. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  336. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +3 -3
  337. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +3 -3
  338. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
  339. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +30 -30
  340. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +75 -75
  341. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +15 -15
  342. package/SVF-doxygen/html/html/classSVF_1_1SVFBugEvent.html +50 -50
  343. package/SVF-doxygen/html/html/classSVF_1_1SVFBugReport.html +88 -88
  344. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +67 -67
  345. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +17 -17
  346. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +23 -23
  347. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +21 -21
  348. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +27 -27
  349. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +15 -15
  350. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +15 -13
  351. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +222 -153
  352. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +5 -5
  353. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +5 -5
  354. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
  355. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +34 -34
  356. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +7 -7
  357. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ConsExeState.html +5 -5
  358. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +5 -5
  359. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +64 -73
  360. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +915 -1777
  361. package/SVF-doxygen/html/html/classSVF_1_1SVFIRReader.html +1128 -1126
  362. package/SVF-doxygen/html/html/classSVF_1_1SVFIRWriter.html +548 -547
  363. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +53 -53
  364. package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +3 -3
  365. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +15 -15
  366. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +173 -173
  367. package/SVF-doxygen/html/html/classSVF_1_1SVFModuleReader.html +1 -1
  368. package/SVF-doxygen/html/html/classSVF_1_1SVFModuleWriter.html +23 -23
  369. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherType.html +1 -1
  370. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +11 -11
  371. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +8 -8
  372. package/SVF-doxygen/html/html/classSVF_1_1SVFStructType.html +1 -1
  373. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +27 -27
  374. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
  375. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +53 -53
  376. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +15 -15
  377. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  378. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +5 -5
  379. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +1 -1
  380. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +3 -3
  381. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +12 -12
  382. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +6 -6
  383. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
  384. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +2 -2
  385. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +4 -4
  386. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
  387. package/SVF-doxygen/html/html/classSVF_1_1SymState.html +3 -3
  388. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +34 -34
  389. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +11 -11
  390. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfoReader.html +1 -1
  391. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +18 -18
  392. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  393. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +4 -4
  394. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +4 -4
  395. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +8 -8
  396. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  397. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +5 -5
  398. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +4 -4
  399. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +3 -3
  400. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  401. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +2 -2
  402. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  403. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -3
  404. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
  405. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
  406. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  407. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +1 -1
  408. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +1 -1
  409. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
  410. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +1 -1
  411. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +3 -3
  412. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +1 -1
  413. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +1 -1
  414. package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +1 -1
  415. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +1 -1
  416. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +1 -1
  417. package/SVF-doxygen/html/html/classes.html +335 -338
  418. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  419. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  420. package/SVF-doxygen/html/html/dir_fee120689dee99ef16f8bfcaa7a76083.html +2 -0
  421. package/SVF-doxygen/html/html/extapi_8c.html +1950 -0
  422. package/SVF-doxygen/html/html/extapi_8c_source.html +1488 -0
  423. package/SVF-doxygen/html/html/fastcluster_8cpp.html +1 -1
  424. package/SVF-doxygen/html/html/fastcluster_8cpp_source.html +3 -3
  425. package/SVF-doxygen/html/html/fastcluster_8h.html +2 -2
  426. package/SVF-doxygen/html/html/fastcluster_8h_source.html +4 -4
  427. package/SVF-doxygen/html/html/files.html +10 -9
  428. package/SVF-doxygen/html/html/functions_a.html +17 -27
  429. package/SVF-doxygen/html/html/functions_b.html +9 -12
  430. package/SVF-doxygen/html/html/functions_c.html +26 -70
  431. package/SVF-doxygen/html/html/functions_d.html +3 -7
  432. package/SVF-doxygen/html/html/functions_e.html +4 -121
  433. package/SVF-doxygen/html/html/functions_enum.html +0 -6
  434. package/SVF-doxygen/html/html/functions_eval.html +0 -1
  435. package/SVF-doxygen/html/html/functions_eval_c.html +1 -15
  436. package/SVF-doxygen/html/html/functions_eval_e.html +0 -96
  437. package/SVF-doxygen/html/html/functions_eval_g.html +1 -2
  438. package/SVF-doxygen/html/html/functions_eval_l.html +0 -1
  439. package/SVF-doxygen/html/html/functions_eval_m.html +0 -6
  440. package/SVF-doxygen/html/html/functions_eval_o.html +0 -3
  441. package/SVF-doxygen/html/html/functions_eval_r.html +0 -6
  442. package/SVF-doxygen/html/html/functions_eval_s.html +0 -1
  443. package/SVF-doxygen/html/html/functions_f.html +16 -19
  444. package/SVF-doxygen/html/html/functions_func.html +6 -18
  445. package/SVF-doxygen/html/html/functions_func_e.html +1 -13
  446. package/SVF-doxygen/html/html/functions_func_g.html +24 -91
  447. package/SVF-doxygen/html/html/functions_func_h.html +9 -12
  448. package/SVF-doxygen/html/html/functions_func_i.html +16 -28
  449. package/SVF-doxygen/html/html/functions_func_n.html +0 -3
  450. package/SVF-doxygen/html/html/functions_func_p.html +3 -12
  451. package/SVF-doxygen/html/html/functions_func_s.html +20 -83
  452. package/SVF-doxygen/html/html/functions_g.html +32 -100
  453. package/SVF-doxygen/html/html/functions_h.html +6 -9
  454. package/SVF-doxygen/html/html/functions_i.html +16 -28
  455. package/SVF-doxygen/html/html/functions_l.html +0 -1
  456. package/SVF-doxygen/html/html/functions_m.html +1 -7
  457. package/SVF-doxygen/html/html/functions_n.html +4 -7
  458. package/SVF-doxygen/html/html/functions_o.html +31 -44
  459. package/SVF-doxygen/html/html/functions_p.html +18 -29
  460. package/SVF-doxygen/html/html/functions_r.html +9 -16
  461. package/SVF-doxygen/html/html/functions_s.html +16 -84
  462. package/SVF-doxygen/html/html/functions_t.html +4 -10
  463. package/SVF-doxygen/html/html/functions_v.html +3 -3
  464. package/SVF-doxygen/html/html/functions_vars_a.html +3 -0
  465. package/SVF-doxygen/html/html/functions_vars_b.html +0 -3
  466. package/SVF-doxygen/html/html/functions_vars_c.html +1 -23
  467. package/SVF-doxygen/html/html/functions_vars_d.html +1 -5
  468. package/SVF-doxygen/html/html/functions_vars_e.html +2 -8
  469. package/SVF-doxygen/html/html/functions_vars_f.html +0 -3
  470. package/SVF-doxygen/html/html/functions_vars_o.html +0 -9
  471. package/SVF-doxygen/html/html/functions_vars_r.html +1 -2
  472. package/SVF-doxygen/html/html/functions_vars_s.html +1 -5
  473. package/SVF-doxygen/html/html/functions_vars_t.html +0 -6
  474. package/SVF-doxygen/html/html/globals.html +22 -4
  475. package/SVF-doxygen/html/html/globals_a.html +3 -0
  476. package/SVF-doxygen/html/html/globals_b.html +3 -0
  477. package/SVF-doxygen/html/html/globals_defs.html +3 -9
  478. package/SVF-doxygen/html/html/globals_e.html +0 -3
  479. package/SVF-doxygen/html/html/globals_f.html +11 -2
  480. package/SVF-doxygen/html/html/globals_func.html +159 -15
  481. package/SVF-doxygen/html/html/globals_g.html +13 -4
  482. package/SVF-doxygen/html/html/globals_i.html +41 -2
  483. package/SVF-doxygen/html/html/globals_j.html +3 -6
  484. package/SVF-doxygen/html/html/globals_l.html +3 -0
  485. package/SVF-doxygen/html/html/globals_m.html +8 -2
  486. package/SVF-doxygen/html/html/globals_n.html +2 -1
  487. package/SVF-doxygen/html/html/globals_p.html +1 -4
  488. package/SVF-doxygen/html/html/globals_r.html +12 -6
  489. package/SVF-doxygen/html/html/globals_s.html +33 -0
  490. package/SVF-doxygen/html/html/globals_t.html +3 -0
  491. package/SVF-doxygen/html/html/hierarchy.html +526 -529
  492. package/SVF-doxygen/html/html/iterator_8h_source.html +1 -1
  493. package/SVF-doxygen/html/html/iterator__range_8h_source.html +1 -1
  494. package/SVF-doxygen/html/html/llvm2svf_8cpp.html +1 -1
  495. package/SVF-doxygen/html/html/llvm2svf_8cpp_source.html +1 -1
  496. package/SVF-doxygen/html/html/menudata.js +3 -0
  497. package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
  498. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  499. package/SVF-doxygen/html/html/namespaceSVF.html +154 -153
  500. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +1003 -776
  501. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +305 -375
  502. package/SVF-doxygen/html/html/namespacemembers_func_g.html +11 -5
  503. package/SVF-doxygen/html/html/namespacemembers_func_i.html +11 -14
  504. package/SVF-doxygen/html/html/namespacemembers_func_r.html +6 -0
  505. package/SVF-doxygen/html/html/namespacemembers_g.html +11 -5
  506. package/SVF-doxygen/html/html/namespacemembers_i.html +8 -11
  507. package/SVF-doxygen/html/html/namespacemembers_r.html +6 -0
  508. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  509. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  510. package/SVF-doxygen/html/html/search/all_0.js +153 -147
  511. package/SVF-doxygen/html/html/search/all_1.js +476 -478
  512. package/SVF-doxygen/html/html/search/all_10.js +323 -327
  513. package/SVF-doxygen/html/html/search/all_11.js +212 -209
  514. package/SVF-doxygen/html/html/search/all_12.js +536 -547
  515. package/SVF-doxygen/html/html/search/all_13.js +188 -189
  516. package/SVF-doxygen/html/html/search/all_14.js +66 -66
  517. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  518. package/SVF-doxygen/html/html/search/all_16.js +60 -60
  519. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  520. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  521. package/SVF-doxygen/html/html/search/all_19.js +10 -10
  522. package/SVF-doxygen/html/html/search/all_1a.js +169 -169
  523. package/SVF-doxygen/html/html/search/all_2.js +159 -159
  524. package/SVF-doxygen/html/html/search/all_3.js +597 -608
  525. package/SVF-doxygen/html/html/search/all_4.js +226 -227
  526. package/SVF-doxygen/html/html/search/all_5.js +116 -156
  527. package/SVF-doxygen/html/html/search/all_6.js +225 -223
  528. package/SVF-doxygen/html/html/search/all_7.js +996 -1012
  529. package/SVF-doxygen/html/html/search/all_8.js +191 -192
  530. package/SVF-doxygen/html/html/search/all_9.js +605 -597
  531. package/SVF-doxygen/html/html/search/all_a.js +46 -47
  532. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  533. package/SVF-doxygen/html/html/search/all_c.js +114 -113
  534. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  535. package/SVF-doxygen/html/html/search/all_e.js +205 -206
  536. package/SVF-doxygen/html/html/search/all_f.js +116 -122
  537. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  538. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  539. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  540. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  541. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  542. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  543. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  544. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  545. package/SVF-doxygen/html/html/search/classes_2.js +76 -76
  546. package/SVF-doxygen/html/html/search/classes_3.js +35 -35
  547. package/SVF-doxygen/html/html/search/classes_4.js +8 -10
  548. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  549. package/SVF-doxygen/html/html/search/classes_6.js +98 -98
  550. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  551. package/SVF-doxygen/html/html/search/classes_8.js +56 -56
  552. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  553. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  554. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  555. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  556. package/SVF-doxygen/html/html/search/classes_d.js +18 -19
  557. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  558. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  559. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  560. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  561. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  562. package/SVF-doxygen/html/html/search/defines_3.js +20 -20
  563. package/SVF-doxygen/html/html/search/defines_4.js +2 -3
  564. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  565. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  566. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  567. package/SVF-doxygen/html/html/search/defines_8.js +11 -13
  568. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  569. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  570. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  571. package/SVF-doxygen/html/html/search/defines_c.js +3 -2
  572. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  573. package/SVF-doxygen/html/html/search/defines_e.js +6 -6
  574. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  575. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  576. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  577. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  578. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  579. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  580. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  581. package/SVF-doxygen/html/html/search/enums_4.js +3 -4
  582. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  583. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  584. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  585. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  586. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  587. package/SVF-doxygen/html/html/search/enums_a.js +1 -2
  588. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  589. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  590. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  591. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  592. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  593. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  594. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  595. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  596. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  597. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  598. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  599. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  600. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  601. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -40
  602. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  603. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -34
  604. package/SVF-doxygen/html/html/search/enumvalues_5.js +48 -48
  605. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  606. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  607. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  608. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  609. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -17
  610. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  611. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -6
  612. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  613. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -11
  614. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  615. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  616. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  617. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  618. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  619. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  620. package/SVF-doxygen/html/html/search/files_2.js +49 -49
  621. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  622. package/SVF-doxygen/html/html/search/files_4.js +5 -4
  623. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  624. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  625. package/SVF-doxygen/html/html/search/files_7.js +14 -14
  626. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  627. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  628. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  629. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  630. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  631. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  632. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  633. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  634. package/SVF-doxygen/html/html/search/functions_0.js +6 -351
  635. package/SVF-doxygen/html/html/search/functions_1.js +348 -81
  636. package/SVF-doxygen/html/html/search/functions_10.js +139 -122
  637. package/SVF-doxygen/html/html/search/functions_11.js +126 -283
  638. package/SVF-doxygen/html/html/search/functions_12.js +273 -55
  639. package/SVF-doxygen/html/html/search/functions_13.js +56 -38
  640. package/SVF-doxygen/html/html/search/functions_14.js +38 -71
  641. package/SVF-doxygen/html/html/search/functions_15.js +71 -29
  642. package/SVF-doxygen/html/html/search/functions_16.js +29 -2
  643. package/SVF-doxygen/html/html/search/functions_17.js +2 -169
  644. package/SVF-doxygen/html/html/search/functions_18.html +30 -0
  645. package/SVF-doxygen/html/html/search/functions_18.js +172 -0
  646. package/SVF-doxygen/html/html/search/functions_2.js +82 -251
  647. package/SVF-doxygen/html/html/search/functions_3.js +251 -71
  648. package/SVF-doxygen/html/html/search/functions_4.js +71 -55
  649. package/SVF-doxygen/html/html/search/functions_5.js +51 -55
  650. package/SVF-doxygen/html/html/search/functions_6.js +58 -832
  651. package/SVF-doxygen/html/html/search/functions_7.js +816 -144
  652. package/SVF-doxygen/html/html/search/functions_8.js +143 -417
  653. package/SVF-doxygen/html/html/search/functions_9.js +425 -29
  654. package/SVF-doxygen/html/html/search/functions_a.js +30 -2
  655. package/SVF-doxygen/html/html/search/functions_b.js +2 -23
  656. package/SVF-doxygen/html/html/search/functions_c.js +24 -75
  657. package/SVF-doxygen/html/html/search/functions_d.js +77 -35
  658. package/SVF-doxygen/html/html/search/functions_e.js +34 -56
  659. package/SVF-doxygen/html/html/search/functions_f.js +56 -143
  660. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  661. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  662. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  663. package/SVF-doxygen/html/html/search/related_1.js +1 -1
  664. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  665. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  666. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  667. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  668. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  669. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  670. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  671. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  672. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  673. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  674. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  675. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  676. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  677. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  678. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  679. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  680. package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
  681. package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
  682. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  683. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  684. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  685. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  686. package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
  687. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  688. package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
  689. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  690. package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
  691. package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
  692. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  693. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  694. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  695. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  696. package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
  697. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  698. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  699. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  700. package/SVF-doxygen/html/html/search/variables_0.js +147 -147
  701. package/SVF-doxygen/html/html/search/variables_1.js +75 -74
  702. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  703. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  704. package/SVF-doxygen/html/html/search/variables_12.js +92 -93
  705. package/SVF-doxygen/html/html/search/variables_13.js +75 -77
  706. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  707. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  708. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  709. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  710. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  711. package/SVF-doxygen/html/html/search/variables_2.js +34 -35
  712. package/SVF-doxygen/html/html/search/variables_3.js +141 -148
  713. package/SVF-doxygen/html/html/search/variables_4.js +55 -56
  714. package/SVF-doxygen/html/html/search/variables_5.js +38 -40
  715. package/SVF-doxygen/html/html/search/variables_6.js +66 -67
  716. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  717. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  718. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  719. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  720. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  721. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  722. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  723. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  724. package/SVF-doxygen/html/html/search/variables_f.js +30 -33
  725. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  726. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  727. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +2 -2
  728. package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +1 -1
  729. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__iterable.html +1 -1
  730. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__iterable_3_01T_00_01void__t_3_01decltype_07std_1_1begin_07std_1_1dec794949348c8e1e00603fd8633b6dd1f3.html +1 -1
  731. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map.html +1 -1
  732. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1map_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  733. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1unordered__map_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  734. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container.html +1 -1
  735. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1deque_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  736. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1list_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  737. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1vector_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  738. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set.html +1 -1
  739. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1set_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  740. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1unordered__set_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  741. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1make__void.html +4 -4
  742. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +7 -7
  743. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  744. package/SVF-doxygen/html/html/svf-ex_8cpp.html +3 -3
  745. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +4 -4
  746. package/SVF-doxygen/html/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +9 -9
  747. package/SVF-doxygen/html/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +9 -9
  748. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  749. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  750. package/build.sh +1 -1
  751. package/package.json +1 -1
  752. package/svf/include/AbstractExecution/ConsExeState.h +1 -1
  753. package/svf/include/AbstractExecution/IntervalExeState.h +1 -1
  754. package/svf/include/AbstractExecution/IntervalValue.h +1 -1
  755. package/svf/include/AbstractExecution/SymState.h +1 -1
  756. package/svf/include/CFL/CFGrammar.h +1 -1
  757. package/svf/include/CFL/GrammarBuilder.h +3 -3
  758. package/svf/include/FastCluster/fastcluster.h +4 -4
  759. package/svf/include/Graphs/CHG.h +1 -1
  760. package/svf/include/Graphs/ConsG.h +3 -3
  761. package/svf/include/Graphs/GenericGraph.h +2 -2
  762. package/svf/include/Graphs/GraphTraits.h +1 -1
  763. package/svf/include/Graphs/GraphWriter.h +1 -1
  764. package/svf/include/Graphs/IRGraph.h +1 -1
  765. package/svf/include/Graphs/PTACallGraph.h +1 -1
  766. package/svf/include/Graphs/VFGNode.h +2 -2
  767. package/svf/include/MSSA/MSSAMuChi.h +2 -2
  768. package/svf/include/MSSA/MemRegion.h +1 -1
  769. package/svf/include/MSSA/MemSSA.h +1 -1
  770. package/svf/include/MTA/FSMPTA.h +1 -1
  771. package/svf/include/MTA/MHP.h +1 -1
  772. package/svf/include/MTA/TCT.h +1 -1
  773. package/svf/include/MemoryModel/ConditionalPT.h +1 -1
  774. package/svf/include/MemoryModel/MutablePointsToDS.h +2 -2
  775. package/svf/include/MemoryModel/PersistentPointsToDS.h +1 -1
  776. package/svf/include/MemoryModel/PointerAnalysis.h +1 -1
  777. package/svf/include/MemoryModel/PointsTo.h +1 -1
  778. package/svf/include/SABER/SaberCondAllocator.h +1 -1
  779. package/svf/include/SABER/SrcSnkDDA.h +1 -1
  780. package/svf/include/SVFIR/SVFFileSystem.h +3 -3
  781. package/svf/include/SVFIR/SVFIR.h +1 -1
  782. package/svf/include/SVFIR/SVFModule.h +0 -1
  783. package/svf/include/SVFIR/SVFStatements.h +19 -19
  784. package/svf/include/SVFIR/SVFType.h +5 -5
  785. package/svf/include/SVFIR/SVFValue.h +8 -2
  786. package/svf/include/SVFIR/SVFVariables.h +3 -3
  787. package/svf/include/SVFIR/SymbolTableInfo.h +3 -3
  788. package/svf/include/Util/Casting.h +1 -1
  789. package/svf/include/Util/CoreBitVector.h +2 -2
  790. package/svf/include/Util/DPItem.h +1 -1
  791. package/svf/include/Util/ExtAPI.h +11 -457
  792. package/svf/include/Util/NodeIDAllocator.h +1 -1
  793. package/svf/include/Util/Options.h +1 -1
  794. package/svf/include/Util/SVFBugReport.h +1 -1
  795. package/svf/include/Util/SVFUtil.h +11 -26
  796. package/svf/include/Util/WorkList.h +1 -1
  797. package/svf/include/Util/cJSON.h +1 -1
  798. package/svf/include/WPA/Andersen.h +1 -1
  799. package/svf/include/WPA/FlowSensitive.h +1 -1
  800. package/svf/include/WPA/WPASolver.h +1 -1
  801. package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +1 -1
  802. package/svf/lib/CFL/CFGNormalizer.cpp +2 -2
  803. package/svf/lib/CFL/CFLAlias.cpp +2 -2
  804. package/svf/lib/CFL/CFLGraphBuilder.cpp +2 -2
  805. package/svf/lib/CFL/CFLVF.cpp +1 -1
  806. package/svf/lib/DDA/ContextDDA.cpp +1 -1
  807. package/svf/lib/FastCluster/fastcluster.cpp +3 -3
  808. package/svf/lib/Graphs/ConsG.cpp +1 -1
  809. package/svf/lib/Graphs/SVFGOPT.cpp +2 -2
  810. package/svf/lib/Graphs/VFG.cpp +2 -2
  811. package/svf/lib/MSSA/MemRegion.cpp +1 -1
  812. package/svf/lib/MTA/FSMPTA.cpp +1 -1
  813. package/svf/lib/MTA/LockAnalysis.cpp +1 -1
  814. package/svf/lib/MTA/MHP.cpp +1 -1
  815. package/svf/lib/MemoryModel/AccessPath.cpp +2 -2
  816. package/svf/lib/SABER/ProgSlice.cpp +1 -1
  817. package/svf/lib/SABER/SaberCondAllocator.cpp +1 -1
  818. package/svf/lib/SVFIR/SVFFileSystem.cpp +3 -1
  819. package/svf/lib/SVFIR/SVFIR.cpp +3 -3
  820. package/svf/lib/SVFIR/SVFValue.cpp +5 -5
  821. package/svf/lib/SVFIR/SymbolTableInfo.cpp +2 -2
  822. package/svf/lib/Util/ExtAPI.cpp +36 -595
  823. package/svf/lib/Util/NodeIDAllocator.cpp +2 -2
  824. package/svf/lib/Util/Options.cpp +8 -8
  825. package/svf/lib/Util/SVFBugReport.cpp +0 -2
  826. package/svf/lib/Util/SVFUtil.cpp +2 -2
  827. package/svf/lib/Util/extapi.c +1348 -0
  828. package/svf/lib/WPA/Andersen.cpp +6 -6
  829. package/svf/lib/WPA/VersionedFlowSensitive.cpp +2 -2
  830. package/svf-llvm/CMakeLists.txt +1 -1
  831. package/svf-llvm/include/SVF-LLVM/GEPTypeBridgeIterator.h +1 -1
  832. package/svf-llvm/include/SVF-LLVM/LLVMModule.h +17 -0
  833. package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +14 -1
  834. package/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +5 -14
  835. package/svf-llvm/include/SVF-LLVM/SymbolTableBuilder.h +1 -1
  836. package/svf-llvm/lib/BreakConstantExpr.cpp +1 -1
  837. package/svf-llvm/lib/ICFGBuilder.cpp +2 -2
  838. package/svf-llvm/lib/LLVMModule.cpp +160 -46
  839. package/svf-llvm/lib/LLVMUtil.cpp +121 -0
  840. package/svf-llvm/lib/SVFIRBuilder.cpp +12 -81
  841. package/svf-llvm/lib/SVFIRExtAPI.cpp +161 -536
  842. package/svf-llvm/lib/SymbolTableBuilder.cpp +2 -2
  843. package/svf-llvm/tools/MTA/MTAResultValidator.cpp +1 -1
  844. package/svf/include/Util/ExtAPI.json +0 -5853
@@ -122,378 +122,376 @@ $(function() {
122
122
  <div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20"> 51</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> GenericBug::getLoc()<span class="keyword"> const</span></div>
123
123
  <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword"></span>{</div>
124
124
  <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&amp;sourceInstEvent = bugEventStack.at(bugEventStack.size() -1);</div>
125
- <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; assert(sourceInstEvent.<a class="code" href="classSVF_1_1SVFBugEvent.html#a7ded0022f3852a08a05c67aeae77162f">getEventType</a>() == SVFBugEvent::SourceInst &amp;&amp; <span class="stringliteral">&quot;bugEventStack top should be a SourceInst event&quot;</span>);</div>
126
- <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> sourceInstEvent.<a class="code" href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8">getEventLoc</a>();</div>
127
- <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;}</div>
128
- <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
129
- <div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1GenericBug.html#afad49e3f62083345138932ffadf567dd"> 58</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> GenericBug::getFuncName()<span class="keyword"> const</span></div>
130
- <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="keyword"></span>{</div>
131
- <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&amp;sourceInstEvent = bugEventStack.at(bugEventStack.size() -1);</div>
132
- <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; assert(sourceInstEvent.<a class="code" href="classSVF_1_1SVFBugEvent.html#a7ded0022f3852a08a05c67aeae77162f">getEventType</a>() == SVFBugEvent::SourceInst &amp;&amp; <span class="stringliteral">&quot;bugEventStack top should be a SourceInst event&quot;</span>);</div>
133
- <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> sourceInstEvent.<a class="code" href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d">getFuncName</a>();</div>
134
- <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
135
- <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
136
- <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1BufferOverflowBug.html#a192bb246ed947f33cf7b02493c8fded8"> 65</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> *BufferOverflowBug::getBugDescription()<span class="keyword"> const</span></div>
137
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keyword"></span>{</div>
138
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
139
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *allocLB = cJSON_CreateNumber(allocLowerBound);</div>
140
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *allocUB = cJSON_CreateNumber(allocUpperBound);</div>
141
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *accessLB = cJSON_CreateNumber(accessLowerBound);</div>
142
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *accessUB = cJSON_CreateNumber(accessUpperBound);</div>
143
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
144
- <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AllocLowerBound&quot;</span>, allocLB);</div>
145
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AllocUpperBound&quot;</span>, allocUB);</div>
146
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AccessLowerBound&quot;</span>, accessLB);</div>
147
- <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AccessUpperBound&quot;</span>, accessUB);</div>
148
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
149
- <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
150
- <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;}</div>
151
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
152
- <div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1BufferOverflowBug.html#ac985d855e598175618b517259b6d3212"> 81</a></span>&#160;<span class="keywordtype">void</span> BufferOverflowBug::printBugToTerminal()<span class="keyword"> const</span></div>
153
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keyword"></span>{</div>
154
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; stringstream bugInfo;</div>
155
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span>(FullBufferOverflowBug::classof(<span class="keyword">this</span>))</div>
156
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
157
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t Full Overflow :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; accessing at : (&quot;</span></div>
158
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
159
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
160
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
161
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">else</span></div>
162
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
163
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t Partial Overflow :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; accessing at : (&quot;</span></div>
164
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
165
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
166
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; bugInfo &lt;&lt; <span class="stringliteral">&quot;\t\t allocate size : [&quot;</span> &lt;&lt; allocLowerBound &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; allocUpperBound &lt;&lt; <span class="stringliteral">&quot;], &quot;</span>;</div>
167
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; bugInfo &lt;&lt; <span class="stringliteral">&quot;access size : [&quot;</span> &lt;&lt; accessLowerBound &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; accessUpperBound &lt;&lt; <span class="stringliteral">&quot;]\n&quot;</span>;</div>
168
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t Info : \n&quot;</span> &lt;&lt; bugInfo.str();</div>
169
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t Events : \n&quot;</span>;</div>
170
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
171
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> event : bugEventStack)</div>
172
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
173
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">switch</span>(event.getEventType())</div>
125
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> sourceInstEvent.<a class="code" href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8">getEventLoc</a>();</div>
126
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
127
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
128
+ <div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1GenericBug.html#afad49e3f62083345138932ffadf567dd"> 57</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> GenericBug::getFuncName()<span class="keyword"> const</span></div>
129
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword"></span>{</div>
130
+ <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&amp;sourceInstEvent = bugEventStack.at(bugEventStack.size() -1);</div>
131
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> sourceInstEvent.<a class="code" href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d">getFuncName</a>();</div>
132
+ <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
133
+ <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
134
+ <div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1BufferOverflowBug.html#a192bb246ed947f33cf7b02493c8fded8"> 63</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> *BufferOverflowBug::getBugDescription()<span class="keyword"> const</span></div>
135
+ <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword"></span>{</div>
136
+ <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
137
+ <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *allocLB = cJSON_CreateNumber(allocLowerBound);</div>
138
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *allocUB = cJSON_CreateNumber(allocUpperBound);</div>
139
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *accessLB = cJSON_CreateNumber(accessLowerBound);</div>
140
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *accessUB = cJSON_CreateNumber(accessUpperBound);</div>
141
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
142
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AllocLowerBound&quot;</span>, allocLB);</div>
143
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AllocUpperBound&quot;</span>, allocUB);</div>
144
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AccessLowerBound&quot;</span>, accessLB);</div>
145
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AccessUpperBound&quot;</span>, accessUB);</div>
146
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
147
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
148
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
149
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
150
+ <div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSVF_1_1BufferOverflowBug.html#ac985d855e598175618b517259b6d3212"> 79</a></span>&#160;<span class="keywordtype">void</span> BufferOverflowBug::printBugToTerminal()<span class="keyword"> const</span></div>
151
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="keyword"></span>{</div>
152
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; stringstream bugInfo;</div>
153
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span>(FullBufferOverflowBug::classof(<span class="keyword">this</span>))</div>
154
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div>
155
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t Full Overflow :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; accessing at : (&quot;</span></div>
156
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
157
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
158
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
159
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">else</span></div>
160
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
161
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t Partial Overflow :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; accessing at : (&quot;</span></div>
162
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
163
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
164
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; bugInfo &lt;&lt; <span class="stringliteral">&quot;\t\t allocate size : [&quot;</span> &lt;&lt; allocLowerBound &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; allocUpperBound &lt;&lt; <span class="stringliteral">&quot;], &quot;</span>;</div>
165
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; bugInfo &lt;&lt; <span class="stringliteral">&quot;access size : [&quot;</span> &lt;&lt; accessLowerBound &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; accessUpperBound &lt;&lt; <span class="stringliteral">&quot;]\n&quot;</span>;</div>
166
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t Info : \n&quot;</span> &lt;&lt; bugInfo.str();</div>
167
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t Events : \n&quot;</span>;</div>
168
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
169
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> event : bugEventStack)</div>
170
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
171
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">switch</span>(event.getEventType())</div>
172
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
173
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::CallSite:</div>
174
174
  <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
175
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::CallSite:</div>
176
- <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div>
177
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t callsite at : ( &quot;</span> &lt;&lt; <span class="keyword">event</span>.getEventLoc() &lt;&lt; <span class="stringliteral">&quot; )\n&quot;</span>;</div>
178
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">break</span>;</div>
179
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
180
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">default</span>:</div>
181
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
182
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">// TODO: implement more events when needed</span></div>
183
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">break</span>;</div>
184
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
185
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
186
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
187
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;}</div>
188
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
189
- <div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1NeverFreeBug.html#a0e52a0f35ff4d536f2de27a22139e59c"> 118</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * NeverFreeBug::getBugDescription()<span class="keyword"> const</span></div>
190
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword"></span>{</div>
191
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
192
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
193
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;}</div>
194
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
195
- <div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1NeverFreeBug.html#ac20c926cb9a72c5913afcf6877d04791"> 124</a></span>&#160;<span class="keywordtype">void</span> NeverFreeBug::printBugToTerminal()<span class="keyword"> const</span></div>
196
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keyword"></span>{</div>
197
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t NeverFree :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; memory allocation at : (&quot;</span></div>
198
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
199
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div>
200
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; </div>
201
- <div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialLeakBug.html#abd956a30bc4f8b1e25826149d20ea2b5"> 130</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * PartialLeakBug::getBugDescription()<span class="keyword"> const</span></div>
202
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keyword"></span>{</div>
203
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
204
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
205
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
206
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
207
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
208
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
209
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
210
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
175
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t callsite at : ( &quot;</span> &lt;&lt; <span class="keyword">event</span>.getEventLoc() &lt;&lt; <span class="stringliteral">&quot; )\n&quot;</span>;</div>
176
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">break</span>;</div>
177
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
178
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">default</span>:</div>
179
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
180
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// TODO: implement more events when needed</span></div>
181
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">break</span>;</div>
182
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
183
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
184
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
185
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
186
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
187
+ <div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1NeverFreeBug.html#a0e52a0f35ff4d536f2de27a22139e59c"> 116</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * NeverFreeBug::getBugDescription()<span class="keyword"> const</span></div>
188
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keyword"></span>{</div>
189
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
190
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
191
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;}</div>
192
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
193
+ <div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1NeverFreeBug.html#ac20c926cb9a72c5913afcf6877d04791"> 122</a></span>&#160;<span class="keywordtype">void</span> NeverFreeBug::printBugToTerminal()<span class="keyword"> const</span></div>
194
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="keyword"></span>{</div>
195
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t NeverFree :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; memory allocation at : (&quot;</span></div>
196
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
197
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;}</div>
198
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
199
+ <div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialLeakBug.html#abd956a30bc4f8b1e25826149d20ea2b5"> 128</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * PartialLeakBug::getBugDescription()<span class="keyword"> const</span></div>
200
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keyword"></span>{</div>
201
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
202
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
203
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
204
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
205
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
206
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
207
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
208
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
209
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
210
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
211
211
  <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
212
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
213
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
214
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
215
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
216
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
217
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
218
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div>
212
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
213
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
214
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; </div>
215
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
216
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
217
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
218
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;ConditionalFreePath&quot;</span>, pathInfo);</div>
219
219
  <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
220
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;ConditionalFreePath&quot;</span>, pathInfo);</div>
221
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
222
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
223
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;}</div>
224
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
225
- <div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialLeakBug.html#aa3acf06e90939896a86c449260c2e4b4"> 154</a></span>&#160;<span class="keywordtype">void</span> PartialLeakBug::printBugToTerminal()<span class="keyword"> const</span></div>
226
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="keyword"></span>{</div>
227
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t PartialLeak :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; memory allocation at : (&quot;</span></div>
228
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
229
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
230
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t conditional free path: \n&quot;</span>;</div>
231
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
232
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
233
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div>
234
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
235
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
236
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
237
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;}</div>
238
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
239
- <div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1DoubleFreeBug.html#acf0d2ffb52d0b322421a5556d41a1d63"> 168</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * DoubleFreeBug::getBugDescription()<span class="keyword"> const</span></div>
240
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="keyword"></span>{</div>
241
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
242
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
243
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
244
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
245
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
246
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
247
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
248
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
249
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
250
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
251
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
252
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
253
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
254
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div>
255
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
256
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div>
257
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;DoubleFreePath&quot;</span>, pathInfo);</div>
258
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
259
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
260
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;}</div>
261
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; </div>
262
- <div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classSVF_1_1DoubleFreeBug.html#af67320d8ebd56aec6ecddc3f44ec09b9"> 191</a></span>&#160;<span class="keywordtype">void</span> DoubleFreeBug::printBugToTerminal()<span class="keyword"> const</span></div>
263
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="keyword"></span>{</div>
264
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t Double Free :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; memory allocation at : (&quot;</span></div>
265
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
266
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
267
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t double free path: \n&quot;</span>;</div>
268
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
269
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
270
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div>
271
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
272
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div>
273
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
274
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;}</div>
275
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
276
- <div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classSVF_1_1FileNeverCloseBug.html#a80257bc6a9cf4eecfa402def59993e6e"> 205</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * FileNeverCloseBug::getBugDescription()<span class="keyword"> const</span></div>
277
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="keyword"></span>{</div>
278
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
279
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
280
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;}</div>
281
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
282
- <div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classSVF_1_1FileNeverCloseBug.html#ae3d9bb5952fa858780ec50148e474388"> 211</a></span>&#160;<span class="keywordtype">void</span> FileNeverCloseBug::printBugToTerminal()<span class="keyword"> const</span></div>
283
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="keyword"></span>{</div>
284
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t FileNeverClose :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; file open location at : (&quot;</span></div>
285
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
286
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}</div>
287
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
288
- <div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classSVF_1_1FilePartialCloseBug.html#a16b96f3c79cf5edae0f0f02e52344283"> 217</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * FilePartialCloseBug::getBugDescription()<span class="keyword"> const</span></div>
289
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="keyword"></span>{</div>
290
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
220
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
221
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
222
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
223
+ <div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialLeakBug.html#aa3acf06e90939896a86c449260c2e4b4"> 152</a></span>&#160;<span class="keywordtype">void</span> PartialLeakBug::printBugToTerminal()<span class="keyword"> const</span></div>
224
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="keyword"></span>{</div>
225
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t PartialLeak :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; memory allocation at : (&quot;</span></div>
226
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
227
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
228
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t conditional free path: \n&quot;</span>;</div>
229
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
230
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
231
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div>
232
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
233
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div>
234
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
235
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;}</div>
236
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
237
+ <div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classSVF_1_1DoubleFreeBug.html#acf0d2ffb52d0b322421a5556d41a1d63"> 166</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * DoubleFreeBug::getBugDescription()<span class="keyword"> const</span></div>
238
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="keyword"></span>{</div>
239
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
240
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
241
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
242
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
243
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
244
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
245
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
246
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
247
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
248
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
249
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
250
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
251
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
252
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
253
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
254
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
255
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;DoubleFreePath&quot;</span>, pathInfo);</div>
256
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
257
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
258
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;}</div>
259
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; </div>
260
+ <div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1DoubleFreeBug.html#af67320d8ebd56aec6ecddc3f44ec09b9"> 189</a></span>&#160;<span class="keywordtype">void</span> DoubleFreeBug::printBugToTerminal()<span class="keyword"> const</span></div>
261
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="keyword"></span>{</div>
262
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t Double Free :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; memory allocation at : (&quot;</span></div>
263
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
264
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
265
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t double free path: \n&quot;</span>;</div>
266
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
267
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
268
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div>
269
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
270
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div>
271
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
272
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;}</div>
273
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; </div>
274
+ <div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classSVF_1_1FileNeverCloseBug.html#a80257bc6a9cf4eecfa402def59993e6e"> 203</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * FileNeverCloseBug::getBugDescription()<span class="keyword"> const</span></div>
275
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="keyword"></span>{</div>
276
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
277
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
278
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;}</div>
279
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; </div>
280
+ <div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classSVF_1_1FileNeverCloseBug.html#ae3d9bb5952fa858780ec50148e474388"> 209</a></span>&#160;<span class="keywordtype">void</span> FileNeverCloseBug::printBugToTerminal()<span class="keyword"> const</span></div>
281
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="keyword"></span>{</div>
282
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t FileNeverClose :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; file open location at : (&quot;</span></div>
283
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
284
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;}</div>
285
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
286
+ <div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1FilePartialCloseBug.html#a16b96f3c79cf5edae0f0f02e52344283"> 215</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> * FilePartialCloseBug::getBugDescription()<span class="keyword"> const</span></div>
287
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="keyword"></span>{</div>
288
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
289
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
290
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
291
291
  <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
292
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
293
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; </div>
294
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
295
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
296
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div>
297
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
298
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
299
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
300
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
301
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
302
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
303
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
304
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; </div>
305
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
306
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div>
307
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;ConditionalFileClosePath&quot;</span>, pathInfo);</div>
308
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
309
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
310
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;}</div>
311
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; </div>
312
- <div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classSVF_1_1FilePartialCloseBug.html#a32576eee4de3b4c094c3f8a5501c7b99"> 241</a></span>&#160;<span class="keywordtype">void</span> FilePartialCloseBug::printBugToTerminal()<span class="keyword"> const</span></div>
313
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="keyword"></span>{</div>
314
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t PartialFileClose :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; file open location at : (&quot;</span></div>
315
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
316
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; </div>
317
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t conditional file close path: \n&quot;</span>;</div>
318
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
319
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
320
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; {</div>
321
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
322
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div>
323
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
324
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div>
325
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; </div>
326
- <div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#a8f057178ee7182d691dbb3103d0d0d43"> 255</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> *FullNullPtrDereferenceBug::getBugDescription()<span class="keyword"> const</span></div>
327
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="keyword"></span>{</div>
328
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
329
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
330
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div>
331
- <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; </div>
332
- <div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#ae269f1b62e89f8fcca783865d6ce8723"> 261</a></span>&#160;<span class="keywordtype">void</span> FullNullPtrDereferenceBug::printBugToTerminal()<span class="keyword"> const</span></div>
333
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="keyword"></span>{</div>
334
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t FullNullPtrDereference :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; dereference at : (&quot;</span></div>
335
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
336
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;}</div>
337
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; </div>
338
- <div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#a910f2e839e1e722655fbb2266c15f136"> 267</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> *PartialNullPtrDereferenceBug::getBugDescription()<span class="keyword"> const</span></div>
339
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="keyword"></span>{</div>
340
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
341
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
342
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;}</div>
343
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; </div>
344
- <div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#acc860880d548ea2cf5b63f0f7ad11456"> 273</a></span>&#160;<span class="keywordtype">void</span> PartialNullPtrDereferenceBug::printBugToTerminal()<span class="keyword"> const</span></div>
345
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="keyword"></span>{</div>
346
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t PartialNullPtrDereference :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; dereference at : (&quot;</span></div>
347
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
348
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;}</div>
349
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; </div>
350
- <div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d"> 279</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getFuncName()<span class="keyword"> const</span></div>
351
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="keyword"></span>{</div>
352
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> eventInst-&gt;getFunction()-&gt;getName();</div>
353
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;}</div>
354
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; </div>
355
- <div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8"> 284</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventLoc()<span class="keyword"> const</span></div>
356
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="keyword"></span>{</div>
357
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">return</span> eventInst-&gt;getSourceLoc();</div>
358
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;}</div>
359
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; </div>
360
- <div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a7c5d28996f9715d0f90d664b93477a23"> 289</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventDescription()<span class="keyword"> const</span></div>
361
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="keyword"></span>{</div>
362
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">switch</span>(getEventType())</div>
292
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
293
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
294
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
295
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
296
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
297
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
298
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
299
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
300
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
301
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
302
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; </div>
303
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
304
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
305
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;ConditionalFileClosePath&quot;</span>, pathInfo);</div>
306
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
307
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
308
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;}</div>
309
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; </div>
310
+ <div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classSVF_1_1FilePartialCloseBug.html#a32576eee4de3b4c094c3f8a5501c7b99"> 239</a></span>&#160;<span class="keywordtype">void</span> FilePartialCloseBug::printBugToTerminal()<span class="keyword"> const</span></div>
311
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="keyword"></span>{</div>
312
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t PartialFileClose :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; file open location at : (&quot;</span></div>
313
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
314
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; </div>
315
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t conditional file close path: \n&quot;</span>;</div>
316
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
317
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
318
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div>
319
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
320
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
321
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
322
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;}</div>
323
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
324
+ <div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#a8f057178ee7182d691dbb3103d0d0d43"> 253</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> *FullNullPtrDereferenceBug::getBugDescription()<span class="keyword"> const</span></div>
325
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="keyword"></span>{</div>
326
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
327
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
328
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;}</div>
329
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
330
+ <div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#ae269f1b62e89f8fcca783865d6ce8723"> 259</a></span>&#160;<span class="keywordtype">void</span> FullNullPtrDereferenceBug::printBugToTerminal()<span class="keyword"> const</span></div>
331
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="keyword"></span>{</div>
332
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t FullNullPtrDereference :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; dereference at : (&quot;</span></div>
333
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
334
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div>
335
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; </div>
336
+ <div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#a910f2e839e1e722655fbb2266c15f136"> 265</a></span>&#160;<a class="code" href="structcJSON.html">cJSON</a> *PartialNullPtrDereferenceBug::getBugDescription()<span class="keyword"> const</span></div>
337
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="keyword"></span>{</div>
338
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
339
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
340
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;}</div>
341
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; </div>
342
+ <div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#acc860880d548ea2cf5b63f0f7ad11456"> 271</a></span>&#160;<span class="keywordtype">void</span> PartialNullPtrDereferenceBug::printBugToTerminal()<span class="keyword"> const</span></div>
343
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="keyword"></span>{</div>
344
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t PartialNullPtrDereference :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; dereference at : (&quot;</span></div>
345
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
346
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div>
347
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; </div>
348
+ <div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d"> 277</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getFuncName()<span class="keyword"> const</span></div>
349
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="keyword"></span>{</div>
350
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> eventInst-&gt;getFunction()-&gt;getName();</div>
351
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;}</div>
352
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; </div>
353
+ <div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8"> 282</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventLoc()<span class="keyword"> const</span></div>
354
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="keyword"></span>{</div>
355
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> eventInst-&gt;getSourceLoc();</div>
356
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;}</div>
357
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; </div>
358
+ <div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a7c5d28996f9715d0f90d664b93477a23"> 287</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventDescription()<span class="keyword"> const</span></div>
359
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="keyword"></span>{</div>
360
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">switch</span>(getEventType())</div>
361
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div>
362
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::Branch:</div>
363
363
  <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div>
364
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::Branch:</div>
365
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
366
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">if</span> (typeAndInfoFlag &amp; <a class="code" href="SVFBugReport_8h.html#a6c7cd1f1c2372251f51de3a8392faeec">BRANCHFLAGMASK</a>)</div>
367
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; {</div>
368
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;True&quot;</span>;</div>
369
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div>
370
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">else</span></div>
371
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div>
372
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;False&quot;</span>;</div>
373
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
374
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">break</span>;</div>
375
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
376
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::CallSite:</div>
377
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div>
378
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> description(<span class="stringliteral">&quot;calls &quot;</span>);</div>
379
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#ad56c48be3ba6ebb95416623256524097">SVFUtil::getCallee</a>(eventInst);</div>
380
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">if</span>(callee == <span class="keyword">nullptr</span>)</div>
381
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
382
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; description += <span class="stringliteral">&quot;&lt;unknown&gt;&quot;</span>;</div>
383
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div>
384
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">else</span></div>
385
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div>
386
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; description += callee-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>();</div>
387
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div>
388
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span> description;</div>
389
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">break</span>;</div>
390
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; }</div>
391
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::SourceInst:</div>
392
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; {</div>
393
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;None&quot;</span>;</div>
394
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div>
395
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">default</span>:</div>
396
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; {</div>
397
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;No such type of event!&quot;</span>);</div>
398
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; abort();</div>
399
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div>
400
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div>
401
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;}</div>
402
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; </div>
403
- <div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#a4e243c7297791b306d970c19abc87ca9"> 332</a></span>&#160;SVFBugReport::~SVFBugReport()</div>
404
- <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;{</div>
405
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugIt: bugSet)</div>
406
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {</div>
407
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keyword">delete</span> bugIt;</div>
408
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div>
409
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;}</div>
410
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; </div>
411
- <div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#aa119593331403f73867fddcb6ec26989"> 340</a></span>&#160;<span class="keywordtype">void</span> SVFBugReport::dumpToJsonFile(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; filePath)<span class="keyword"> const</span></div>
412
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="keyword"></span>{</div>
413
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; std::map&lt;u32_t, std::string&gt; eventType2Str =</div>
414
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; {</div>
415
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {SVFBugEvent::CallSite, <span class="stringliteral">&quot;call site&quot;</span>},</div>
416
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {SVFBugEvent::Caller, <span class="stringliteral">&quot;caller&quot;</span>},</div>
417
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; {<a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVFBugEvent::Loop</a>, <span class="stringliteral">&quot;loop&quot;</span>},</div>
418
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {SVFBugEvent::Branch, <span class="stringliteral">&quot;branch&quot;</span>}</div>
419
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; };</div>
364
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">if</span> (typeAndInfoFlag &amp; <a class="code" href="SVFBugReport_8h.html#a6c7cd1f1c2372251f51de3a8392faeec">BRANCHFLAGMASK</a>)</div>
365
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
366
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;True&quot;</span>;</div>
367
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div>
368
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">else</span></div>
369
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
370
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;False&quot;</span>;</div>
371
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div>
372
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">break</span>;</div>
373
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
374
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::CallSite:</div>
375
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
376
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> description(<span class="stringliteral">&quot;calls &quot;</span>);</div>
377
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#ad56c48be3ba6ebb95416623256524097">SVFUtil::getCallee</a>(eventInst);</div>
378
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">if</span>(callee == <span class="keyword">nullptr</span>)</div>
379
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; {</div>
380
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; description += <span class="stringliteral">&quot;&lt;unknown&gt;&quot;</span>;</div>
381
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; }</div>
382
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">else</span></div>
383
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; {</div>
384
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; description += callee-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>();</div>
385
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div>
386
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> description;</div>
387
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">break</span>;</div>
388
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
389
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::SourceInst:</div>
390
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; {</div>
391
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;None&quot;</span>;</div>
392
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
393
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">default</span>:</div>
394
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div>
395
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;No such type of event!&quot;</span>);</div>
396
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; abort();</div>
397
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
398
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div>
399
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;}</div>
400
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; </div>
401
+ <div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#a4e243c7297791b306d970c19abc87ca9"> 330</a></span>&#160;SVFBugReport::~SVFBugReport()</div>
402
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;{</div>
403
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugIt: bugSet)</div>
404
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; {</div>
405
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keyword">delete</span> bugIt;</div>
406
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
407
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;}</div>
408
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; </div>
409
+ <div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#aa119593331403f73867fddcb6ec26989"> 338</a></span>&#160;<span class="keywordtype">void</span> SVFBugReport::dumpToJsonFile(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; filePath)<span class="keyword"> const</span></div>
410
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;<span class="keyword"></span>{</div>
411
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; std::map&lt;u32_t, std::string&gt; eventType2Str =</div>
412
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div>
413
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {SVFBugEvent::CallSite, <span class="stringliteral">&quot;call site&quot;</span>},</div>
414
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; {SVFBugEvent::Caller, <span class="stringliteral">&quot;caller&quot;</span>},</div>
415
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {<a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVFBugEvent::Loop</a>, <span class="stringliteral">&quot;loop&quot;</span>},</div>
416
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {SVFBugEvent::Branch, <span class="stringliteral">&quot;branch&quot;</span>}</div>
417
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; };</div>
418
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; </div>
419
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; ofstream jsonFile(filePath, ios::out);</div>
420
420
  <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; </div>
421
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; ofstream jsonFile(filePath, ios::out);</div>
421
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div>
422
422
  <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
423
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div>
424
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; </div>
425
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordtype">size_t</span> commaCounter = bugSet.size() - 1; <span class="comment">// comma num needed</span></div>
426
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugPtr : bugSet)</div>
427
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
428
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleBug = cJSON_CreateObject();</div>
429
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; </div>
430
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugType = cJSON_CreateString(GenericBug::BugType2Str.at(bugPtr-&gt;getBugType()).c_str());</div>
431
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;DefectType&quot;</span>, bugType);</div>
432
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; </div>
433
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugLoc = cJSON_Parse(bugPtr-&gt;getLoc().c_str());</div>
434
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">if</span>(bugLoc == <span class="keyword">nullptr</span>)</div>
435
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {</div>
436
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; bugLoc = cJSON_CreateObject();</div>
437
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; }</div>
438
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Location&quot;</span>, bugLoc);</div>
439
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; </div>
440
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugFunction = cJSON_CreateString(bugPtr-&gt;getFuncName().c_str());</div>
441
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Function&quot;</span>, bugFunction);</div>
423
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordtype">size_t</span> commaCounter = bugSet.size() - 1; <span class="comment">// comma num needed</span></div>
424
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugPtr : bugSet)</div>
425
+ <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; {</div>
426
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleBug = cJSON_CreateObject();</div>
427
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; </div>
428
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugType = cJSON_CreateString(GenericBug::BugType2Str.at(bugPtr-&gt;getBugType()).c_str());</div>
429
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;DefectType&quot;</span>, bugType);</div>
430
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; </div>
431
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugLoc = cJSON_Parse(bugPtr-&gt;getLoc().c_str());</div>
432
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span>(bugLoc == <span class="keyword">nullptr</span>)</div>
433
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
434
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; bugLoc = cJSON_CreateObject();</div>
435
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
436
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Location&quot;</span>, bugLoc);</div>
437
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; </div>
438
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugFunction = cJSON_CreateString(bugPtr-&gt;getFuncName().c_str());</div>
439
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Function&quot;</span>, bugFunction);</div>
440
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; </div>
441
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Description&quot;</span>, bugPtr-&gt;getBugDescription());</div>
442
442
  <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; </div>
443
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Description&quot;</span>, bugPtr-&gt;getBugDescription());</div>
444
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; </div>
445
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventList = cJSON_CreateArray();</div>
446
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">GenericBug::EventStack</a> &amp;bugEventStack = bugPtr-&gt;getEventStack();</div>
447
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">if</span>(BufferOverflowBug::classof(bugPtr))</div>
448
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; {</div>
449
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="comment">// add only when bug is context sensitive</span></div>
450
- <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&amp;event : bugEventStack)</div>
451
- <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div>
452
- <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">if</span> (event.getEventType() == SVFBugEvent::SourceInst)</div>
453
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div>
454
- <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">continue</span>;</div>
455
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; }</div>
456
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; </div>
457
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleEvent = cJSON_CreateObject();</div>
458
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="comment">//event type</span></div>
459
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventType = cJSON_CreateString(eventType2Str[event.getEventType()].c_str());</div>
460
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;EventType&quot;</span>, eventType);</div>
461
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="comment">//function name</span></div>
462
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventFunc = cJSON_CreateString(event.getFuncName().c_str());</div>
463
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Function&quot;</span>, eventFunc);</div>
464
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="comment">//event loc</span></div>
465
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventLoc = cJSON_Parse(event.getEventLoc().c_str());</div>
466
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span>(eventLoc == <span class="keyword">nullptr</span>)</div>
467
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
468
- <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; eventLoc = cJSON_CreateObject();</div>
469
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
470
- <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Location&quot;</span>, eventLoc);</div>
471
- <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="comment">//event description</span></div>
472
- <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventDescription = cJSON_CreateString(event.getEventDescription().c_str());</div>
473
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Description&quot;</span>, eventDescription);</div>
474
- <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; </div>
475
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; cJSON_AddItemToArray(eventList, singleEvent);</div>
476
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; }</div>
477
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; }</div>
478
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Events&quot;</span>, eventList);</div>
479
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; </div>
480
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordtype">char</span> *singleBugStr = cJSON_Print(singleBug);</div>
481
- <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; jsonFile &lt;&lt; singleBugStr;</div>
482
- <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">if</span> (commaCounter != 0)</div>
483
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; {</div>
484
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;,\n&quot;</span>;</div>
485
- <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div>
486
- <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; commaCounter --;</div>
487
- <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; </div>
488
- <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <a class="code" href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a>(singleBug);</div>
489
- <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; }</div>
490
- <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; </div>
491
- <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
492
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; jsonFile.close();</div>
493
- <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;}</div>
443
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventList = cJSON_CreateArray();</div>
444
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">GenericBug::EventStack</a> &amp;bugEventStack = bugPtr-&gt;getEventStack();</div>
445
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">if</span>(BufferOverflowBug::classof(bugPtr))</div>
446
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
447
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="comment">// add only when bug is context sensitive</span></div>
448
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&amp;event : bugEventStack)</div>
449
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; {</div>
450
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">if</span> (event.getEventType() == SVFBugEvent::SourceInst)</div>
451
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div>
452
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">continue</span>;</div>
453
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
454
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; </div>
455
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleEvent = cJSON_CreateObject();</div>
456
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="comment">//event type</span></div>
457
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventType = cJSON_CreateString(eventType2Str[event.getEventType()].c_str());</div>
458
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;EventType&quot;</span>, eventType);</div>
459
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="comment">//function name</span></div>
460
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventFunc = cJSON_CreateString(event.getFuncName().c_str());</div>
461
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Function&quot;</span>, eventFunc);</div>
462
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">//event loc</span></div>
463
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventLoc = cJSON_Parse(event.getEventLoc().c_str());</div>
464
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">if</span>(eventLoc == <span class="keyword">nullptr</span>)</div>
465
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
466
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; eventLoc = cJSON_CreateObject();</div>
467
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div>
468
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Location&quot;</span>, eventLoc);</div>
469
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="comment">//event description</span></div>
470
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventDescription = cJSON_CreateString(event.getEventDescription().c_str());</div>
471
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Description&quot;</span>, eventDescription);</div>
472
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; </div>
473
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; cJSON_AddItemToArray(eventList, singleEvent);</div>
474
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }</div>
475
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; }</div>
476
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Events&quot;</span>, eventList);</div>
477
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; </div>
478
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordtype">char</span> *singleBugStr = cJSON_Print(singleBug);</div>
479
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; jsonFile &lt;&lt; singleBugStr;</div>
480
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (commaCounter != 0)</div>
481
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div>
482
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;,\n&quot;</span>;</div>
483
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div>
484
+ <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; commaCounter --;</div>
485
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; </div>
486
+ <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <a class="code" href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a>(singleBug);</div>
487
+ <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; }</div>
488
+ <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; </div>
489
+ <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
490
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; jsonFile.close();</div>
491
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;}</div>
494
492
  </div><!-- fragment --></div><!-- contents -->
495
493
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a2401b022638769f59f86ab424a189b6e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string &amp; getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00216">SVFValue.h:216</a></div></div>
496
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad56c48be3ba6ebb95416623256524097"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad56c48be3ba6ebb95416623256524097">SVF::LLVMUtil::getCallee</a></div><div class="ttdeci">const Function * getCallee(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00075">LLVMUtil.h:75</a></div></div>
494
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad56c48be3ba6ebb95416623256524097"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad56c48be3ba6ebb95416623256524097">SVF::LLVMUtil::getCallee</a></div><div class="ttdeci">const Function * getCallee(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00074">LLVMUtil.h:74</a></div></div>
497
495
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
498
496
  <div class="ttc" id="acJSON_8cpp_html_afde5c619f31577b3d821b56b23953c85"><div class="ttname"><a href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a></div><div class="ttdeci">cJSON_Delete(null)</div></div>
499
497
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a10504db25b86bc7f74aebb9c54f04cb3"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVF::SVFUtil::bugMsg1</a></div><div class="ttdeci">std::string bugMsg1(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00081">SVFUtil.cpp:81</a></div></div>
@@ -501,15 +499,14 @@ $(function() {
501
499
  <div class="ttc" id="acJSON_8h_html"><div class="ttname"><a href="cJSON_8h.html">cJSON.h</a></div></div>
502
500
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ac25f6dfcc9118ffd80244a771bdee535"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVF::SVFUtil::bugMsg2</a></div><div class="ttdeci">std::string bugMsg2(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00086">SVFUtil.cpp:86</a></div></div>
503
501
  <div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
504
- <div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_ad3bcb02563f952edd43ab5a7276bd57d"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d">SVF::SVFBugEvent::getFuncName</a></div><div class="ttdeci">virtual const std::string getFuncName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00279">SVFBugReport.cpp:279</a></div></div>
502
+ <div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_ad3bcb02563f952edd43ab5a7276bd57d"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d">SVF::SVFBugEvent::getFuncName</a></div><div class="ttdeci">virtual const std::string getFuncName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00277">SVFBugReport.cpp:277</a></div></div>
505
503
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
506
504
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00270">SVFValue.h:270</a></div></div>
507
505
  <div class="ttc" id="aSVFBugReport_8h_html_a6c7cd1f1c2372251f51de3a8392faeec"><div class="ttname"><a href="SVFBugReport_8h.html#a6c7cd1f1c2372251f51de3a8392faeec">BRANCHFLAGMASK</a></div><div class="ttdeci">#define BRANCHFLAGMASK</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00040">SVFBugReport.h:40</a></div></div>
508
506
  <div class="ttc" id="astructcJSON_html"><div class="ttname"><a href="structcJSON.html">cJSON</a></div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00103">cJSON.h:103</a></div></div>
509
507
  <div class="ttc" id="aSVFBugReport_8h_html"><div class="ttname"><a href="SVFBugReport_8h.html">SVFBugReport.h</a></div></div>
510
508
  <div class="ttc" id="anamespaceSVF_html_abf85e29310b2e4df8925d00a5c081314"><div class="ttname"><a href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVF::Loop</a></div><div class="ttdeci">llvm::Loop Loop</div><div class="ttdoc">LLVM Loop.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00138">BasicTypes.h:138</a></div></div>
511
- <div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_a7ded0022f3852a08a05c67aeae77162f"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#a7ded0022f3852a08a05c67aeae77162f">SVF::SVFBugEvent::getEventType</a></div><div class="ttdeci">u32_t getEventType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00071">SVFBugReport.h:71</a></div></div>
512
- <div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_a5b3fcd366e5275927eb66a02dc6040f8"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8">SVF::SVFBugEvent::getEventLoc</a></div><div class="ttdeci">virtual const std::string getEventLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00284">SVFBugReport.cpp:284</a></div></div>
509
+ <div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_a5b3fcd366e5275927eb66a02dc6040f8"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8">SVF::SVFBugEvent::getEventLoc</a></div><div class="ttdeci">virtual const std::string getEventLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00282">SVFBugReport.cpp:282</a></div></div>
513
510
  <div class="ttc" id="aclassSVF_1_1SVFBugEvent_html"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html">SVF::SVFBugEvent</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00051">SVFBugReport.h:51</a></div></div>
514
511
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream &amp; errs()</div><div class="ttdoc">Overwrite llvm::errs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00056">SVFUtil.h:56</a></div></div>
515
512
  <!-- start footer part -->