svf-tools 1.0.438 → 1.0.441

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 (387) hide show
  1. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +9 -9
  2. package/SVF-doxygen/html/html/BDDExpr_8cpp.html +81 -0
  3. package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +122 -0
  4. package/SVF-doxygen/html/html/BDDExpr_8h.html +98 -0
  5. package/SVF-doxygen/html/html/BDDExpr_8h_source.html +131 -0
  6. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  11. package/SVF-doxygen/html/html/DPItem_8h.html +1 -1
  12. package/SVF-doxygen/html/html/DPItem_8h_source.html +2 -2
  13. package/SVF-doxygen/html/html/ExeState_8cpp.html +82 -0
  14. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +130 -0
  15. package/SVF-doxygen/html/html/ExeState_8h.html +139 -0
  16. package/SVF-doxygen/html/html/ExeState_8h_source.html +130 -0
  17. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  18. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h.html +1 -1
  20. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/FlowSensitive_8cpp.html +1 -1
  22. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +8 -8
  23. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/IRAnnotator_8h.html +2 -2
  25. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  26. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  37. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/Options_8cpp_source.html +113 -114
  39. package/SVF-doxygen/html/html/Options_8h.html +0 -1
  40. package/SVF-doxygen/html/html/Options_8h_source.html +115 -117
  41. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +4 -5
  43. package/SVF-doxygen/html/html/PathCondAllocator_8h.html +1 -1
  44. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +24 -24
  45. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +1 -1
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  47. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
  48. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +2 -2
  51. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  52. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
  53. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
  54. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
  55. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  56. package/SVF-doxygen/html/html/SVFUtil_8cpp.html +1 -1
  57. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -3
  58. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
  60. package/SVF-doxygen/html/html/SrcSnkDDA_8h.html +3 -3
  61. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +6 -6
  62. package/SVF-doxygen/html/html/SrcSnkSolver_8h.html +96 -0
  63. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +113 -0
  64. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -3
  65. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +3 -3
  66. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  67. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  68. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp.html +3 -3
  69. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  70. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h.html +2 -2
  71. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  72. package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  74. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  75. package/SVF-doxygen/html/html/Z3Expr_8h.html +99 -0
  76. package/SVF-doxygen/html/html/Z3Expr_8h_source.html +126 -0
  77. package/SVF-doxygen/html/html/annotated.html +272 -275
  78. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  79. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +5 -5
  80. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +6 -6
  81. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager-members.html +117 -0
  82. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager.html +1318 -0
  83. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +5 -5
  84. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
  86. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  87. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +0 -9
  90. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  94. package/SVF-doxygen/html/html/classSVF_1_1DPItem.html +3 -4
  95. package/SVF-doxygen/html/html/classSVF_1_1DPItem.png +0 -0
  96. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +76 -76
  97. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +64 -64
  98. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.png +0 -0
  99. package/SVF-doxygen/html/html/classSVF_1_1ExeState-members.html +113 -0
  100. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1259 -0
  101. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +78 -78
  103. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +64 -64
  104. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.png +0 -0
  105. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +9 -9
  107. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +7 -7
  108. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  114. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +74 -74
  115. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +68 -68
  116. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.png +0 -0
  117. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  118. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  123. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
  124. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
  125. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +2 -2
  127. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +6 -6
  129. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +102 -103
  132. package/SVF-doxygen/html/html/classSVF_1_1Options.html +115 -141
  133. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
  134. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +3 -3
  135. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +131 -132
  136. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +13 -13
  138. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +5 -5
  142. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +5 -5
  143. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +4 -4
  144. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
  145. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +66 -66
  147. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +86 -86
  148. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.png +0 -0
  149. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +106 -0
  150. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +937 -0
  151. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.png +0 -0
  152. package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.html +2 -3
  153. package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.png +0 -0
  154. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +3 -3
  156. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  157. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +2 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  163. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
  166. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
  167. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr-members.html +46 -15
  168. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1451 -104
  169. package/SVF-doxygen/html/html/classes.html +96 -96
  170. package/SVF-doxygen/html/html/dir_66541c162fd98954e2c32089ba9a721f.html +2 -0
  171. package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +2 -0
  172. package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +4 -4
  173. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +6 -10
  174. package/SVF-doxygen/html/html/dir_ea25a8a5b2904424d8a51916f8b475b2.html +2 -0
  175. package/SVF-doxygen/html/html/dir_fdb79cd259bf25322a80ea604c9317b5.html +2 -0
  176. package/SVF-doxygen/html/html/files.html +42 -40
  177. package/SVF-doxygen/html/html/functions.html +2 -2
  178. package/SVF-doxygen/html/html/functions_0x7e.html +9 -21
  179. package/SVF-doxygen/html/html/functions_a.html +8 -16
  180. package/SVF-doxygen/html/html/functions_b.html +21 -34
  181. package/SVF-doxygen/html/html/functions_c.html +33 -63
  182. package/SVF-doxygen/html/html/functions_d.html +3 -6
  183. package/SVF-doxygen/html/html/functions_e.html +14 -13
  184. package/SVF-doxygen/html/html/functions_enum.html +0 -6
  185. package/SVF-doxygen/html/html/functions_eval_b.html +0 -6
  186. package/SVF-doxygen/html/html/functions_f.html +9 -9
  187. package/SVF-doxygen/html/html/functions_func.html +8 -19
  188. package/SVF-doxygen/html/html/functions_func_0x7e.html +9 -21
  189. package/SVF-doxygen/html/html/functions_func_b.html +12 -15
  190. package/SVF-doxygen/html/html/functions_func_c.html +23 -38
  191. package/SVF-doxygen/html/html/functions_func_d.html +4 -7
  192. package/SVF-doxygen/html/html/functions_func_e.html +7 -3
  193. package/SVF-doxygen/html/html/functions_func_f.html +5 -5
  194. package/SVF-doxygen/html/html/functions_func_g.html +48 -49
  195. package/SVF-doxygen/html/html/functions_func_h.html +2 -7
  196. package/SVF-doxygen/html/html/functions_func_i.html +33 -21
  197. package/SVF-doxygen/html/html/functions_func_l.html +10 -4
  198. package/SVF-doxygen/html/html/functions_func_m.html +0 -1
  199. package/SVF-doxygen/html/html/functions_func_n.html +5 -4
  200. package/SVF-doxygen/html/html/functions_func_o.html +11 -13
  201. package/SVF-doxygen/html/html/functions_func_p.html +7 -17
  202. package/SVF-doxygen/html/html/functions_func_r.html +8 -5
  203. package/SVF-doxygen/html/html/functions_func_s.html +16 -13
  204. package/SVF-doxygen/html/html/functions_func_t.html +3 -1
  205. package/SVF-doxygen/html/html/functions_func_v.html +1 -7
  206. package/SVF-doxygen/html/html/functions_func_z.html +3 -3
  207. package/SVF-doxygen/html/html/functions_g.html +51 -52
  208. package/SVF-doxygen/html/html/functions_h.html +3 -8
  209. package/SVF-doxygen/html/html/functions_i.html +44 -32
  210. package/SVF-doxygen/html/html/functions_l.html +20 -6
  211. package/SVF-doxygen/html/html/functions_m.html +2 -3
  212. package/SVF-doxygen/html/html/functions_n.html +6 -8
  213. package/SVF-doxygen/html/html/functions_o.html +61 -21
  214. package/SVF-doxygen/html/html/functions_p.html +33 -41
  215. package/SVF-doxygen/html/html/functions_r.html +7 -6
  216. package/SVF-doxygen/html/html/functions_rela.html +78 -4
  217. package/SVF-doxygen/html/html/functions_s.html +30 -27
  218. package/SVF-doxygen/html/html/functions_t.html +12 -10
  219. package/SVF-doxygen/html/html/functions_type_b.html +2 -6
  220. package/SVF-doxygen/html/html/functions_type_c.html +4 -4
  221. package/SVF-doxygen/html/html/functions_type_e.html +0 -3
  222. package/SVF-doxygen/html/html/functions_type_g.html +5 -5
  223. package/SVF-doxygen/html/html/functions_type_i.html +4 -7
  224. package/SVF-doxygen/html/html/functions_type_l.html +3 -0
  225. package/SVF-doxygen/html/html/functions_type_n.html +2 -2
  226. package/SVF-doxygen/html/html/functions_type_p.html +0 -4
  227. package/SVF-doxygen/html/html/functions_type_v.html +3 -0
  228. package/SVF-doxygen/html/html/functions_type_w.html +2 -2
  229. package/SVF-doxygen/html/html/functions_v.html +10 -13
  230. package/SVF-doxygen/html/html/functions_vars.html +2 -2
  231. package/SVF-doxygen/html/html/functions_vars_b.html +2 -5
  232. package/SVF-doxygen/html/html/functions_vars_c.html +3 -10
  233. package/SVF-doxygen/html/html/functions_vars_e.html +1 -4
  234. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  235. package/SVF-doxygen/html/html/functions_vars_i.html +1 -4
  236. package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
  237. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  238. package/SVF-doxygen/html/html/functions_vars_n.html +0 -3
  239. package/SVF-doxygen/html/html/functions_vars_p.html +3 -3
  240. package/SVF-doxygen/html/html/functions_vars_s.html +0 -3
  241. package/SVF-doxygen/html/html/functions_vars_t.html +2 -2
  242. package/SVF-doxygen/html/html/functions_vars_v.html +3 -3
  243. package/SVF-doxygen/html/html/functions_vars_w.html +1 -1
  244. package/SVF-doxygen/html/html/functions_w.html +12 -8
  245. package/SVF-doxygen/html/html/functions_z.html +3 -13
  246. package/SVF-doxygen/html/html/globals.html +3 -0
  247. package/SVF-doxygen/html/html/globals_defs.html +3 -0
  248. package/SVF-doxygen/html/html/globals_defs_f.html +3 -0
  249. package/SVF-doxygen/html/html/globals_f.html +5 -2
  250. package/SVF-doxygen/html/html/globals_s.html +6 -6
  251. package/SVF-doxygen/html/html/hierarchy.html +422 -425
  252. package/SVF-doxygen/html/html/menudata.js +4 -4
  253. package/SVF-doxygen/html/html/namespaceSVF.html +10 -57
  254. package/SVF-doxygen/html/html/namespacemembers_c.html +1 -1
  255. package/SVF-doxygen/html/html/namespacemembers_type.html +1 -7
  256. package/SVF-doxygen/html/html/namespacemembers_v.html +0 -6
  257. package/SVF-doxygen/html/html/search/all_0.js +1 -1
  258. package/SVF-doxygen/html/html/search/all_1.js +3 -4
  259. package/SVF-doxygen/html/html/search/all_10.js +16 -21
  260. package/SVF-doxygen/html/html/search/all_12.js +4 -3
  261. package/SVF-doxygen/html/html/search/all_13.js +17 -16
  262. package/SVF-doxygen/html/html/search/all_14.js +8 -7
  263. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  264. package/SVF-doxygen/html/html/search/all_16.js +3 -6
  265. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  266. package/SVF-doxygen/html/html/search/all_1a.js +3 -5
  267. package/SVF-doxygen/html/html/search/all_1b.js +4 -8
  268. package/SVF-doxygen/html/html/search/all_2.js +13 -14
  269. package/SVF-doxygen/html/html/search/all_3.js +14 -24
  270. package/SVF-doxygen/html/html/search/all_4.js +3 -3
  271. package/SVF-doxygen/html/html/search/all_5.js +8 -4
  272. package/SVF-doxygen/html/html/search/all_6.js +6 -5
  273. package/SVF-doxygen/html/html/search/all_7.js +28 -25
  274. package/SVF-doxygen/html/html/search/all_8.js +4 -3
  275. package/SVF-doxygen/html/html/search/all_9.js +19 -13
  276. package/SVF-doxygen/html/html/search/all_c.js +5 -2
  277. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  278. package/SVF-doxygen/html/html/search/all_e.js +5 -5
  279. package/SVF-doxygen/html/html/search/all_f.js +24 -15
  280. package/SVF-doxygen/html/html/search/classes_1.js +1 -2
  281. package/SVF-doxygen/html/html/search/classes_12.js +1 -2
  282. package/SVF-doxygen/html/html/search/classes_14.js +1 -2
  283. package/SVF-doxygen/html/html/search/classes_2.js +0 -3
  284. package/SVF-doxygen/html/html/search/classes_4.js +1 -0
  285. package/SVF-doxygen/html/html/search/classes_7.js +3 -1
  286. package/SVF-doxygen/html/html/search/classes_d.js +0 -1
  287. package/SVF-doxygen/html/html/search/classes_f.js +1 -0
  288. package/SVF-doxygen/html/html/search/defines_0.js +1 -0
  289. package/SVF-doxygen/html/html/search/defines_5.js +1 -0
  290. package/SVF-doxygen/html/html/search/enums_1.js +0 -2
  291. package/SVF-doxygen/html/html/search/enumvalues_1.js +0 -2
  292. package/SVF-doxygen/html/html/search/files_1.js +2 -0
  293. package/SVF-doxygen/html/html/search/files_12.html +26 -0
  294. package/SVF-doxygen/html/html/search/files_12.js +4 -0
  295. package/SVF-doxygen/html/html/search/files_2.js +0 -3
  296. package/SVF-doxygen/html/html/search/files_4.js +2 -0
  297. package/SVF-doxygen/html/html/search/files_c.js +0 -1
  298. package/SVF-doxygen/html/html/search/files_d.js +1 -0
  299. package/SVF-doxygen/html/html/search/functions_0.js +1 -4
  300. package/SVF-doxygen/html/html/search/functions_1.js +8 -9
  301. package/SVF-doxygen/html/html/search/functions_10.js +6 -5
  302. package/SVF-doxygen/html/html/search/functions_11.js +2 -1
  303. package/SVF-doxygen/html/html/search/functions_13.js +0 -2
  304. package/SVF-doxygen/html/html/search/functions_15.js +2 -2
  305. package/SVF-doxygen/html/html/search/functions_16.js +4 -8
  306. package/SVF-doxygen/html/html/search/functions_2.js +5 -8
  307. package/SVF-doxygen/html/html/search/functions_3.js +3 -3
  308. package/SVF-doxygen/html/html/search/functions_4.js +3 -1
  309. package/SVF-doxygen/html/html/search/functions_5.js +3 -3
  310. package/SVF-doxygen/html/html/search/functions_6.js +25 -22
  311. package/SVF-doxygen/html/html/search/functions_7.js +2 -3
  312. package/SVF-doxygen/html/html/search/functions_8.js +12 -6
  313. package/SVF-doxygen/html/html/search/functions_a.js +2 -0
  314. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  315. package/SVF-doxygen/html/html/search/functions_c.js +2 -1
  316. package/SVF-doxygen/html/html/search/functions_d.js +7 -7
  317. package/SVF-doxygen/html/html/search/functions_e.js +5 -8
  318. package/SVF-doxygen/html/html/search/functions_f.js +2 -1
  319. package/SVF-doxygen/html/html/search/related_0.js +1 -2
  320. package/SVF-doxygen/html/html/search/related_1.js +1 -2
  321. package/SVF-doxygen/html/html/search/related_2.js +1 -1
  322. package/SVF-doxygen/html/html/search/related_3.js +2 -1
  323. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  324. package/SVF-doxygen/html/html/search/related_5.js +1 -2
  325. package/SVF-doxygen/html/html/search/related_6.js +4 -1
  326. package/SVF-doxygen/html/html/search/related_7.js +2 -4
  327. package/SVF-doxygen/html/html/search/related_8.js +18 -1
  328. package/SVF-doxygen/html/html/search/related_9.js +4 -6
  329. package/SVF-doxygen/html/html/search/related_a.js +1 -2
  330. package/SVF-doxygen/html/html/search/related_b.js +7 -2
  331. package/SVF-doxygen/html/html/search/related_c.html +26 -0
  332. package/SVF-doxygen/html/html/search/related_c.js +5 -0
  333. package/SVF-doxygen/html/html/search/related_d.html +26 -0
  334. package/SVF-doxygen/html/html/search/related_d.js +5 -0
  335. package/SVF-doxygen/html/html/search/searchdata.js +4 -4
  336. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -2
  337. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -2
  338. package/SVF-doxygen/html/html/search/typedefs_15.js +1 -1
  339. package/SVF-doxygen/html/html/search/typedefs_2.js +4 -4
  340. package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
  341. package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
  342. package/SVF-doxygen/html/html/search/typedefs_8.js +3 -4
  343. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -0
  344. package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
  345. package/SVF-doxygen/html/html/search/typedefs_f.js +0 -1
  346. package/SVF-doxygen/html/html/search/variables_0.js +1 -1
  347. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  348. package/SVF-doxygen/html/html/search/variables_13.js +0 -1
  349. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  350. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  351. package/SVF-doxygen/html/html/search/variables_16.js +1 -1
  352. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  353. package/SVF-doxygen/html/html/search/variables_2.js +1 -2
  354. package/SVF-doxygen/html/html/search/variables_3.js +4 -6
  355. package/SVF-doxygen/html/html/search/variables_5.js +1 -2
  356. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  357. package/SVF-doxygen/html/html/search/variables_9.js +1 -2
  358. package/SVF-doxygen/html/html/search/variables_c.js +1 -0
  359. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  360. package/SVF-doxygen/html/html/search/variables_e.js +1 -2
  361. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4-members.html +81 -0
  362. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +131 -0
  363. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4-members.html +81 -0
  364. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +131 -0
  365. package/include/SABER/PathCondAllocator.h +4 -4
  366. package/include/SABER/SrcSnkDDA.h +2 -2
  367. package/include/{Util/CFLSolver.h → SABER/SrcSnkSolver.h} +5 -5
  368. package/include/{Util → SVF-FE}/IRAnnotator.h +0 -0
  369. package/include/Util/BDDExpr.h +182 -0
  370. package/include/Util/DPItem.h +1 -1
  371. package/include/Util/ExeState.h +177 -0
  372. package/include/Util/Options.h +0 -3
  373. package/include/Util/Z3Expr.h +235 -0
  374. package/include/WPA/FlowSensitiveTBHC.h +1 -1
  375. package/include/{Util → WPA}/TypeBasedHeapCloning.h +0 -0
  376. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  377. package/lib/SABER/PathCondAllocator.cpp +1 -1
  378. package/lib/Util/BDDExpr.cpp +206 -0
  379. package/lib/Util/ExeState.cpp +236 -0
  380. package/lib/Util/Options.cpp +0 -11
  381. package/lib/Util/SVFUtil.cpp +1 -1
  382. package/lib/WPA/FlowSensitive.cpp +1 -1
  383. package/lib/{Util → WPA}/TypeBasedHeapCloning.cpp +1 -1
  384. package/package.json +1 -1
  385. package/include/Util/Conditions.h +0 -421
  386. package/include/Util/PathDPItem.h +0 -310
  387. package/lib/Util/Conditions.cpp +0 -440
