svf-tools 1.0.595 → 1.0.597

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 (980) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
  6. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
  7. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
  8. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +8 -8
  9. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +4 -4
  10. package/SVF-doxygen/html/html/CFLGraph_8cpp.html +3 -2
  11. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +15 -13
  12. package/SVF-doxygen/html/html/CFLGraph_8h.html +4 -6
  13. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +19 -18
  14. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +4 -4
  15. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +8 -8
  17. package/SVF-doxygen/html/html/CHG_8cpp.html +6 -5
  18. package/SVF-doxygen/html/html/CHG_8cpp_source.html +26 -24
  19. package/SVF-doxygen/html/html/CHG_8h.html +4 -6
  20. package/SVF-doxygen/html/html/CHG_8h_source.html +13 -12
  21. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
  23. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +7 -7
  24. package/SVF-doxygen/html/html/ConsG_8cpp.html +3 -2
  25. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +27 -26
  26. package/SVF-doxygen/html/html/ConsG_8h.html +4 -6
  27. package/SVF-doxygen/html/html/ConsG_8h_source.html +10 -9
  28. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  29. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
  30. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
  31. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +21 -19
  32. package/SVF-doxygen/html/html/DCHG_8h.html +4 -6
  33. package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -14
  34. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  35. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  37. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  39. package/SVF-doxygen/html/html/DOTGraphTraits_8h.html +97 -0
  40. package/SVF-doxygen/html/html/DOTGraphTraits_8h_source.html +102 -0
  41. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +4 -4
  42. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
  44. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +12 -12
  46. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  50. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  51. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
  52. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +2 -2
  54. package/SVF-doxygen/html/html/GenericGraph_8h.html +15 -6
  55. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +128 -115
  56. package/SVF-doxygen/html/html/GraphPrinter_8h.html +5 -6
  57. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +8 -5
  58. package/SVF-doxygen/html/html/GraphReachSolver_8h_source.html +4 -3
  59. package/SVF-doxygen/html/html/GraphTraits_8h.html +118 -0
  60. package/SVF-doxygen/html/html/GraphTraits_8h_source.html +91 -0
  61. package/SVF-doxygen/html/html/GraphWriter_8cpp.html +81 -0
  62. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +80 -0
  63. package/SVF-doxygen/html/html/GraphWriter_8h.html +138 -0
  64. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +129 -0
  65. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
  66. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +7 -7
  68. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +7 -7
  69. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  70. package/SVF-doxygen/html/html/ICFG_8cpp.html +3 -2
  71. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +27 -26
  72. package/SVF-doxygen/html/html/ICFG_8h.html +4 -6
  73. package/SVF-doxygen/html/html/ICFG_8h_source.html +14 -13
  74. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  75. package/SVF-doxygen/html/html/IRGraph_8cpp.html +3 -2
  76. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -18
  77. package/SVF-doxygen/html/html/IRGraph_8h.html +4 -6
  78. package/SVF-doxygen/html/html/IRGraph_8h_source.html +9 -8
  79. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +7 -6
  80. package/SVF-doxygen/html/html/LLVMModule_8cpp.html +4 -3
  81. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +57 -58
  82. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +36 -36
  83. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +16 -9
  84. package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
  85. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +6 -4
  86. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
  87. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  88. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  89. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +23 -23
  90. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
  91. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -6
  92. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +3 -3
  93. package/SVF-doxygen/html/html/MHP_8cpp_source.html +23 -23
  94. package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
  95. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +3 -3
  96. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  97. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
  98. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -3
  99. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
  100. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
  101. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  102. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  103. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +18 -18
  104. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  105. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +21 -21
  106. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  107. package/SVF-doxygen/html/html/PCG_8cpp_source.html +18 -18
  108. package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
  109. package/SVF-doxygen/html/html/PTACallGraph_8cpp.html +3 -2
  110. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +27 -25
  111. package/SVF-doxygen/html/html/PTACallGraph_8h.html +4 -6
  112. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -16
  113. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
  114. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  115. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
  116. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
  117. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -3
  118. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +7 -7
  119. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
  120. package/SVF-doxygen/html/html/SCC_8h_source.html +4 -2
  121. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  122. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  123. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
  124. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +14 -14
  125. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
  126. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -3
  127. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  128. package/SVF-doxygen/html/html/SVFG_8cpp.html +3 -2
  129. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +23 -23
  130. package/SVF-doxygen/html/html/SVFG_8h.html +1 -3
  131. package/SVF-doxygen/html/html/SVFG_8h_source.html +13 -13
  132. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +15 -14
  133. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +4 -4
  134. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
  135. package/SVF-doxygen/html/html/SVFIR_8h_source.html +4 -4
  136. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  137. package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
  138. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +9 -9
  139. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +9 -9
  140. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +12 -12
  141. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +4 -4
  142. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
  143. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +16 -19
  144. package/SVF-doxygen/html/html/SVFValue_8h.html +3 -3
  145. package/SVF-doxygen/html/html/SVFValue_8h_source.html +210 -213
  146. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +7 -7
  147. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +13 -14
  148. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +3 -3
  149. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +17 -17
  150. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +6 -6
  151. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
  152. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
  153. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
  154. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  155. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +3 -3
  156. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +3 -3
  157. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -10
  158. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -4
  159. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  160. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  161. package/SVF-doxygen/html/html/TCT_8cpp.html +3 -2
  162. package/SVF-doxygen/html/html/TCT_8cpp_source.html +38 -37
  163. package/SVF-doxygen/html/html/TCT_8h.html +4 -6
  164. package/SVF-doxygen/html/html/TCT_8h_source.html +27 -26
  165. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +10 -10
  166. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
  167. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  168. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +7 -7
  169. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
  170. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +6 -6
  171. package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
  172. package/SVF-doxygen/html/html/VFG_8cpp.html +3 -2
  173. package/SVF-doxygen/html/html/VFG_8cpp_source.html +20 -19
  174. package/SVF-doxygen/html/html/VFG_8h.html +4 -6
  175. package/SVF-doxygen/html/html/VFG_8h_source.html +14 -13
  176. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  177. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +10 -10
  178. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +3 -2
  179. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +8 -8
  180. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  181. package/SVF-doxygen/html/html/WPASolver_8h_source.html +4 -2
  182. package/SVF-doxygen/html/html/annotated.html +291 -278
  183. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +4 -4
  185. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
  186. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
  187. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
  188. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  189. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  193. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +33 -33
  195. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +7 -7
  197. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
  199. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +7 -7
  201. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
  202. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +4 -4
  204. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -4
  206. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +12 -12
  207. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  209. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  210. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +11 -11
  212. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +4 -4
  213. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +5 -4
  214. package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +45 -44
  215. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +29 -29
  216. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +4 -4
  217. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +16 -16
  219. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +18 -17
  220. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -2
  223. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  224. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +7 -7
  225. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  226. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  228. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +56 -56
  229. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  230. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  231. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  232. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +31 -30
  233. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  234. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  235. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +12 -12
  236. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  237. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  239. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +2 -2
  241. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  242. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +2 -2
  243. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -2
  244. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +35 -32
  245. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  246. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +16 -16
  247. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  248. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  249. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -2
  250. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +2 -2
  252. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  253. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  254. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  255. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +6 -6
  256. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -4
  257. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +4 -4
  259. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +2 -2
  260. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +8 -8
  261. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  262. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +1 -1
  263. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -21
  264. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +17 -17
  265. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +29 -29
  266. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  267. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  268. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +3 -3
  269. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +3 -3
  270. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +6 -6
  271. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +8 -8
  272. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +31 -31
  273. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
  274. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +78 -78
  275. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  276. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -4
  277. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  279. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -4
  280. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  281. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter-members.html +83 -0
  282. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter.html +236 -0
  283. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver-members.html +2 -2
  284. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.html +12 -12
  285. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter-members.html +100 -0
  286. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +882 -0
  287. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +20 -19
  288. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +12 -12
  289. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +7 -7
  290. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  291. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  292. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +12 -11
  293. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  294. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  295. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
  296. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +2 -2
  297. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +3 -3
  298. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -2
  299. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  300. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +6 -6
  301. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  302. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  303. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  304. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +7 -6
  305. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +129 -129
  306. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +2 -2
  307. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +22 -22
  308. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  309. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  310. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  311. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +50 -50
  312. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -7
  313. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +55 -55
  314. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +1 -1
  315. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +22 -22
  316. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  317. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +4 -4
  318. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
  319. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  320. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  321. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +37 -37
  322. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
  323. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  324. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +36 -36
  325. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
  326. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +4 -4
  327. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -4
  328. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  329. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
  330. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
  331. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +26 -25
  332. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
  333. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +7 -7
  334. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
  335. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  336. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +40 -40
  337. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
  338. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  339. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +1 -1
  340. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +3 -3
  341. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -2
  342. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +5 -5
  343. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  344. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  345. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
  346. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection-members.html +1 -1
  347. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +8 -8
  348. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +7 -9
  349. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +16 -20
  350. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +8 -10
  351. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +56 -63
  352. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +6 -8
  353. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +7 -11
  354. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +12 -14
  355. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +34 -38
  356. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +6 -8
  357. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +5 -9
  358. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +6 -8
  359. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +7 -11
  360. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +6 -8
  361. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +10 -14
  362. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +6 -8
  363. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +14 -18
  364. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +6 -8
  365. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +7 -11
  366. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +23 -25
  367. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +115 -119
  368. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
  369. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  370. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +43 -43
  371. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +9 -9
  372. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +9 -11
  373. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +14 -18
  374. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
  375. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +48 -47
  376. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +11 -13
  377. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +31 -35
  378. package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +2 -2
  379. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +6 -8
  380. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +7 -11
  381. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  382. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +6 -8
  383. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +5 -9
  384. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
  385. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -9
  386. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +3 -3
  387. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +25 -28
  388. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +38 -128
  389. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +12 -12
  390. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +14 -16
  391. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +29 -33
  392. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +46 -46
  393. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
  394. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
  395. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector-members.html +1 -1
  396. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +7 -7
  397. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +4 -4
  398. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +2 -2
  399. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +16 -16
  400. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
  401. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
  402. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
  403. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +9 -9
  404. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +5 -5
  405. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  406. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  407. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +2 -3
  408. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +21 -54
  409. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  410. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +72 -72
  411. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  412. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  413. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  414. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +11 -11
  415. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
  416. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  417. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
  418. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
  419. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  420. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
  421. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -12
  422. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +5 -5
  423. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
  424. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +22 -21
  425. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +13 -13
  426. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  427. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -4
  428. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
  429. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +1 -1
  430. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +35 -35
  431. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
  432. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +4 -4
  433. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +1 -1
  434. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +4 -4
  435. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +7 -6
  436. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +9 -9
  437. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +4 -4
  438. package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +1 -1
  439. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +8 -8
  440. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base-members.html +112 -0
  441. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +633 -0
  442. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.png +0 -0
  443. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base-members.html +102 -0
  444. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.html +787 -0
  445. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.png +0 -0
  446. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy-members.html +84 -0
  447. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +229 -0
  448. package/SVF-doxygen/html/html/classSVF_1_1iter__range-members.html +87 -0
  449. package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +342 -0
  450. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter-members.html +112 -0
  451. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +322 -0
  452. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.png +0 -0
  453. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator-members.html +113 -0
  454. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +343 -0
  455. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.png +0 -0
  456. package/SVF-doxygen/html/html/classes.html +105 -102
  457. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +9 -7
  458. package/SVF-doxygen/html/html/classllvm_1_1GraphWriter-members.html +100 -0
  459. package/SVF-doxygen/html/html/classllvm_1_1GraphWriter.html +882 -0
  460. package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base-members.html +112 -0
  461. package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base.html +633 -0
  462. package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base.png +0 -0
  463. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base-members.html +102 -0
  464. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base.html +787 -0
  465. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base.png +0 -0
  466. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base_1_1ReferenceProxy-members.html +84 -0
  467. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base_1_1ReferenceProxy.html +229 -0
  468. package/SVF-doxygen/html/html/classllvm_1_1iterator__range-members.html +87 -0
  469. package/SVF-doxygen/html/html/classllvm_1_1iterator__range.html +342 -0
  470. package/SVF-doxygen/html/html/classllvm_1_1mapped__iter-members.html +112 -0
  471. package/SVF-doxygen/html/html/classllvm_1_1mapped__iter.html +322 -0
  472. package/SVF-doxygen/html/html/classllvm_1_1mapped__iter.png +0 -0
  473. package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator-members.html +113 -0
  474. package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator.html +343 -0
  475. package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator.png +0 -0
  476. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  477. package/SVF-doxygen/html/html/dir_1870ebf480d659cc38d2dd7ac3aa8993.html +2 -0
  478. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +4 -0
  479. package/SVF-doxygen/html/html/dir_fa02919a30fec2d2c2d591b4d920d648.html +6 -0
  480. package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc_source.html +2 -1
  481. package/SVF-doxygen/html/html/files.html +42 -36
  482. package/SVF-doxygen/html/html/functions_a.html +11 -8
  483. package/SVF-doxygen/html/html/functions_b.html +19 -12
  484. package/SVF-doxygen/html/html/functions_c.html +43 -42
  485. package/SVF-doxygen/html/html/functions_d.html +27 -15
  486. package/SVF-doxygen/html/html/functions_e.html +19 -7
  487. package/SVF-doxygen/html/html/functions_eval_b.html +4 -4
  488. package/SVF-doxygen/html/html/functions_eval_i.html +6 -0
  489. package/SVF-doxygen/html/html/functions_f.html +21 -18
  490. package/SVF-doxygen/html/html/functions_func.html +13 -10
  491. package/SVF-doxygen/html/html/functions_func_b.html +2 -1
  492. package/SVF-doxygen/html/html/functions_func_c.html +4 -4
  493. package/SVF-doxygen/html/html/functions_func_d.html +18 -14
  494. package/SVF-doxygen/html/html/functions_func_e.html +13 -2
  495. package/SVF-doxygen/html/html/functions_func_g.html +107 -75
  496. package/SVF-doxygen/html/html/functions_func_h.html +4 -4
  497. package/SVF-doxygen/html/html/functions_func_i.html +22 -11
  498. package/SVF-doxygen/html/html/functions_func_m.html +3 -0
  499. package/SVF-doxygen/html/html/functions_func_n.html +5 -2
  500. package/SVF-doxygen/html/html/functions_func_o.html +42 -8
  501. package/SVF-doxygen/html/html/functions_func_p.html +8 -2
  502. package/SVF-doxygen/html/html/functions_func_r.html +7 -1
  503. package/SVF-doxygen/html/html/functions_func_s.html +15 -18
  504. package/SVF-doxygen/html/html/functions_func_w.html +22 -1
  505. package/SVF-doxygen/html/html/functions_g.html +119 -78
  506. package/SVF-doxygen/html/html/functions_h.html +3 -6
  507. package/SVF-doxygen/html/html/functions_i.html +43 -15
  508. package/SVF-doxygen/html/html/functions_m.html +4 -1
  509. package/SVF-doxygen/html/html/functions_n.html +31 -25
  510. package/SVF-doxygen/html/html/functions_o.html +51 -22
  511. package/SVF-doxygen/html/html/functions_p.html +29 -19
  512. package/SVF-doxygen/html/html/functions_r.html +10 -5
  513. package/SVF-doxygen/html/html/functions_rela.html +6 -3
  514. package/SVF-doxygen/html/html/functions_s.html +22 -27
  515. package/SVF-doxygen/html/html/functions_t.html +6 -6
  516. package/SVF-doxygen/html/html/functions_type_b.html +3 -0
  517. package/SVF-doxygen/html/html/functions_type_c.html +6 -5
  518. package/SVF-doxygen/html/html/functions_type_d.html +5 -0
  519. package/SVF-doxygen/html/html/functions_type_e.html +4 -4
  520. package/SVF-doxygen/html/html/functions_type_g.html +6 -5
  521. package/SVF-doxygen/html/html/functions_type_i.html +3 -2
  522. package/SVF-doxygen/html/html/functions_type_n.html +26 -23
  523. package/SVF-doxygen/html/html/functions_type_p.html +2 -1
  524. package/SVF-doxygen/html/html/functions_type_r.html +1 -0
  525. package/SVF-doxygen/html/html/functions_type_v.html +1 -0
  526. package/SVF-doxygen/html/html/functions_v.html +8 -7
  527. package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
  528. package/SVF-doxygen/html/html/functions_vars_d.html +3 -0
  529. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  530. package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
  531. package/SVF-doxygen/html/html/functions_vars_g.html +9 -1
  532. package/SVF-doxygen/html/html/functions_vars_h.html +0 -3
  533. package/SVF-doxygen/html/html/functions_vars_i.html +10 -0
  534. package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
  535. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  536. package/SVF-doxygen/html/html/functions_w.html +22 -1
  537. package/SVF-doxygen/html/html/hierarchy.html +444 -397
  538. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +4 -4
  539. package/SVF-doxygen/html/html/iterator_8h.html +124 -0
  540. package/SVF-doxygen/html/html/iterator_8h_source.html +134 -0
  541. package/SVF-doxygen/html/html/iterator__range_8h.html +110 -0
  542. package/SVF-doxygen/html/html/iterator__range_8h_source.html +90 -0
  543. package/SVF-doxygen/html/html/menudata.js +17 -16
  544. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  545. package/SVF-doxygen/html/html/namespaceSVF.html +575 -9
  546. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +107 -0
  547. package/SVF-doxygen/html/html/namespaceSVF_1_1GraphProgram.html +122 -0
  548. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +65 -7
  549. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
  550. package/SVF-doxygen/html/html/namespacellvm.html +1 -95
  551. package/SVF-doxygen/html/html/namespacellvm_1_1DOT.html +107 -0
  552. package/SVF-doxygen/html/html/namespacellvm_1_1GraphProgram.html +122 -0
  553. package/SVF-doxygen/html/html/namespacemembers_c.html +9 -0
  554. package/SVF-doxygen/html/html/namespacemembers_d.html +5 -2
  555. package/SVF-doxygen/html/html/namespacemembers_e.html +3 -0
  556. package/SVF-doxygen/html/html/namespacemembers_enum.html +3 -0
  557. package/SVF-doxygen/html/html/namespacemembers_eval.html +15 -0
  558. package/SVF-doxygen/html/html/namespacemembers_f.html +3 -0
  559. package/SVF-doxygen/html/html/namespacemembers_func.html +0 -495
  560. package/SVF-doxygen/html/html/namespacemembers_func_b.html +88 -0
  561. package/SVF-doxygen/html/html/namespacemembers_func_c.html +97 -0
  562. package/SVF-doxygen/html/html/namespacemembers_func_d.html +97 -0
  563. package/SVF-doxygen/html/html/namespacemembers_func_e.html +82 -0
  564. package/SVF-doxygen/html/html/namespacemembers_func_f.html +76 -0
  565. package/SVF-doxygen/html/html/namespacemembers_func_g.html +186 -0
  566. package/SVF-doxygen/html/html/namespacemembers_func_h.html +76 -0
  567. package/SVF-doxygen/html/html/namespacemembers_func_i.html +253 -0
  568. package/SVF-doxygen/html/html/namespacemembers_func_m.html +91 -0
  569. package/SVF-doxygen/html/html/namespacemembers_func_n.html +76 -0
  570. package/SVF-doxygen/html/html/namespacemembers_func_o.html +94 -0
  571. package/SVF-doxygen/html/html/namespacemembers_func_p.html +82 -0
  572. package/SVF-doxygen/html/html/namespacemembers_func_r.html +79 -0
  573. package/SVF-doxygen/html/html/namespacemembers_func_s.html +91 -0
  574. package/SVF-doxygen/html/html/namespacemembers_func_t.html +76 -0
  575. package/SVF-doxygen/html/html/namespacemembers_func_v.html +85 -0
  576. package/SVF-doxygen/html/html/namespacemembers_func_w.html +82 -0
  577. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  578. package/SVF-doxygen/html/html/namespacemembers_i.html +12 -3
  579. package/SVF-doxygen/html/html/namespacemembers_m.html +12 -0
  580. package/SVF-doxygen/html/html/namespacemembers_n.html +9 -0
  581. package/SVF-doxygen/html/html/namespacemembers_r.html +4 -1
  582. package/SVF-doxygen/html/html/namespacemembers_t.html +3 -0
  583. package/SVF-doxygen/html/html/namespacemembers_type_g.html +1 -1
  584. package/SVF-doxygen/html/html/namespacemembers_type_r.html +3 -0
  585. package/SVF-doxygen/html/html/namespacemembers_v.html +3 -0
  586. package/SVF-doxygen/html/html/namespacemembers_w.html +3 -0
  587. package/SVF-doxygen/html/html/namespaces.html +4 -2
  588. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  589. package/SVF-doxygen/html/html/search/all_1.js +1 -0
  590. package/SVF-doxygen/html/html/search/all_10.js +13 -10
  591. package/SVF-doxygen/html/html/search/all_11.js +6 -3
  592. package/SVF-doxygen/html/html/search/all_12.js +7 -6
  593. package/SVF-doxygen/html/html/search/all_13.js +5 -4
  594. package/SVF-doxygen/html/html/search/all_15.js +6 -5
  595. package/SVF-doxygen/html/html/search/all_16.js +8 -1
  596. package/SVF-doxygen/html/html/search/all_2.js +6 -4
  597. package/SVF-doxygen/html/html/search/all_3.js +10 -7
  598. package/SVF-doxygen/html/html/search/all_4.js +21 -14
  599. package/SVF-doxygen/html/html/search/all_5.js +9 -4
  600. package/SVF-doxygen/html/html/search/all_6.js +3 -1
  601. package/SVF-doxygen/html/html/search/all_7.js +90 -46
  602. package/SVF-doxygen/html/html/search/all_8.js +1 -2
  603. package/SVF-doxygen/html/html/search/all_9.js +23 -5
  604. package/SVF-doxygen/html/html/search/all_d.js +6 -1
  605. package/SVF-doxygen/html/html/search/all_e.js +11 -8
  606. package/SVF-doxygen/html/html/search/all_f.js +19 -15
  607. package/SVF-doxygen/html/html/search/classes_3.js +13 -9
  608. package/SVF-doxygen/html/html/search/classes_6.js +64 -32
  609. package/SVF-doxygen/html/html/search/classes_8.js +11 -1
  610. package/SVF-doxygen/html/html/search/classes_a.js +1 -0
  611. package/SVF-doxygen/html/html/search/classes_d.js +2 -0
  612. package/SVF-doxygen/html/html/search/classes_e.js +1 -0
  613. package/SVF-doxygen/html/html/search/enums_8.js +1 -6
  614. package/SVF-doxygen/html/html/search/enums_9.js +6 -1
  615. package/SVF-doxygen/html/html/search/enums_a.js +1 -4
  616. package/SVF-doxygen/html/html/search/enums_b.js +4 -2
  617. package/SVF-doxygen/html/html/search/enums_c.js +2 -4
  618. package/SVF-doxygen/html/html/search/enums_d.js +4 -1
  619. package/SVF-doxygen/html/html/search/enums_e.html +26 -0
  620. package/SVF-doxygen/html/html/search/enums_e.js +4 -0
  621. package/SVF-doxygen/html/html/search/enumvalues_1.js +3 -3
  622. package/SVF-doxygen/html/html/search/enumvalues_10.js +1 -0
  623. package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -0
  624. package/SVF-doxygen/html/html/search/enumvalues_3.js +1 -0
  625. package/SVF-doxygen/html/html/search/enumvalues_5.js +1 -0
  626. package/SVF-doxygen/html/html/search/enumvalues_8.js +3 -1
  627. package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -0
  628. package/SVF-doxygen/html/html/search/files_3.js +1 -0
  629. package/SVF-doxygen/html/html/search/files_6.js +4 -1
  630. package/SVF-doxygen/html/html/search/files_7.js +3 -1
  631. package/SVF-doxygen/html/html/search/functions_0.js +1 -0
  632. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  633. package/SVF-doxygen/html/html/search/functions_10.js +2 -0
  634. package/SVF-doxygen/html/html/search/functions_11.js +1 -2
  635. package/SVF-doxygen/html/html/search/functions_14.js +1 -0
  636. package/SVF-doxygen/html/html/search/functions_15.js +8 -1
  637. package/SVF-doxygen/html/html/search/functions_2.js +4 -2
  638. package/SVF-doxygen/html/html/search/functions_3.js +5 -4
  639. package/SVF-doxygen/html/html/search/functions_4.js +7 -3
  640. package/SVF-doxygen/html/html/search/functions_6.js +21 -12
  641. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  642. package/SVF-doxygen/html/html/search/functions_8.js +10 -4
  643. package/SVF-doxygen/html/html/search/functions_c.js +5 -0
  644. package/SVF-doxygen/html/html/search/functions_d.js +4 -2
  645. package/SVF-doxygen/html/html/search/functions_e.js +14 -8
  646. package/SVF-doxygen/html/html/search/functions_f.js +3 -1
  647. package/SVF-doxygen/html/html/search/namespaces_1.js +2 -0
  648. package/SVF-doxygen/html/html/search/related_9.js +3 -3
  649. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  650. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -0
  651. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  652. package/SVF-doxygen/html/html/search/typedefs_2.js +2 -2
  653. package/SVF-doxygen/html/html/search/typedefs_3.js +2 -1
  654. package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
  655. package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
  656. package/SVF-doxygen/html/html/search/typedefs_7.js +2 -2
  657. package/SVF-doxygen/html/html/search/typedefs_c.js +4 -4
  658. package/SVF-doxygen/html/html/search/typedefs_e.js +2 -2
  659. package/SVF-doxygen/html/html/search/typedefs_f.js +2 -1
  660. package/SVF-doxygen/html/html/search/variables_10.js +1 -0
  661. package/SVF-doxygen/html/html/search/variables_13.js +3 -3
  662. package/SVF-doxygen/html/html/search/variables_2.js +1 -0
  663. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  664. package/SVF-doxygen/html/html/search/variables_4.js +1 -0
  665. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  666. package/SVF-doxygen/html/html/search/variables_6.js +1 -0
  667. package/SVF-doxygen/html/html/search/variables_7.js +2 -1
  668. package/SVF-doxygen/html/html/search/variables_8.js +0 -1
  669. package/SVF-doxygen/html/html/search/variables_9.js +3 -0
  670. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  671. package/SVF-doxygen/html/html/search/variables_f.js +1 -0
  672. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits-members.html +99 -0
  673. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.html +193 -0
  674. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.png +0 -0
  675. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +105 -0
  676. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +443 -0
  677. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
  678. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +104 -0
  679. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +388 -0
  680. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
  681. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +106 -0
  682. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +481 -0
  683. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
  684. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +106 -0
  685. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +475 -0
  686. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
  687. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +107 -0
  688. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +486 -0
  689. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
  690. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +106 -0
  691. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +457 -0
  692. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
  693. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +108 -0
  694. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +595 -0
  695. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
  696. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +105 -0
  697. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +409 -0
  698. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
  699. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +107 -0
  700. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +543 -0
  701. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
  702. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits-members.html +99 -0
  703. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.html +855 -0
  704. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.png +0 -0
  705. package/SVF-doxygen/html/html/structSVF_1_1GenericEdge_1_1equalGEdge.html +3 -3
  706. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits-members.html +81 -0
  707. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits.html +116 -0
  708. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
  709. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
  710. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
  711. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
  712. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +110 -0
  713. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
  714. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
  715. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +110 -0
  716. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
  717. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
  718. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +110 -0
  719. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
  720. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
  721. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +110 -0
  722. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
  723. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +88 -0
  724. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +324 -0
  725. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
  726. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +110 -0
  727. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
  728. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
  729. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +110 -0
  730. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
  731. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
  732. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +110 -0
  733. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
  734. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
  735. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +110 -0
  736. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
  737. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
  738. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +110 -0
  739. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
  740. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4-members.html +81 -0
  741. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +126 -0
  742. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
  743. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
  744. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +106 -0
  745. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
  746. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4-members.html +81 -0
  747. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +126 -0
  748. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
  749. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
  750. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +106 -0
  751. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
  752. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4-members.html +81 -0
  753. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +126 -0
  754. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
  755. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
  756. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +106 -0
  757. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
  758. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4-members.html +81 -0
  759. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +126 -0
  760. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
  761. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
  762. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +106 -0
  763. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
  764. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +99 -0
  765. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +467 -0
  766. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.png +0 -0
  767. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +89 -0
  768. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +367 -0
  769. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.png +0 -0
  770. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
  771. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +106 -0
  772. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
  773. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4-members.html +81 -0
  774. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +126 -0
  775. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
  776. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4-members.html +81 -0
  777. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +126 -0
  778. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
  779. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
  780. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +106 -0
  781. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
  782. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4-members.html +81 -0
  783. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +126 -0
  784. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
  785. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4-members.html +81 -0
  786. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +126 -0
  787. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
  788. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
  789. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +106 -0
  790. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
  791. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
  792. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +106 -0
  793. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
  794. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4-members.html +81 -0
  795. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +126 -0
  796. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
  797. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
  798. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +106 -0
  799. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
  800. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4-members.html +81 -0
  801. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +126 -0
  802. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
  803. package/SVF-doxygen/html/html/structSVF_1_1Inverse-members.html +82 -0
  804. package/SVF-doxygen/html/html/structSVF_1_1Inverse.html +154 -0
  805. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement-members.html +3 -3
  806. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +46 -46
  807. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter-members.html +111 -0
  808. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.html +279 -0
  809. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.png +0 -0
  810. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits-members.html +99 -0
  811. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits.html +193 -0
  812. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits.png +0 -0
  813. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +22 -4
  814. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +67 -10
  815. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
  816. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +21 -3
  817. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +65 -8
  818. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
  819. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +22 -4
  820. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +72 -12
  821. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
  822. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +23 -5
  823. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +70 -10
  824. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
  825. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +23 -5
  826. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +68 -11
  827. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
  828. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +23 -5
  829. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +68 -11
  830. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
  831. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +24 -6
  832. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +76 -15
  833. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
  834. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +22 -4
  835. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +67 -10
  836. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
  837. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +24 -6
  838. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +73 -12
  839. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
  840. package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits-members.html +99 -0
  841. package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits.html +855 -0
  842. package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits.png +0 -0
  843. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits-members.html +81 -0
  844. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits.html +116 -0
  845. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
  846. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
  847. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
  848. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
  849. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +12 -2
  850. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
  851. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
  852. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +12 -2
  853. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
  854. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
  855. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +12 -2
  856. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
  857. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
  858. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +12 -2
  859. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
  860. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +1 -1
  861. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +33 -31
  862. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
  863. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +12 -2
  864. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
  865. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
  866. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +12 -2
  867. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
  868. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
  869. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +12 -2
  870. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
  871. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
  872. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +12 -2
  873. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
  874. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
  875. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +12 -2
  876. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
  877. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +5 -1
  878. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
  879. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
  880. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +10 -0
  881. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
  882. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +5 -1
  883. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
  884. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
  885. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +10 -0
  886. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
  887. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +5 -1
  888. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
  889. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
  890. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +10 -0
  891. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
  892. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +5 -1
  893. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
  894. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
  895. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +10 -0
  896. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
  897. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +2 -2
  898. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +46 -44
  899. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +1 -1
  900. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +38 -34
  901. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
  902. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +10 -0
  903. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
  904. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +5 -1
  905. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
  906. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +5 -1
  907. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
  908. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
  909. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +10 -0
  910. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
  911. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +5 -1
  912. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
  913. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +5 -1
  914. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
  915. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
  916. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +10 -0
  917. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
  918. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
  919. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +10 -0
  920. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
  921. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +5 -1
  922. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
  923. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
  924. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +10 -0
  925. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
  926. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +5 -1
  927. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
  928. package/SVF-doxygen/html/html/structllvm_1_1Inverse-members.html +82 -0
  929. package/SVF-doxygen/html/html/structllvm_1_1Inverse.html +154 -0
  930. package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator-members.html +111 -0
  931. package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator.html +279 -0
  932. package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator.png +0 -0
  933. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  934. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  935. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  936. package/SVF-doxygen/html/html/svf-ex_8cpp.html +9 -9
  937. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
  938. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +4 -4
  939. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  940. package/include/Graphs/CFLGraph.h +6 -6
  941. package/include/Graphs/CHG.h +6 -6
  942. package/include/Graphs/ConsG.h +6 -6
  943. package/include/Graphs/DOTGraphTraits.h +188 -0
  944. package/include/Graphs/GenericGraph.h +58 -18
  945. package/include/Graphs/GraphPrinter.h +14 -22
  946. package/include/Graphs/GraphTraits.h +150 -0
  947. package/include/Graphs/GraphWriter.h +380 -0
  948. package/include/Graphs/ICFG.h +6 -6
  949. package/include/Graphs/IRGraph.h +6 -7
  950. package/include/Graphs/PTACallGraph.h +6 -6
  951. package/include/Graphs/SVFG.h +6 -6
  952. package/include/Graphs/VFG.h +6 -6
  953. package/include/MTA/TCT.h +6 -6
  954. package/include/SABER/SrcSnkSolver.h +2 -2
  955. package/include/SVF-LLVM/DCHG.h +6 -6
  956. package/include/SVF-LLVM/LLVMUtil.h +5 -0
  957. package/include/SVF-LLVM/SymbolTableBuilder.h +0 -3
  958. package/include/SVFIR/SVFValue.h +2 -11
  959. package/include/SVFIR/SVFVariables.h +5 -5
  960. package/include/Util/GraphReachSolver.h +2 -2
  961. package/include/Util/SCC.h +1 -1
  962. package/include/Util/iterator.h +407 -0
  963. package/include/Util/iterator_range.h +76 -0
  964. package/include/WPA/WPASolver.h +1 -1
  965. package/lib/Graphs/CFLGraph.cpp +2 -2
  966. package/lib/Graphs/CHG.cpp +2 -2
  967. package/lib/Graphs/ConsG.cpp +2 -2
  968. package/lib/Graphs/GraphWriter.cpp +53 -0
  969. package/lib/Graphs/ICFG.cpp +2 -2
  970. package/lib/Graphs/IRGraph.cpp +2 -2
  971. package/lib/Graphs/PTACallGraph.cpp +2 -2
  972. package/lib/Graphs/SVFG.cpp +1 -1
  973. package/lib/Graphs/VFG.cpp +2 -2
  974. package/lib/MTA/TCT.cpp +1 -1
  975. package/lib/SVF-LLVM/LLVMModule.cpp +1 -2
  976. package/lib/SVF-LLVM/LLVMUtil.cpp +40 -0
  977. package/lib/SVF-LLVM/SVFIRBuilder.cpp +1 -1
  978. package/lib/SVF-LLVM/SymbolTableBuilder.cpp +0 -34
  979. package/lib/SVFIR/SVFValue.cpp +0 -1
  980. package/package.json +1 -1