@@ -0,0 +1,937 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.13"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: SVF::SrcSnkSolver&lt; GraphType, DPIm &gt; Class Template Reference</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.13 -->
33
+ <script type="text/javascript">
34
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
+ </script>
36
+ <script type="text/javascript" src="menudata.js"></script>
37
+ <script type="text/javascript" src="menu.js"></script>
38
+ <script type="text/javascript">
39
+ $(function() {
40
+ initMenu('',true,false,'search.php','Search');
41
+ $(document).ready(function() { init_search(); });
42
+ });
43
+ </script>
44
+ <div id="main-nav"></div>
45
+ <!-- window showing the filter options -->
46
+ <div id="MSearchSelectWindow"
47
+ onmouseover="return searchBox.OnSearchSelectShow()"
48
+ onmouseout="return searchBox.OnSearchSelectHide()"
49
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
50
+ </div>
51
+
52
+ <!-- iframe showing the search results (closed by default) -->
53
+ <div id="MSearchResultsWindow">
54
+ <iframe src="javascript:void(0)" frameborder="0"
55
+ name="MSearchResults" id="MSearchResults">
56
+ </iframe>
57
+ </div>
58
+
59
+ <div id="nav-path" class="navpath">
60
+ <ul>
61
+ <li class="navelem"><a class="el" href="namespaceSVF.html">SVF</a></li><li class="navelem"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SrcSnkSolver</a></li> </ul>
62
+ </div>
63
+ </div><!-- top -->
64
+ <div class="header">
65
+ <div class="summary">
66
+ <a href="#pub-types">Public Types</a> &#124;
67
+ <a href="#pro-methods">Protected Member Functions</a> &#124;
68
+ <a href="#pri-attribs">Private Attributes</a> &#124;
69
+ <a href="classSVF_1_1SrcSnkSolver-members.html">List of all members</a> </div>
70
+ <div class="headertitle">
71
+ <div class="title">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt; Class Template Reference</div> </div>
72
+ </div><!--header-->
73
+ <div class="contents">
74
+
75
+ <p><code>#include &lt;<a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>&gt;</code></p>
76
+ <div class="dynheader">
77
+ Inheritance diagram for SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;:</div>
78
+ <div class="dyncontent">
79
+ <div class="center">
80
+ <img src="classSVF_1_1SrcSnkSolver.png" usemap="#SVF::SrcSnkSolver_3C_20GraphType_2C_20DPIm_20_3E_map" alt=""/>
81
+ <map id="SVF::SrcSnkSolver_3C_20GraphType_2C_20DPIm_20_3E_map" name="SVF::SrcSnkSolver_3C_20GraphType_2C_20DPIm_20_3E_map">
82
+ <area href="classSVF_1_1SrcSnkDDA.html" alt="SVF::SrcSnkDDA" shape="rect" coords="128,56,374,80"/>
83
+ <area href="classSVF_1_1LeakChecker.html" alt="SVF::LeakChecker" shape="rect" coords="128,112,374,136"/>
84
+ <area href="classSVF_1_1DoubleFreeChecker.html" alt="SVF::DoubleFreeChecker" shape="rect" coords="0,168,246,192"/>
85
+ <area href="classSVF_1_1FileChecker.html" alt="SVF::FileChecker" shape="rect" coords="256,168,502,192"/>
86
+ </map>
87
+ </div></div>
88
+ <table class="memberdecls">
89
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
90
+ Public Types</h2></td></tr>
91
+ <tr class="memitem:a40c3ad6a16099d14654d6f59a1bae238"><td class="memItemLeft" align="right" valign="top">typedef llvm::GraphTraits&lt; GraphType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a40c3ad6a16099d14654d6f59a1bae238">GTraits</a></td></tr>
92
+ <tr class="memdesc:a40c3ad6a16099d14654d6f59a1bae238"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the GTraits and node iterator. <a href="#a40c3ad6a16099d14654d6f59a1bae238">More...</a><br /></td></tr>
93
+ <tr class="separator:a40c3ad6a16099d14654d6f59a1bae238"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
+ <tr class="memitem:aad6cad7d89663ac4466f97dac63ee385"><td class="memItemLeft" align="right" valign="top">typedef GTraits::NodeType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a></td></tr>
95
+ <tr class="separator:aad6cad7d89663ac4466f97dac63ee385"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
+ <tr class="memitem:a6007c2d795370bb48ad120af5474a31f"><td class="memItemLeft" align="right" valign="top">typedef GTraits::EdgeType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a6007c2d795370bb48ad120af5474a31f">GEDGE</a></td></tr>
97
+ <tr class="separator:a6007c2d795370bb48ad120af5474a31f"><td class="memSeparator" colspan="2">&#160;</td></tr>
98
+ <tr class="memitem:a14a76b28f06e167bf66e15b336570cd3"><td class="memItemLeft" align="right" valign="top">typedef GTraits::nodes_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a14a76b28f06e167bf66e15b336570cd3">node_iterator</a></td></tr>
99
+ <tr class="separator:a14a76b28f06e167bf66e15b336570cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+ <tr class="memitem:a78684539084301715a665f0aece23c8e"><td class="memItemLeft" align="right" valign="top">typedef GTraits::ChildIteratorType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a78684539084301715a665f0aece23c8e">child_iterator</a></td></tr>
101
+ <tr class="separator:a78684539084301715a665f0aece23c8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+ <tr class="memitem:ad50e99f38fe6569107d0461d96f735ae"><td class="memItemLeft" align="right" valign="top">typedef llvm::GraphTraits&lt; llvm::Inverse&lt; <a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a> * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ad50e99f38fe6569107d0461d96f735ae">InvGTraits</a></td></tr>
103
+ <tr class="memdesc:ad50e99f38fe6569107d0461d96f735ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define inverse GTraits and note iterator. <a href="#ad50e99f38fe6569107d0461d96f735ae">More...</a><br /></td></tr>
104
+ <tr class="separator:ad50e99f38fe6569107d0461d96f735ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
+ <tr class="memitem:acb3b73c60427a78ad8dd12d651202d78"><td class="memItemLeft" align="right" valign="top">typedef InvGTraits::ChildIteratorType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#acb3b73c60427a78ad8dd12d651202d78">inv_child_iterator</a></td></tr>
106
+ <tr class="separator:acb3b73c60427a78ad8dd12d651202d78"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ <tr class="memitem:a19861635c58ef6db7347c22daabf80da"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList</a>&lt; DPIm &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a19861635c58ef6db7347c22daabf80da">WorkList</a></td></tr>
108
+ <tr class="memdesc:a19861635c58ef6db7347c22daabf80da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define worklist. <a href="#a19861635c58ef6db7347c22daabf80da">More...</a><br /></td></tr>
109
+ <tr class="separator:a19861635c58ef6db7347c22daabf80da"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
+ </table><table class="memberdecls">
111
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
112
+ Protected Member Functions</h2></td></tr>
113
+ <tr class="memitem:a952450652e55f3325f24b8d237d2c37d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a952450652e55f3325f24b8d237d2c37d">SrcSnkSolver</a> ()</td></tr>
114
+ <tr class="memdesc:a952450652e55f3325f24b8d237d2c37d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a952450652e55f3325f24b8d237d2c37d">More...</a><br /></td></tr>
115
+ <tr class="separator:a952450652e55f3325f24b8d237d2c37d"><td class="memSeparator" colspan="2">&#160;</td></tr>
116
+ <tr class="memitem:a2e5019545fc7175402eb6bd6d898afa9"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a2e5019545fc7175402eb6bd6d898afa9">~SrcSnkSolver</a> ()</td></tr>
117
+ <tr class="memdesc:a2e5019545fc7175402eb6bd6d898afa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#a2e5019545fc7175402eb6bd6d898afa9">More...</a><br /></td></tr>
118
+ <tr class="separator:a2e5019545fc7175402eb6bd6d898afa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
119
+ <tr class="memitem:a18008d5496010aa5f54aade230bd64ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a18008d5496010aa5f54aade230bd64ff">getNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id) const</td></tr>
120
+ <tr class="separator:a18008d5496010aa5f54aade230bd64ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
121
+ <tr class="memitem:ab37d80b1c7a1ebfa0e19c70792c5129e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ab37d80b1c7a1ebfa0e19c70792c5129e">getNodeIDFromItem</a> (const DPIm &amp;item) const</td></tr>
122
+ <tr class="separator:ab37d80b1c7a1ebfa0e19c70792c5129e"><td class="memSeparator" colspan="2">&#160;</td></tr>
123
+ <tr class="memitem:ab0a1ee24b5899d54b65f0c7a92b7b52d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ab0a1ee24b5899d54b65f0c7a92b7b52d">forwardTraverse</a> (DPIm &amp;it)</td></tr>
124
+ <tr class="memdesc:ab0a1ee24b5899d54b65f0c7a92b7b52d"><td class="mdescLeft">&#160;</td><td class="mdescRight">CFL forward traverse solve. <a href="#ab0a1ee24b5899d54b65f0c7a92b7b52d">More...</a><br /></td></tr>
125
+ <tr class="separator:ab0a1ee24b5899d54b65f0c7a92b7b52d"><td class="memSeparator" colspan="2">&#160;</td></tr>
126
+ <tr class="memitem:a9c2fbfa1a4563ce45726ae79f0f34fcc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a9c2fbfa1a4563ce45726ae79f0f34fcc">backwardTraverse</a> (DPIm &amp;it)</td></tr>
127
+ <tr class="memdesc:a9c2fbfa1a4563ce45726ae79f0f34fcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">CFL forward traverse solve. <a href="#a9c2fbfa1a4563ce45726ae79f0f34fcc">More...</a><br /></td></tr>
128
+ <tr class="separator:a9c2fbfa1a4563ce45726ae79f0f34fcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
129
+ <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
130
+ <tr class="memitem:ae66ed69eb3412c2eef14ef2f86a34c6c"><td class="memItemLeft" align="right" valign="top">const GraphType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ae66ed69eb3412c2eef14ef2f86a34c6c">graph</a> () const</td></tr>
131
+ <tr class="memdesc:ae66ed69eb3412c2eef14ef2f86a34c6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get/Set graph methods. <a href="#ae66ed69eb3412c2eef14ef2f86a34c6c">More...</a><br /></td></tr>
132
+ <tr class="separator:ae66ed69eb3412c2eef14ef2f86a34c6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
+ <tr class="memitem:a49cae8f70144639f529956478a8fca2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a49cae8f70144639f529956478a8fca2b">setGraph</a> (GraphType g)</td></tr>
134
+ <tr class="separator:a49cae8f70144639f529956478a8fca2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
+ <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
136
+ <tr class="memitem:ab35190da65a3157a654a90afc7d793b5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ab35190da65a3157a654a90afc7d793b5">FWProcessCurNode</a> (const DPIm &amp;)</td></tr>
137
+ <tr class="memdesc:ab35190da65a3157a654a90afc7d793b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the DP item. <a href="#ab35190da65a3157a654a90afc7d793b5">More...</a><br /></td></tr>
138
+ <tr class="separator:ab35190da65a3157a654a90afc7d793b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
+ <tr class="memitem:a447db2796a7024dfa0fbe9ac95c671c0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a447db2796a7024dfa0fbe9ac95c671c0">BWProcessCurNode</a> (const DPIm &amp;)</td></tr>
140
+ <tr class="separator:a447db2796a7024dfa0fbe9ac95c671c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
141
+ <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
142
+ <tr class="memitem:aa43dbc79bfde3199a73ce0257613f484"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aa43dbc79bfde3199a73ce0257613f484">FWProcessOutgoingEdge</a> (const DPIm &amp;item, <a class="el" href="classSVF_1_1SrcSnkSolver.html#a6007c2d795370bb48ad120af5474a31f">GEDGE</a> *edge)</td></tr>
143
+ <tr class="memdesc:aa43dbc79bfde3199a73ce0257613f484"><td class="mdescLeft">&#160;</td><td class="mdescRight">Propagation for the solving, to be implemented in the child class. <a href="#aa43dbc79bfde3199a73ce0257613f484">More...</a><br /></td></tr>
144
+ <tr class="separator:aa43dbc79bfde3199a73ce0257613f484"><td class="memSeparator" colspan="2">&#160;</td></tr>
145
+ <tr class="memitem:a9e8b3a956eb5d1ac2aad095eb132c848"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a9e8b3a956eb5d1ac2aad095eb132c848">BWProcessIncomingEdge</a> (const DPIm &amp;item, <a class="el" href="classSVF_1_1SrcSnkSolver.html#a6007c2d795370bb48ad120af5474a31f">GEDGE</a> *edge)</td></tr>
146
+ <tr class="separator:a9e8b3a956eb5d1ac2aad095eb132c848"><td class="memSeparator" colspan="2">&#160;</td></tr>
147
+ <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
148
+ <tr class="memitem:aa9e62efa4443fc8a9dfb79d002c5e1ef"><td class="memItemLeft" align="right" valign="top">DPIm&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aa9e62efa4443fc8a9dfb79d002c5e1ef">popFromWorklist</a> ()</td></tr>
149
+ <tr class="memdesc:aa9e62efa4443fc8a9dfb79d002c5e1ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Worklist operations. <a href="#aa9e62efa4443fc8a9dfb79d002c5e1ef">More...</a><br /></td></tr>
150
+ <tr class="separator:aa9e62efa4443fc8a9dfb79d002c5e1ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
+ <tr class="memitem:a4451d97a06bb74223e2dad0ea04265d7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">pushIntoWorklist</a> (DPIm &amp;item)</td></tr>
152
+ <tr class="separator:a4451d97a06bb74223e2dad0ea04265d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
153
+ <tr class="memitem:a8cf98a877e4190f3886b4020006f6383"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a8cf98a877e4190f3886b4020006f6383">isWorklistEmpty</a> ()</td></tr>
154
+ <tr class="separator:a8cf98a877e4190f3886b4020006f6383"><td class="memSeparator" colspan="2">&#160;</td></tr>
155
+ <tr class="memitem:a1d9e1f15c9670758b9598e848ce5eeed"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a1d9e1f15c9670758b9598e848ce5eeed">isInWorklist</a> (DPIm &amp;item)</td></tr>
156
+ <tr class="separator:a1d9e1f15c9670758b9598e848ce5eeed"><td class="memSeparator" colspan="2">&#160;</td></tr>
157
+ </table><table class="memberdecls">
158
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
159
+ Private Attributes</h2></td></tr>
160
+ <tr class="memitem:a87242199e12fce5c5978ed0a4baa6b09"><td class="memItemLeft" align="right" valign="top">GraphType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a87242199e12fce5c5978ed0a4baa6b09">_graph</a></td></tr>
161
+ <tr class="memdesc:a87242199e12fce5c5978ed0a4baa6b09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Graph. <a href="#a87242199e12fce5c5978ed0a4baa6b09">More...</a><br /></td></tr>
162
+ <tr class="separator:a87242199e12fce5c5978ed0a4baa6b09"><td class="memSeparator" colspan="2">&#160;</td></tr>
163
+ <tr class="memitem:aeecbd88066567b2f123e84072dd09941"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a19861635c58ef6db7347c22daabf80da">WorkList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">worklist</a></td></tr>
164
+ <tr class="memdesc:aeecbd88066567b2f123e84072dd09941"><td class="mdescLeft">&#160;</td><td class="mdescRight">Worklist for resolution. <a href="#aeecbd88066567b2f123e84072dd09941">More...</a><br /></td></tr>
165
+ <tr class="separator:aeecbd88066567b2f123e84072dd09941"><td class="memSeparator" colspan="2">&#160;</td></tr>
166
+ </table>
167
+ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
168
+ <div class="textblock"><h3>template&lt;class GraphType, class DPIm = DPItem&gt;<br />
169
+ class SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</h3>
170
+
171
+
172
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00044">44</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
173
+ </div><h2 class="groupheader">Member Typedef Documentation</h2>
174
+ <a id="a78684539084301715a665f0aece23c8e"></a>
175
+ <h2 class="memtitle"><span class="permalink"><a href="#a78684539084301715a665f0aece23c8e">&#9670;&nbsp;</a></span>child_iterator</h2>
176
+
177
+ <div class="memitem">
178
+ <div class="memproto">
179
+ <div class="memtemplate">
180
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
181
+ <table class="memname">
182
+ <tr>
183
+ <td class="memname">typedef GTraits::ChildIteratorType <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::<a class="el" href="classSVF_1_1SrcSnkSolver.html#a78684539084301715a665f0aece23c8e">child_iterator</a></td>
184
+ </tr>
185
+ </table>
186
+ </div><div class="memdoc">
187
+
188
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00053">53</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
189
+
190
+ </div>
191
+ </div>
192
+ <a id="a6007c2d795370bb48ad120af5474a31f"></a>
193
+ <h2 class="memtitle"><span class="permalink"><a href="#a6007c2d795370bb48ad120af5474a31f">&#9670;&nbsp;</a></span>GEDGE</h2>
194
+
195
+ <div class="memitem">
196
+ <div class="memproto">
197
+ <div class="memtemplate">
198
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
199
+ <table class="memname">
200
+ <tr>
201
+ <td class="memname">typedef GTraits::EdgeType <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::<a class="el" href="classSVF_1_1SrcSnkSolver.html#a6007c2d795370bb48ad120af5474a31f">GEDGE</a></td>
202
+ </tr>
203
+ </table>
204
+ </div><div class="memdoc">
205
+
206
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00051">51</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
207
+
208
+ </div>
209
+ </div>
210
+ <a id="aad6cad7d89663ac4466f97dac63ee385"></a>
211
+ <h2 class="memtitle"><span class="permalink"><a href="#aad6cad7d89663ac4466f97dac63ee385">&#9670;&nbsp;</a></span>GNODE</h2>
212
+
213
+ <div class="memitem">
214
+ <div class="memproto">
215
+ <div class="memtemplate">
216
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
217
+ <table class="memname">
218
+ <tr>
219
+ <td class="memname">typedef GTraits::NodeType <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::<a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a></td>
220
+ </tr>
221
+ </table>
222
+ </div><div class="memdoc">
223
+
224
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00050">50</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
225
+
226
+ </div>
227
+ </div>
228
+ <a id="a40c3ad6a16099d14654d6f59a1bae238"></a>
229
+ <h2 class="memtitle"><span class="permalink"><a href="#a40c3ad6a16099d14654d6f59a1bae238">&#9670;&nbsp;</a></span>GTraits</h2>
230
+
231
+ <div class="memitem">
232
+ <div class="memproto">
233
+ <div class="memtemplate">
234
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
235
+ <table class="memname">
236
+ <tr>
237
+ <td class="memname">typedef llvm::GraphTraits&lt;GraphType&gt; <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::<a class="el" href="classSVF_1_1SrcSnkSolver.html#a40c3ad6a16099d14654d6f59a1bae238">GTraits</a></td>
238
+ </tr>
239
+ </table>
240
+ </div><div class="memdoc">
241
+
242
+ <p>Define the GTraits and node iterator. </p>
243
+
244
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00049">49</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
245
+
246
+ </div>
247
+ </div>
248
+ <a id="acb3b73c60427a78ad8dd12d651202d78"></a>
249
+ <h2 class="memtitle"><span class="permalink"><a href="#acb3b73c60427a78ad8dd12d651202d78">&#9670;&nbsp;</a></span>inv_child_iterator</h2>
250
+
251
+ <div class="memitem">
252
+ <div class="memproto">
253
+ <div class="memtemplate">
254
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
255
+ <table class="memname">
256
+ <tr>
257
+ <td class="memname">typedef InvGTraits::ChildIteratorType <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::<a class="el" href="classSVF_1_1SrcSnkSolver.html#acb3b73c60427a78ad8dd12d651202d78">inv_child_iterator</a></td>
258
+ </tr>
259
+ </table>
260
+ </div><div class="memdoc">
261
+
262
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00057">57</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
263
+
264
+ </div>
265
+ </div>
266
+ <a id="ad50e99f38fe6569107d0461d96f735ae"></a>
267
+ <h2 class="memtitle"><span class="permalink"><a href="#ad50e99f38fe6569107d0461d96f735ae">&#9670;&nbsp;</a></span>InvGTraits</h2>
268
+
269
+ <div class="memitem">
270
+ <div class="memproto">
271
+ <div class="memtemplate">
272
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
273
+ <table class="memname">
274
+ <tr>
275
+ <td class="memname">typedef llvm::GraphTraits&lt;llvm::Inverse&lt;<a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a> *&gt; &gt; <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::<a class="el" href="classSVF_1_1SrcSnkSolver.html#ad50e99f38fe6569107d0461d96f735ae">InvGTraits</a></td>
276
+ </tr>
277
+ </table>
278
+ </div><div class="memdoc">
279
+
280
+ <p>Define inverse GTraits and note iterator. </p>
281
+
282
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00056">56</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
283
+
284
+ </div>
285
+ </div>
286
+ <a id="a14a76b28f06e167bf66e15b336570cd3"></a>
287
+ <h2 class="memtitle"><span class="permalink"><a href="#a14a76b28f06e167bf66e15b336570cd3">&#9670;&nbsp;</a></span>node_iterator</h2>
288
+
289
+ <div class="memitem">
290
+ <div class="memproto">
291
+ <div class="memtemplate">
292
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
293
+ <table class="memname">
294
+ <tr>
295
+ <td class="memname">typedef GTraits::nodes_iterator <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::<a class="el" href="classSVF_1_1SrcSnkSolver.html#a14a76b28f06e167bf66e15b336570cd3">node_iterator</a></td>
296
+ </tr>
297
+ </table>
298
+ </div><div class="memdoc">
299
+
300
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00052">52</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
301
+
302
+ </div>
303
+ </div>
304
+ <a id="a19861635c58ef6db7347c22daabf80da"></a>
305
+ <h2 class="memtitle"><span class="permalink"><a href="#a19861635c58ef6db7347c22daabf80da">&#9670;&nbsp;</a></span>WorkList</h2>
306
+
307
+ <div class="memitem">
308
+ <div class="memproto">
309
+ <div class="memtemplate">
310
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
311
+ <table class="memname">
312
+ <tr>
313
+ <td class="memname">typedef <a class="el" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList</a>&lt;DPIm&gt; <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::<a class="el" href="classSVF_1_1SrcSnkSolver.html#a19861635c58ef6db7347c22daabf80da">WorkList</a></td>
314
+ </tr>
315
+ </table>
316
+ </div><div class="memdoc">
317
+
318
+ <p>Define worklist. </p>
319
+
320
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00060">60</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
321
+
322
+ </div>
323
+ </div>
324
+ <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
325
+ <a id="a952450652e55f3325f24b8d237d2c37d"></a>
326
+ <h2 class="memtitle"><span class="permalink"><a href="#a952450652e55f3325f24b8d237d2c37d">&#9670;&nbsp;</a></span>SrcSnkSolver()</h2>
327
+
328
+ <div class="memitem">
329
+ <div class="memproto">
330
+ <div class="memtemplate">
331
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
332
+ <table class="mlabels">
333
+ <tr>
334
+ <td class="mlabels-left">
335
+ <table class="memname">
336
+ <tr>
337
+ <td class="memname"><a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::<a class="el" href="classSVF_1_1SrcSnkSolver.html">SrcSnkSolver</a> </td>
338
+ <td>(</td>
339
+ <td class="paramname"></td><td>)</td>
340
+ <td></td>
341
+ </tr>
342
+ </table>
343
+ </td>
344
+ <td class="mlabels-right">
345
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
346
+ </tr>
347
+ </table>
348
+ </div><div class="memdoc">
349
+
350
+ <p>Constructor. </p>
351
+
352
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00065">65</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
353
+ <div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; : <a class="code" href="classSVF_1_1SrcSnkSolver.html#a87242199e12fce5c5978ed0a4baa6b09">_graph</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a87242199e12fce5c5978ed0a4baa6b09"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a87242199e12fce5c5978ed0a4baa6b09">SVF::SrcSnkSolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00177">SrcSnkSolver.h:177</a></div></div>
354
+ </div><!-- fragment -->
355
+ </div>
356
+ </div>
357
+ <a id="a2e5019545fc7175402eb6bd6d898afa9"></a>
358
+ <h2 class="memtitle"><span class="permalink"><a href="#a2e5019545fc7175402eb6bd6d898afa9">&#9670;&nbsp;</a></span>~SrcSnkSolver()</h2>
359
+
360
+ <div class="memitem">
361
+ <div class="memproto">
362
+ <div class="memtemplate">
363
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
364
+ <table class="mlabels">
365
+ <tr>
366
+ <td class="mlabels-left">
367
+ <table class="memname">
368
+ <tr>
369
+ <td class="memname">virtual <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::~<a class="el" href="classSVF_1_1SrcSnkSolver.html">SrcSnkSolver</a> </td>
370
+ <td>(</td>
371
+ <td class="paramname"></td><td>)</td>
372
+ <td></td>
373
+ </tr>
374
+ </table>
375
+ </td>
376
+ <td class="mlabels-right">
377
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
378
+ </tr>
379
+ </table>
380
+ </div><div class="memdoc">
381
+
382
+ <p>Destructor. </p>
383
+
384
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00069">69</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
385
+ <div class="fragment"><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; }</div></div><!-- fragment -->
386
+ </div>
387
+ </div>
388
+ <h2 class="groupheader">Member Function Documentation</h2>
389
+ <a id="a9c2fbfa1a4563ce45726ae79f0f34fcc"></a>
390
+ <h2 class="memtitle"><span class="permalink"><a href="#a9c2fbfa1a4563ce45726ae79f0f34fcc">&#9670;&nbsp;</a></span>backwardTraverse()</h2>
391
+
392
+ <div class="memitem">
393
+ <div class="memproto">
394
+ <div class="memtemplate">
395
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
396
+ <table class="mlabels">
397
+ <tr>
398
+ <td class="mlabels-left">
399
+ <table class="memname">
400
+ <tr>
401
+ <td class="memname">virtual void <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::backwardTraverse </td>
402
+ <td>(</td>
403
+ <td class="paramtype">DPIm &amp;&#160;</td>
404
+ <td class="paramname"><em>it</em></td><td>)</td>
405
+ <td></td>
406
+ </tr>
407
+ </table>
408
+ </td>
409
+ <td class="mlabels-right">
410
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
411
+ </tr>
412
+ </table>
413
+ </div><div class="memdoc">
414
+
415
+ <p>CFL forward traverse solve. </p>
416
+
417
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00112">112</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
418
+ <div class="fragment"><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; <a class="code" href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">pushIntoWorklist</a>(it);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1SrcSnkSolver.html#a8cf98a877e4190f3886b4020006f6383">isWorklistEmpty</a>())</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; DPIm item = <a class="code" href="classSVF_1_1SrcSnkSolver.html#aa9e62efa4443fc8a9dfb79d002c5e1ef">popFromWorklist</a>();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#a447db2796a7024dfa0fbe9ac95c671c0">BWProcessCurNode</a>(item);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a>* v = <a class="code" href="classSVF_1_1SrcSnkSolver.html#a18008d5496010aa5f54aade230bd64ff">getNode</a>(<a class="code" href="classSVF_1_1SrcSnkSolver.html#ab37d80b1c7a1ebfa0e19c70792c5129e">getNodeIDFromItem</a>(item));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#acb3b73c60427a78ad8dd12d651202d78">inv_child_iterator</a> EI = InvGTraits::child_begin(v);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#acb3b73c60427a78ad8dd12d651202d78">inv_child_iterator</a> EE = InvGTraits::child_end(v);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">for</span> (; EI != EE; ++EI)</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; <a class="code" href="classSVF_1_1SrcSnkSolver.html#a9e8b3a956eb5d1ac2aad095eb132c848">BWProcessIncomingEdge</a>(item,*(EI.getCurrent()) );</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aa9e62efa4443fc8a9dfb79d002c5e1ef"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aa9e62efa4443fc8a9dfb79d002c5e1ef">SVF::SrcSnkSolver::popFromWorklist</a></div><div class="ttdeci">DPIm popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00156">SrcSnkSolver.h:156</a></div></div>
419
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a447db2796a7024dfa0fbe9ac95c671c0"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a447db2796a7024dfa0fbe9ac95c671c0">SVF::SrcSnkSolver::BWProcessCurNode</a></div><div class="ttdeci">virtual void BWProcessCurNode(const DPIm &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00135">SrcSnkSolver.h:135</a></div></div>
420
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_acb3b73c60427a78ad8dd12d651202d78"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#acb3b73c60427a78ad8dd12d651202d78">SVF::SrcSnkSolver::inv_child_iterator</a></div><div class="ttdeci">InvGTraits::ChildIteratorType inv_child_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00057">SrcSnkSolver.h:57</a></div></div>
421
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_ab37d80b1c7a1ebfa0e19c70792c5129e"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#ab37d80b1c7a1ebfa0e19c70792c5129e">SVF::SrcSnkSolver::getNodeIDFromItem</a></div><div class="ttdeci">virtual NodeID getNodeIDFromItem(const DPIm &amp;item) const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00088">SrcSnkSolver.h:88</a></div></div>
422
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a18008d5496010aa5f54aade230bd64ff"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a18008d5496010aa5f54aade230bd64ff">SVF::SrcSnkSolver::getNode</a></div><div class="ttdeci">GNODE * getNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00084">SrcSnkSolver.h:84</a></div></div>
423
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aad6cad7d89663ac4466f97dac63ee385"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">SVF::SrcSnkSolver::GNODE</a></div><div class="ttdeci">GTraits::NodeType GNODE</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00050">SrcSnkSolver.h:50</a></div></div>
424
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a9e8b3a956eb5d1ac2aad095eb132c848"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a9e8b3a956eb5d1ac2aad095eb132c848">SVF::SrcSnkSolver::BWProcessIncomingEdge</a></div><div class="ttdeci">virtual void BWProcessIncomingEdge(const DPIm &amp;item, GEDGE *edge)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00147">SrcSnkSolver.h:147</a></div></div>
425
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a8cf98a877e4190f3886b4020006f6383"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a8cf98a877e4190f3886b4020006f6383">SVF::SrcSnkSolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00164">SrcSnkSolver.h:164</a></div></div>
426
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a4451d97a06bb74223e2dad0ea04265d7"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">SVF::SrcSnkSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(DPIm &amp;item)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00160">SrcSnkSolver.h:160</a></div></div>
427
+ </div><!-- fragment -->
428
+ </div>
429
+ </div>
430
+ <a id="a447db2796a7024dfa0fbe9ac95c671c0"></a>
431
+ <h2 class="memtitle"><span class="permalink"><a href="#a447db2796a7024dfa0fbe9ac95c671c0">&#9670;&nbsp;</a></span>BWProcessCurNode()</h2>
432
+
433
+ <div class="memitem">
434
+ <div class="memproto">
435
+ <div class="memtemplate">
436
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
437
+ <table class="mlabels">
438
+ <tr>
439
+ <td class="mlabels-left">
440
+ <table class="memname">
441
+ <tr>
442
+ <td class="memname">virtual void <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::BWProcessCurNode </td>
443
+ <td>(</td>
444
+ <td class="paramtype">const DPIm &amp;&#160;</td>
445
+ <td class="paramname"></td><td>)</td>
446
+ <td></td>
447
+ </tr>
448
+ </table>
449
+ </td>
450
+ <td class="mlabels-right">
451
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
452
+ </tr>
453
+ </table>
454
+ </div><div class="memdoc">
455
+
456
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00135">135</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
457
+ <div class="fragment"><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><!-- fragment -->
458
+ </div>
459
+ </div>
460
+ <a id="a9e8b3a956eb5d1ac2aad095eb132c848"></a>
461
+ <h2 class="memtitle"><span class="permalink"><a href="#a9e8b3a956eb5d1ac2aad095eb132c848">&#9670;&nbsp;</a></span>BWProcessIncomingEdge()</h2>
462
+
463
+ <div class="memitem">
464
+ <div class="memproto">
465
+ <div class="memtemplate">
466
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
467
+ <table class="mlabels">
468
+ <tr>
469
+ <td class="mlabels-left">
470
+ <table class="memname">
471
+ <tr>
472
+ <td class="memname">virtual void <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::BWProcessIncomingEdge </td>
473
+ <td>(</td>
474
+ <td class="paramtype">const DPIm &amp;&#160;</td>
475
+ <td class="paramname"><em>item</em>, </td>
476
+ </tr>
477
+ <tr>
478
+ <td class="paramkey"></td>
479
+ <td></td>
480
+ <td class="paramtype"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a6007c2d795370bb48ad120af5474a31f">GEDGE</a> *&#160;</td>
481
+ <td class="paramname"><em>edge</em>&#160;</td>
482
+ </tr>
483
+ <tr>
484
+ <td></td>
485
+ <td>)</td>
486
+ <td></td><td></td>
487
+ </tr>
488
+ </table>
489
+ </td>
490
+ <td class="mlabels-right">
491
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
492
+ </tr>
493
+ </table>
494
+ </div><div class="memdoc">
495
+
496
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00147">147</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
497
+ <div class="fragment"><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; DPIm newItem(item);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; newItem.setCurNodeID(edge-&gt;getSrcID());</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">pushIntoWorklist</a>(newItem);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a4451d97a06bb74223e2dad0ea04265d7"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">SVF::SrcSnkSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(DPIm &amp;item)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00160">SrcSnkSolver.h:160</a></div></div>
498
+ </div><!-- fragment -->
499
+ </div>
500
+ </div>
501
+ <a id="ab0a1ee24b5899d54b65f0c7a92b7b52d"></a>
502
+ <h2 class="memtitle"><span class="permalink"><a href="#ab0a1ee24b5899d54b65f0c7a92b7b52d">&#9670;&nbsp;</a></span>forwardTraverse()</h2>
503
+
504
+ <div class="memitem">
505
+ <div class="memproto">
506
+ <div class="memtemplate">
507
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
508
+ <table class="mlabels">
509
+ <tr>
510
+ <td class="mlabels-left">
511
+ <table class="memname">
512
+ <tr>
513
+ <td class="memname">virtual void <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::forwardTraverse </td>
514
+ <td>(</td>
515
+ <td class="paramtype">DPIm &amp;&#160;</td>
516
+ <td class="paramname"><em>it</em></td><td>)</td>
517
+ <td></td>
518
+ </tr>
519
+ </table>
520
+ </td>
521
+ <td class="mlabels-right">
522
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
523
+ </tr>
524
+ </table>
525
+ </div><div class="memdoc">
526
+
527
+ <p>CFL forward traverse solve. </p>
528
+
529
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00093">93</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
530
+ <div class="fragment"><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; <a class="code" href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">pushIntoWorklist</a>(it);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1SrcSnkSolver.html#a8cf98a877e4190f3886b4020006f6383">isWorklistEmpty</a>())</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; DPIm item = <a class="code" href="classSVF_1_1SrcSnkSolver.html#aa9e62efa4443fc8a9dfb79d002c5e1ef">popFromWorklist</a>();</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#ab35190da65a3157a654a90afc7d793b5">FWProcessCurNode</a>(item);</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; <a class="code" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a>* v = <a class="code" href="classSVF_1_1SrcSnkSolver.html#a18008d5496010aa5f54aade230bd64ff">getNode</a>(<a class="code" href="classSVF_1_1SrcSnkSolver.html#ab37d80b1c7a1ebfa0e19c70792c5129e">getNodeIDFromItem</a>(item));</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#a78684539084301715a665f0aece23c8e">child_iterator</a> EI = GTraits::child_begin(v);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#a78684539084301715a665f0aece23c8e">child_iterator</a> EE = GTraits::child_end(v);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">for</span> (; EI != EE; ++EI)</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; <a class="code" href="classSVF_1_1SrcSnkSolver.html#aa43dbc79bfde3199a73ce0257613f484">FWProcessOutgoingEdge</a>(item,*(EI.getCurrent()) );</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; }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aa9e62efa4443fc8a9dfb79d002c5e1ef"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aa9e62efa4443fc8a9dfb79d002c5e1ef">SVF::SrcSnkSolver::popFromWorklist</a></div><div class="ttdeci">DPIm popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00156">SrcSnkSolver.h:156</a></div></div>
531
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aa43dbc79bfde3199a73ce0257613f484"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aa43dbc79bfde3199a73ce0257613f484">SVF::SrcSnkSolver::FWProcessOutgoingEdge</a></div><div class="ttdeci">virtual void FWProcessOutgoingEdge(const DPIm &amp;item, GEDGE *edge)</div><div class="ttdoc">Propagation for the solving, to be implemented in the child class. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00141">SrcSnkSolver.h:141</a></div></div>
532
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_ab37d80b1c7a1ebfa0e19c70792c5129e"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#ab37d80b1c7a1ebfa0e19c70792c5129e">SVF::SrcSnkSolver::getNodeIDFromItem</a></div><div class="ttdeci">virtual NodeID getNodeIDFromItem(const DPIm &amp;item) const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00088">SrcSnkSolver.h:88</a></div></div>
533
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a18008d5496010aa5f54aade230bd64ff"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a18008d5496010aa5f54aade230bd64ff">SVF::SrcSnkSolver::getNode</a></div><div class="ttdeci">GNODE * getNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00084">SrcSnkSolver.h:84</a></div></div>
534
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_ab35190da65a3157a654a90afc7d793b5"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#ab35190da65a3157a654a90afc7d793b5">SVF::SrcSnkSolver::FWProcessCurNode</a></div><div class="ttdeci">virtual void FWProcessCurNode(const DPIm &amp;)</div><div class="ttdoc">Process the DP item. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00132">SrcSnkSolver.h:132</a></div></div>
535
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aad6cad7d89663ac4466f97dac63ee385"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">SVF::SrcSnkSolver::GNODE</a></div><div class="ttdeci">GTraits::NodeType GNODE</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00050">SrcSnkSolver.h:50</a></div></div>
536
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a8cf98a877e4190f3886b4020006f6383"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a8cf98a877e4190f3886b4020006f6383">SVF::SrcSnkSolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00164">SrcSnkSolver.h:164</a></div></div>
537
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a78684539084301715a665f0aece23c8e"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a78684539084301715a665f0aece23c8e">SVF::SrcSnkSolver::child_iterator</a></div><div class="ttdeci">GTraits::ChildIteratorType child_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00053">SrcSnkSolver.h:53</a></div></div>
538
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a4451d97a06bb74223e2dad0ea04265d7"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">SVF::SrcSnkSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(DPIm &amp;item)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00160">SrcSnkSolver.h:160</a></div></div>
539
+ </div><!-- fragment -->
540
+ </div>
541
+ </div>
542
+ <a id="ab35190da65a3157a654a90afc7d793b5"></a>
543
+ <h2 class="memtitle"><span class="permalink"><a href="#ab35190da65a3157a654a90afc7d793b5">&#9670;&nbsp;</a></span>FWProcessCurNode()</h2>
544
+
545
+ <div class="memitem">
546
+ <div class="memproto">
547
+ <div class="memtemplate">
548
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
549
+ <table class="mlabels">
550
+ <tr>
551
+ <td class="mlabels-left">
552
+ <table class="memname">
553
+ <tr>
554
+ <td class="memname">virtual void <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::FWProcessCurNode </td>
555
+ <td>(</td>
556
+ <td class="paramtype">const DPIm &amp;&#160;</td>
557
+ <td class="paramname"></td><td>)</td>
558
+ <td></td>
559
+ </tr>
560
+ </table>
561
+ </td>
562
+ <td class="mlabels-right">
563
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
564
+ </tr>
565
+ </table>
566
+ </div><div class="memdoc">
567
+
568
+ <p>Process the DP item. </p>
569
+
570
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00132">132</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
571
+ <div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div></div><!-- fragment -->
572
+ </div>
573
+ </div>
574
+ <a id="aa43dbc79bfde3199a73ce0257613f484"></a>
575
+ <h2 class="memtitle"><span class="permalink"><a href="#aa43dbc79bfde3199a73ce0257613f484">&#9670;&nbsp;</a></span>FWProcessOutgoingEdge()</h2>
576
+
577
+ <div class="memitem">
578
+ <div class="memproto">
579
+ <div class="memtemplate">
580
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
581
+ <table class="mlabels">
582
+ <tr>
583
+ <td class="mlabels-left">
584
+ <table class="memname">
585
+ <tr>
586
+ <td class="memname">virtual void <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::FWProcessOutgoingEdge </td>
587
+ <td>(</td>
588
+ <td class="paramtype">const DPIm &amp;&#160;</td>
589
+ <td class="paramname"><em>item</em>, </td>
590
+ </tr>
591
+ <tr>
592
+ <td class="paramkey"></td>
593
+ <td></td>
594
+ <td class="paramtype"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a6007c2d795370bb48ad120af5474a31f">GEDGE</a> *&#160;</td>
595
+ <td class="paramname"><em>edge</em>&#160;</td>
596
+ </tr>
597
+ <tr>
598
+ <td></td>
599
+ <td>)</td>
600
+ <td></td><td></td>
601
+ </tr>
602
+ </table>
603
+ </td>
604
+ <td class="mlabels-right">
605
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
606
+ </tr>
607
+ </table>
608
+ </div><div class="memdoc">
609
+
610
+ <p>Propagation for the solving, to be implemented in the child class. </p>
611
+
612
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00141">141</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
613
+ <div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; DPIm newItem(item);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; newItem.setCurNodeID(edge-&gt;getDstID());</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">pushIntoWorklist</a>(newItem);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a4451d97a06bb74223e2dad0ea04265d7"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">SVF::SrcSnkSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(DPIm &amp;item)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00160">SrcSnkSolver.h:160</a></div></div>
614
+ </div><!-- fragment -->
615
+ </div>
616
+ </div>
617
+ <a id="a18008d5496010aa5f54aade230bd64ff"></a>
618
+ <h2 class="memtitle"><span class="permalink"><a href="#a18008d5496010aa5f54aade230bd64ff">&#9670;&nbsp;</a></span>getNode()</h2>
619
+
620
+ <div class="memitem">
621
+ <div class="memproto">
622
+ <div class="memtemplate">
623
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
624
+ <table class="mlabels">
625
+ <tr>
626
+ <td class="mlabels-left">
627
+ <table class="memname">
628
+ <tr>
629
+ <td class="memname"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a>* <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::getNode </td>
630
+ <td>(</td>
631
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td>
632
+ <td class="paramname"><em>id</em></td><td>)</td>
633
+ <td> const</td>
634
+ </tr>
635
+ </table>
636
+ </td>
637
+ <td class="mlabels-right">
638
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
639
+ </tr>
640
+ </table>
641
+ </div><div class="memdoc">
642
+
643
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00084">84</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
644
+ <div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkSolver.html#a87242199e12fce5c5978ed0a4baa6b09">_graph</a>-&gt;getGNode(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a87242199e12fce5c5978ed0a4baa6b09"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a87242199e12fce5c5978ed0a4baa6b09">SVF::SrcSnkSolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00177">SrcSnkSolver.h:177</a></div></div>
645
+ </div><!-- fragment -->
646
+ </div>
647
+ </div>
648
+ <a id="ab37d80b1c7a1ebfa0e19c70792c5129e"></a>
649
+ <h2 class="memtitle"><span class="permalink"><a href="#ab37d80b1c7a1ebfa0e19c70792c5129e">&#9670;&nbsp;</a></span>getNodeIDFromItem()</h2>
650
+
651
+ <div class="memitem">
652
+ <div class="memproto">
653
+ <div class="memtemplate">
654
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
655
+ <table class="mlabels">
656
+ <tr>
657
+ <td class="mlabels-left">
658
+ <table class="memname">
659
+ <tr>
660
+ <td class="memname">virtual <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::getNodeIDFromItem </td>
661
+ <td>(</td>
662
+ <td class="paramtype">const DPIm &amp;&#160;</td>
663
+ <td class="paramname"><em>item</em></td><td>)</td>
664
+ <td> const</td>
665
+ </tr>
666
+ </table>
667
+ </td>
668
+ <td class="mlabels-right">
669
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
670
+ </tr>
671
+ </table>
672
+ </div><div class="memdoc">
673
+
674
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00088">88</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
675
+ <div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> item.getCurNodeID();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div></div><!-- fragment -->
676
+ </div>
677
+ </div>
678
+ <a id="ae66ed69eb3412c2eef14ef2f86a34c6c"></a>
679
+ <h2 class="memtitle"><span class="permalink"><a href="#ae66ed69eb3412c2eef14ef2f86a34c6c">&#9670;&nbsp;</a></span>graph()</h2>
680
+
681
+ <div class="memitem">
682
+ <div class="memproto">
683
+ <div class="memtemplate">
684
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
685
+ <table class="mlabels">
686
+ <tr>
687
+ <td class="mlabels-left">
688
+ <table class="memname">
689
+ <tr>
690
+ <td class="memname">const GraphType <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::graph </td>
691
+ <td>(</td>
692
+ <td class="paramname"></td><td>)</td>
693
+ <td> const</td>
694
+ </tr>
695
+ </table>
696
+ </td>
697
+ <td class="mlabels-right">
698
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
699
+ </tr>
700
+ </table>
701
+ </div><div class="memdoc">
702
+
703
+ <p>Get/Set graph methods. </p>
704
+
705
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00074">74</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
706
+ <div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkSolver.html#a87242199e12fce5c5978ed0a4baa6b09">_graph</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a87242199e12fce5c5978ed0a4baa6b09"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a87242199e12fce5c5978ed0a4baa6b09">SVF::SrcSnkSolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00177">SrcSnkSolver.h:177</a></div></div>
707
+ </div><!-- fragment -->
708
+ </div>
709
+ </div>
710
+ <a id="a1d9e1f15c9670758b9598e848ce5eeed"></a>
711
+ <h2 class="memtitle"><span class="permalink"><a href="#a1d9e1f15c9670758b9598e848ce5eeed">&#9670;&nbsp;</a></span>isInWorklist()</h2>
712
+
713
+ <div class="memitem">
714
+ <div class="memproto">
715
+ <div class="memtemplate">
716
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
717
+ <table class="mlabels">
718
+ <tr>
719
+ <td class="mlabels-left">
720
+ <table class="memname">
721
+ <tr>
722
+ <td class="memname">bool <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::isInWorklist </td>
723
+ <td>(</td>
724
+ <td class="paramtype">DPIm &amp;&#160;</td>
725
+ <td class="paramname"><em>item</em></td><td>)</td>
726
+ <td></td>
727
+ </tr>
728
+ </table>
729
+ </td>
730
+ <td class="mlabels-right">
731
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
732
+ </tr>
733
+ </table>
734
+ </div><div class="memdoc">
735
+
736
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00168">168</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
737
+ <div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a86f2393b1cce7969d6974b53970ead54">find</a>(item);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aeecbd88066567b2f123e84072dd09941"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">SVF::SrcSnkSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00180">SrcSnkSolver.h:180</a></div></div>
738
+ <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a86f2393b1cce7969d6974b53970ead54"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a86f2393b1cce7969d6974b53970ead54">SVF::FIFOWorkList::find</a></div><div class="ttdeci">bool find(Data data) const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00151">WorkList.h:151</a></div></div>
739
+ </div><!-- fragment -->
740
+ </div>
741
+ </div>
742
+ <a id="a8cf98a877e4190f3886b4020006f6383"></a>
743
+ <h2 class="memtitle"><span class="permalink"><a href="#a8cf98a877e4190f3886b4020006f6383">&#9670;&nbsp;</a></span>isWorklistEmpty()</h2>
744
+
745
+ <div class="memitem">
746
+ <div class="memproto">
747
+ <div class="memtemplate">
748
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
749
+ <table class="mlabels">
750
+ <tr>
751
+ <td class="mlabels-left">
752
+ <table class="memname">
753
+ <tr>
754
+ <td class="memname">bool <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::isWorklistEmpty </td>
755
+ <td>(</td>
756
+ <td class="paramname"></td><td>)</td>
757
+ <td></td>
758
+ </tr>
759
+ </table>
760
+ </td>
761
+ <td class="mlabels-right">
762
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
763
+ </tr>
764
+ </table>
765
+ </div><div class="memdoc">
766
+
767
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00164">164</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
768
+ <div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
769
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aeecbd88066567b2f123e84072dd09941"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">SVF::SrcSnkSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00180">SrcSnkSolver.h:180</a></div></div>
770
+ </div><!-- fragment -->
771
+ </div>
772
+ </div>
773
+ <a id="aa9e62efa4443fc8a9dfb79d002c5e1ef"></a>
774
+ <h2 class="memtitle"><span class="permalink"><a href="#aa9e62efa4443fc8a9dfb79d002c5e1ef">&#9670;&nbsp;</a></span>popFromWorklist()</h2>
775
+
776
+ <div class="memitem">
777
+ <div class="memproto">
778
+ <div class="memtemplate">
779
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
780
+ <table class="mlabels">
781
+ <tr>
782
+ <td class="mlabels-left">
783
+ <table class="memname">
784
+ <tr>
785
+ <td class="memname">DPIm <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::popFromWorklist </td>
786
+ <td>(</td>
787
+ <td class="paramname"></td><td>)</td>
788
+ <td></td>
789
+ </tr>
790
+ </table>
791
+ </td>
792
+ <td class="mlabels-right">
793
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
794
+ </tr>
795
+ </table>
796
+ </div><div class="memdoc">
797
+
798
+ <p>Worklist operations. </p>
799
+
800
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00156">156</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
801
+ <div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aeecbd88066567b2f123e84072dd09941"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">SVF::SrcSnkSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00180">SrcSnkSolver.h:180</a></div></div>
802
+ <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00174">WorkList.h:174</a></div></div>
803
+ </div><!-- fragment -->
804
+ </div>
805
+ </div>
806
+ <a id="a4451d97a06bb74223e2dad0ea04265d7"></a>
807
+ <h2 class="memtitle"><span class="permalink"><a href="#a4451d97a06bb74223e2dad0ea04265d7">&#9670;&nbsp;</a></span>pushIntoWorklist()</h2>
808
+
809
+ <div class="memitem">
810
+ <div class="memproto">
811
+ <div class="memtemplate">
812
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
813
+ <table class="mlabels">
814
+ <tr>
815
+ <td class="mlabels-left">
816
+ <table class="memname">
817
+ <tr>
818
+ <td class="memname">bool <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::pushIntoWorklist </td>
819
+ <td>(</td>
820
+ <td class="paramtype">DPIm &amp;&#160;</td>
821
+ <td class="paramname"><em>item</em></td><td>)</td>
822
+ <td></td>
823
+ </tr>
824
+ </table>
825
+ </td>
826
+ <td class="mlabels-right">
827
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
828
+ </tr>
829
+ </table>
830
+ </div><div class="memdoc">
831
+
832
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00160">160</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
833
+ <div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(item);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div><div class="ttc" id="classSVF_1_1FIFOWorkList_html_ad4c6a48b60c870d63049fe7272cc7eb8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(Data data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00159">WorkList.h:159</a></div></div>
834
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aeecbd88066567b2f123e84072dd09941"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">SVF::SrcSnkSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00180">SrcSnkSolver.h:180</a></div></div>
835
+ </div><!-- fragment -->
836
+ </div>
837
+ </div>
838
+ <a id="a49cae8f70144639f529956478a8fca2b"></a>
839
+ <h2 class="memtitle"><span class="permalink"><a href="#a49cae8f70144639f529956478a8fca2b">&#9670;&nbsp;</a></span>setGraph()</h2>
840
+
841
+ <div class="memitem">
842
+ <div class="memproto">
843
+ <div class="memtemplate">
844
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
845
+ <table class="mlabels">
846
+ <tr>
847
+ <td class="mlabels-left">
848
+ <table class="memname">
849
+ <tr>
850
+ <td class="memname">void <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::setGraph </td>
851
+ <td>(</td>
852
+ <td class="paramtype">GraphType&#160;</td>
853
+ <td class="paramname"><em>g</em></td><td>)</td>
854
+ <td></td>
855
+ </tr>
856
+ </table>
857
+ </td>
858
+ <td class="mlabels-right">
859
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
860
+ </tr>
861
+ </table>
862
+ </div><div class="memdoc">
863
+
864
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00078">78</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
865
+ <div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classSVF_1_1SrcSnkSolver.html#a87242199e12fce5c5978ed0a4baa6b09">_graph</a> = g;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="ttc" id="classSVF_1_1SrcSnkSolver_html_a87242199e12fce5c5978ed0a4baa6b09"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#a87242199e12fce5c5978ed0a4baa6b09">SVF::SrcSnkSolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00177">SrcSnkSolver.h:177</a></div></div>
866
+ </div><!-- fragment -->
867
+ </div>
868
+ </div>
869
+ <h2 class="groupheader">Member Data Documentation</h2>
870
+ <a id="a87242199e12fce5c5978ed0a4baa6b09"></a>
871
+ <h2 class="memtitle"><span class="permalink"><a href="#a87242199e12fce5c5978ed0a4baa6b09">&#9670;&nbsp;</a></span>_graph</h2>
872
+
873
+ <div class="memitem">
874
+ <div class="memproto">
875
+ <div class="memtemplate">
876
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
877
+ <table class="mlabels">
878
+ <tr>
879
+ <td class="mlabels-left">
880
+ <table class="memname">
881
+ <tr>
882
+ <td class="memname">GraphType <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::_graph</td>
883
+ </tr>
884
+ </table>
885
+ </td>
886
+ <td class="mlabels-right">
887
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
888
+ </tr>
889
+ </table>
890
+ </div><div class="memdoc">
891
+
892
+ <p>Graph. </p>
893
+
894
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00177">177</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
895
+
896
+ </div>
897
+ </div>
898
+ <a id="aeecbd88066567b2f123e84072dd09941"></a>
899
+ <h2 class="memtitle"><span class="permalink"><a href="#aeecbd88066567b2f123e84072dd09941">&#9670;&nbsp;</a></span>worklist</h2>
900
+
901
+ <div class="memitem">
902
+ <div class="memproto">
903
+ <div class="memtemplate">
904
+ template&lt;class GraphType , class DPIm = DPItem&gt; </div>
905
+ <table class="mlabels">
906
+ <tr>
907
+ <td class="mlabels-left">
908
+ <table class="memname">
909
+ <tr>
910
+ <td class="memname"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a19861635c58ef6db7347c22daabf80da">WorkList</a> <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver</a>&lt; GraphType, DPIm &gt;::worklist</td>
911
+ </tr>
912
+ </table>
913
+ </td>
914
+ <td class="mlabels-right">
915
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
916
+ </tr>
917
+ </table>
918
+ </div><div class="memdoc">
919
+
920
+ <p>Worklist for resolution. </p>
921
+
922
+ <p class="definition">Definition at line <a class="el" href="SrcSnkSolver_8h_source.html#l00180">180</a> of file <a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a>.</p>
923
+
924
+ </div>
925
+ </div>
926
+ <hr/>The documentation for this class was generated from the following file:<ul>
927
+ <li>/home/runner/work/SVF/SVF/include/SABER/<a class="el" href="SrcSnkSolver_8h_source.html">SrcSnkSolver.h</a></li>
928
+ </ul>
929
+ </div><!-- contents -->
930
+ <!-- start footer part -->
931
+ <hr class="footer"/><address class="footer"><small>
932
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
933
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
934
+ </a> 1.8.13
935
+ </small></address>
936
+ </body>
937
+ </html>