@@ -66,7 +66,7 @@ $(function() {
66
66
  <div class="title">CFLGraphBuilder.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="CFLGraphBuilder_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===----- CFLGraphBuilder.h -- CFL Graph Builder --------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * CFLGraphBuilder.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: May 22, 2022</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Pei Xu</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef INCLUDE_CFL_CFLGRAPHBUILDER_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define INCLUDE_CFL_CFLGRAPHBUILDER_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CFLGrammar_8h.html">CFL/CFLGrammar.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CFLGraph_8h.html">Graphs/CFLGraph.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFG_8h.html">Graphs/SVFG.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html"> 45</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e"> 48</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a36c5b874527e7694f7fb2fd7291da0da"> 49</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html">CFLGrammar::Symbol</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a36c5b874527e7694f7fb2fd7291da0da">Symbol</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a7117dbeceeef7a9fcaeee0a84a171590"> 50</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, Kind&gt;</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a7117dbeceeef7a9fcaeee0a84a171590">label2KindMap</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a461ff21d73f60cf96a3e36672d4c6a6c"> 51</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Kind, std::string&gt;</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a461ff21d73f60cf96a3e36672d4c6a6c">kind2LabelMap</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a5159cea5bc8d69715782ac5f56965a90"> 52</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;CFLGrammar::Kind, Set&lt;CFLGrammar::Attribute&gt;</a>&gt; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a5159cea5bc8d69715782ac5f56965a90">kind2AttrsMap</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a91f1f0e8abc8d781eaf8b1a4f025c18e"> 53</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a91f1f0e8abc8d781eaf8b1a4f025c18e">externMap</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18"> 54</a></span>&#160; Kind <a class="code" href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18">current</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#adaa843018284f854ed0ad3bcb1460a01">addAttribute</a>(<a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> kind, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFLGrammar::Attribute</a> attribute);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> N, <span class="keyword">class</span> E&gt;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#ab0d2bd46dd1c3be10c04f573e9365757"> 62</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#ab0d2bd46dd1c3be10c04f573e9365757">build</a>(<a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph&lt;N,E&gt;</a>* graph, <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* cflGraph)</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* node = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>((*it).first);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a58b944d0f2c11868e17223acdb35f82c">addCFLNode</a>((*it).first, node);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; N* node = (*it).second;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">for</span>(E* edge : node-&gt;getOutEdges())</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getSrcID()), cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getDstID()), edge-&gt;getEdgeKind());</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> N, <span class="keyword">class</span> E&gt;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938"> 81</a></span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938">buildBigraph</a>(<a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph&lt;N,E&gt;</a>* graph, Kind startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>(startKind);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; externMap = <span class="keyword">true</span>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> pairV : grammar-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a44232dfc5b9a13dfe9b72ff18634ab37">getTerminals</a>())</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span>(label2KindMap.find(pairV.first) == label2KindMap.end())</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; label2KindMap.insert(pairV);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span>(kind2LabelMap.find(pairV.second) == kind2LabelMap.end())</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; kind2LabelMap.insert(make_pair(pairV.second, pairV.first));</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> pairV : grammar-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a04140ef06feee613506529fd8c23665e">getNonterminals</a>())</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">if</span>(label2KindMap.find(pairV.first) == label2KindMap.end())</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; label2KindMap.insert(pairV);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span>(kind2LabelMap.find(pairV.second) == kind2LabelMap.end())</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; kind2LabelMap.insert(make_pair(pairV.second, pairV.first));</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* node = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>((*it).first);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a58b944d0f2c11868e17223acdb35f82c">addCFLNode</a>((*it).first, node);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; N* node = (*it).second;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">for</span>(E* edge : node-&gt;getOutEdges())</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> edgeLabel = edge-&gt;getEdgeKind();</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getSrcID()), cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getDstID()), edgeLabel);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = kind2LabelMap[edge-&gt;getEdgeKind()];</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; key.append(<span class="stringliteral">&quot;bar&quot;</span>);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getDstID()), cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getSrcID()), label2KindMap[key]);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> cflGraph;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#ab0d2bd46dd1c3be10c04f573e9365757">build</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> filename, <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* cflGraph);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a6c9fa25204550dc5bea1cae52a61472b">buildFromDot</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> filename, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#afd384231987ab2be138ddb4a8590bc53"> 133</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, Kind&gt;</a>&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#afd384231987ab2be138ddb4a8590bc53">getLabel2KindMap</a>()</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a7117dbeceeef7a9fcaeee0a84a171590">label2KindMap</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#ac8482350ceb21d626dcf1f30db737acd"> 138</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Kind, std::string&gt;</a>&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#ac8482350ceb21d626dcf1f30db737acd">getKind2LabelMap</a>()</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a461ff21d73f60cf96a3e36672d4c6a6c">kind2LabelMap</a>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a61d935099e0f8408fb2f2f91001cb2fd"> 143</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;CFLGrammar::Kind, Set&lt;CFLGrammar::Attribute&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a61d935099e0f8408fb2f2f91001cb2fd">getKind2AttrsMap</a>()</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a5159cea5bc8d69715782ac5f56965a90">kind2AttrsMap</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;};</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classSVF_1_1AliasCFLGraphBuilder.html"> 151</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html">AliasCFLGraphBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938">buildBigraph</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* buildBiPEGgraph(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordtype">void</span> connectVGep(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *dst, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> level, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordtype">void</span> addBiCFLEdge(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> label);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">void</span> addBiGepCFLEdge(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFLGrammar::Attribute</a> attri);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;};</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1VFCFLGraphBuilder.html"> 171</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1VFCFLGraphBuilder.html">VFCFLGraphBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;{</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938">buildBigraph</a>(<a class="code" href="classSVF_1_1SVFG.html">SVFG</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* buildBiPEGgraph(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordtype">void</span> connectVGep(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *dst, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> level, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">void</span> addBiCFLEdge(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> label);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordtype">void</span> addBiGepCFLEdge(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFLGrammar::Attribute</a> attri);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;};</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}<span class="comment">// SVF</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_CFL_CFLGRAPHBUILDER_H_*/</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00367">GenericGraph.h:367</a></div></div>
69
+ <a href="CFLGraphBuilder_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===----- CFLGraphBuilder.h -- CFL Graph Builder --------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * CFLGraphBuilder.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: May 22, 2022</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Pei Xu</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef INCLUDE_CFL_CFLGRAPHBUILDER_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define INCLUDE_CFL_CFLGRAPHBUILDER_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CFLGrammar_8h.html">CFL/CFLGrammar.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CFLGraph_8h.html">Graphs/CFLGraph.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFG_8h.html">Graphs/SVFG.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html"> 45</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e"> 48</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a36c5b874527e7694f7fb2fd7291da0da"> 49</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html">CFLGrammar::Symbol</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a36c5b874527e7694f7fb2fd7291da0da">Symbol</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a7117dbeceeef7a9fcaeee0a84a171590"> 50</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, Kind&gt;</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a7117dbeceeef7a9fcaeee0a84a171590">label2KindMap</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a461ff21d73f60cf96a3e36672d4c6a6c"> 51</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Kind, std::string&gt;</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a461ff21d73f60cf96a3e36672d4c6a6c">kind2LabelMap</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a5159cea5bc8d69715782ac5f56965a90"> 52</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;CFLGrammar::Kind, Set&lt;CFLGrammar::Attribute&gt;</a>&gt; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a5159cea5bc8d69715782ac5f56965a90">kind2AttrsMap</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a91f1f0e8abc8d781eaf8b1a4f025c18e"> 53</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a91f1f0e8abc8d781eaf8b1a4f025c18e">externMap</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18"> 54</a></span>&#160; Kind <a class="code" href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18">current</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#adaa843018284f854ed0ad3bcb1460a01">addAttribute</a>(<a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> kind, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFLGrammar::Attribute</a> attribute);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> N, <span class="keyword">class</span> E&gt;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#ab0d2bd46dd1c3be10c04f573e9365757"> 62</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#ab0d2bd46dd1c3be10c04f573e9365757">build</a>(<a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph&lt;N,E&gt;</a>* graph, <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* cflGraph)</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* node = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>((*it).first);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a58b944d0f2c11868e17223acdb35f82c">addCFLNode</a>((*it).first, node);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; N* node = (*it).second;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">for</span>(E* edge : node-&gt;getOutEdges())</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getSrcID()), cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getDstID()), edge-&gt;getEdgeKind());</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> N, <span class="keyword">class</span> E&gt;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938"> 81</a></span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938">buildBigraph</a>(<a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph&lt;N,E&gt;</a>* graph, Kind startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>(startKind);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; externMap = <span class="keyword">true</span>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> pairV : grammar-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a44232dfc5b9a13dfe9b72ff18634ab37">getTerminals</a>())</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span>(label2KindMap.find(pairV.first) == label2KindMap.end())</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; label2KindMap.insert(pairV);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span>(kind2LabelMap.find(pairV.second) == kind2LabelMap.end())</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; kind2LabelMap.insert(make_pair(pairV.second, pairV.first));</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> pairV : grammar-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a04140ef06feee613506529fd8c23665e">getNonterminals</a>())</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">if</span>(label2KindMap.find(pairV.first) == label2KindMap.end())</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; label2KindMap.insert(pairV);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span>(kind2LabelMap.find(pairV.second) == kind2LabelMap.end())</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; kind2LabelMap.insert(make_pair(pairV.second, pairV.first));</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* node = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>((*it).first);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a58b944d0f2c11868e17223acdb35f82c">addCFLNode</a>((*it).first, node);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; N* node = (*it).second;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">for</span>(E* edge : node-&gt;getOutEdges())</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> edgeLabel = edge-&gt;getEdgeKind();</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getSrcID()), cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getDstID()), edgeLabel);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = kind2LabelMap[edge-&gt;getEdgeKind()];</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; key.append(<span class="stringliteral">&quot;bar&quot;</span>);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; cflGraph-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getDstID()), cflGraph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getSrcID()), label2KindMap[key]);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> cflGraph;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#ab0d2bd46dd1c3be10c04f573e9365757">build</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> filename, <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* cflGraph);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a6c9fa25204550dc5bea1cae52a61472b">buildFromDot</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> filename, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#afd384231987ab2be138ddb4a8590bc53"> 133</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, Kind&gt;</a>&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#afd384231987ab2be138ddb4a8590bc53">getLabel2KindMap</a>()</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a7117dbeceeef7a9fcaeee0a84a171590">label2KindMap</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#ac8482350ceb21d626dcf1f30db737acd"> 138</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Kind, std::string&gt;</a>&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#ac8482350ceb21d626dcf1f30db737acd">getKind2LabelMap</a>()</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a461ff21d73f60cf96a3e36672d4c6a6c">kind2LabelMap</a>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a61d935099e0f8408fb2f2f91001cb2fd"> 143</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;CFLGrammar::Kind, Set&lt;CFLGrammar::Attribute&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a61d935099e0f8408fb2f2f91001cb2fd">getKind2AttrsMap</a>()</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a5159cea5bc8d69715782ac5f56965a90">kind2AttrsMap</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;};</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classSVF_1_1AliasCFLGraphBuilder.html"> 151</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html">AliasCFLGraphBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938">buildBigraph</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* buildBiPEGgraph(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordtype">void</span> connectVGep(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *dst, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> level, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordtype">void</span> addBiCFLEdge(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> label);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">void</span> addBiGepCFLEdge(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFLGrammar::Attribute</a> attri);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;};</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1VFCFLGraphBuilder.html"> 171</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1VFCFLGraphBuilder.html">VFCFLGraphBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;{</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938">buildBigraph</a>(<a class="code" href="classSVF_1_1SVFG.html">SVFG</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* buildBiPEGgraph(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordtype">void</span> connectVGep(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *dst, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> level, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">void</span> addBiCFLEdge(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> label);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordtype">void</span> addBiGepCFLEdge(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *cflGraph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFLGrammar::Attribute</a> attri);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;};</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}<span class="comment">// SVF</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_CFL_CFLGRAPHBUILDER_H_*/</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00369">GenericGraph.h:369</a></div></div>
70
70
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html">SVF::ConstraintGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00044">ConsG.h:44</a></div></div>
71
71
  <div class="ttc" id="classSVF_1_1CFLGraph_html"><div class="ttname"><a href="classSVF_1_1CFLGraph.html">SVF::CFLGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00155">CFLGraph.h:155</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1VFCFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html">SVF::VFCFLGraphBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00171">CFLGraphBuilder.h:171</a></div></div>
@@ -78,7 +78,7 @@ $(function() {
78
78
  <div class="ttc" id="classSVF_1_1GrammarBase_html_a04140ef06feee613506529fd8c23665e"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a04140ef06feee613506529fd8c23665e">SVF::GrammarBase::getNonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; &amp; getNonterminals()</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00160">CFLGrammar.h:160</a></div></div>
79
79
  <div class="ttc" id="classSVF_1_1CFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html">SVF::CFLGraphBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00045">CFLGraphBuilder.h:45</a></div></div>
80
80
  <div class="ttc" id="classSVF_1_1CFLGraph_html_a9eea8083dbeaf898948595b1d75cfee2"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">SVF::CFLGraph::addCFLEdge</a></div><div class="ttdeci">virtual const CFLEdge * addCFLEdge(CFLNode *src, CFLNode *dst, CFLEdge::GEdgeFlag label)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00047">CFLGraph.cpp:47</a></div></div>
81
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00371">GenericGraph.h:371</a></div></div>
81
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00373">GenericGraph.h:373</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1CFLNode_html"><div class="ttname"><a href="classSVF_1_1CFLNode.html">SVF::CFLNode</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00076">CFLGraph.h:76</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1GrammarBase_html_a44232dfc5b9a13dfe9b72ff18634ab37"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a44232dfc5b9a13dfe9b72ff18634ab37">SVF::GrammarBase::getTerminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; &amp; getTerminals()</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00170">CFLGrammar.h:170</a></div></div>
84
84
  <div class="ttc" id="classSVF_1_1GrammarBase_html_ab070e5449d26e347b957d8b994d0303f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">SVF::GrammarBase::Attribute</a></div><div class="ttdeci">u32_t Attribute</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00040">CFLGrammar.h:40</a></div></div>
@@ -100,10 +100,10 @@ $(function() {
100
100
  <div class="ttc" id="classSVF_1_1CFLGraphBuilder_html_a61d935099e0f8408fb2f2f91001cb2fd"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a61d935099e0f8408fb2f2f91001cb2fd">SVF::CFLGraphBuilder::getKind2AttrsMap</a></div><div class="ttdeci">Map&lt; CFLGrammar::Kind, Set&lt; CFLGrammar::Attribute &gt; &gt; &amp; getKind2AttrsMap()</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00143">CFLGraphBuilder.h:143</a></div></div>
101
101
  <div class="ttc" id="classSVF_1_1CFLGraphBuilder_html_a5159cea5bc8d69715782ac5f56965a90"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a5159cea5bc8d69715782ac5f56965a90">SVF::CFLGraphBuilder::kind2AttrsMap</a></div><div class="ttdeci">Map&lt; CFLGrammar::Kind, Set&lt; CFLGrammar::Attribute &gt; &gt; kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00052">CFLGraphBuilder.h:52</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1CFLGraphBuilder_html_a7117dbeceeef7a9fcaeee0a84a171590"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a7117dbeceeef7a9fcaeee0a84a171590">SVF::CFLGraphBuilder::label2KindMap</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; label2KindMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00050">CFLGraphBuilder.h:50</a></div></div>
103
- <div class="ttc" id="classSVF_1_1GenericGraph_html"><div class="ttname"><a href="classSVF_1_1GenericGraph.html">SVF::GenericGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00333">GenericGraph.h:333</a></div></div>
103
+ <div class="ttc" id="classSVF_1_1GenericGraph_html"><div class="ttname"><a href="classSVF_1_1GenericGraph.html">SVF::GenericGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00335">GenericGraph.h:335</a></div></div>
104
104
  <div class="ttc" id="classSVF_1_1CFLGraphBuilder_html_a0184dc6e00c60106034492d012d0a938"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938">SVF::CFLGraphBuilder::buildBigraph</a></div><div class="ttdeci">CFLGraph * buildBigraph(GenericGraph&lt; N, E &gt; *graph, Kind startKind, GrammarBase *grammar)</div><div class="ttdoc">Build Bidirectional graph by copying nodes and edges from any graph inherited from GenericGraph...</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00081">CFLGraphBuilder.h:81</a></div></div>
105
105
  <div class="ttc" id="classSVF_1_1CFLGraphBuilder_html_aad408d6ecb776fd763c9b9221a1bed18"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18">SVF::CFLGraphBuilder::current</a></div><div class="ttdeci">Kind current</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00054">CFLGraphBuilder.h:54</a></div></div>
106
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00393">GenericGraph.h:393</a></div></div>
106
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00395">GenericGraph.h:395</a></div></div>
107
107
  <div class="ttc" id="classSVF_1_1CFLGraphBuilder_html_a461ff21d73f60cf96a3e36672d4c6a6c"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a461ff21d73f60cf96a3e36672d4c6a6c">SVF::CFLGraphBuilder::kind2LabelMap</a></div><div class="ttdeci">Map&lt; Kind, std::string &gt; kind2LabelMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00051">CFLGraphBuilder.h:51</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
109
109
  <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
@@ -77,12 +77,13 @@ $(function() {
77
77
  <table class="memberdecls">
78
78
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
79
79
  Classes</h2></td></tr>
80
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html">llvm::DOTGraphTraits&lt; CFLGraph * &gt;</a></td></tr>
80
+ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html">SVF::DOTGraphTraits&lt; CFLGraph * &gt;</a></td></tr>
81
81
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
82
82
  </table><table class="memberdecls">
83
83
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
84
84
  Namespaces</h2></td></tr>
85
- <tr class="memitem:namespacellvm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html">llvm</a></td></tr>
85
+ <tr class="memitem:namespaceSVF"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html">SVF</a></td></tr>
86
+ <tr class="memdesc:namespaceSVF"><td class="mdescLeft">&#160;</td><td class="mdescRight">for isBitcode <br /></td></tr>
86
87
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
87
88
  </table>
88
89
  </div><!-- contents -->