svf-tools 1.0.347 → 1.0.351

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 (490) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +5 -4
  2. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +14 -14
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +12 -12
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +12 -12
  6. package/SVF-doxygen/html/html/CHG_8h_source.html +7 -7
  7. package/SVF-doxygen/html/html/CPPUtil_8cpp.html +3 -3
  8. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +3 -3
  9. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
  10. package/SVF-doxygen/html/html/CSC_8cpp_source.html +4 -4
  11. package/SVF-doxygen/html/html/CSC_8h_source.html +3 -3
  12. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +2 -2
  13. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +4 -4
  14. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +4 -4
  15. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  17. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/DCHG_8h_source.html +3 -3
  19. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
  20. package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
  22. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
  23. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +14 -14
  24. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +7 -8
  25. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  29. package/SVF-doxygen/html/html/IRGraph_8h_source.html +6 -7
  30. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +13 -6
  32. package/SVF-doxygen/html/html/LocationSet_8h_source.html +12 -14
  33. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  34. package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -3
  36. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +4 -4
  38. package/SVF-doxygen/html/html/MemRegion_8h_source.html +3 -4
  39. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  40. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +3 -3
  42. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +4 -5
  44. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +7 -7
  45. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +1 -1
  47. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -4
  49. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +4 -4
  50. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +5 -5
  51. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +2 -3
  52. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +7 -6
  53. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +75 -73
  54. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
  55. package/SVF-doxygen/html/html/SVFIR_8h_source.html +4 -5
  56. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  57. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +6 -6
  58. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +6 -5
  59. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  60. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +6 -6
  61. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +3 -4
  62. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +5 -4
  64. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
  65. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
  66. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  67. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +4 -4
  68. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +3 -3
  69. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +9 -9
  70. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +3 -3
  71. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +9 -9
  72. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +3 -3
  73. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +9 -9
  74. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +3 -3
  75. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +9 -9
  76. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge-members.html +1 -1
  77. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +3 -3
  78. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +2 -2
  79. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +9 -9
  80. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +3 -3
  81. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +9 -9
  82. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +11 -11
  83. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +45 -45
  84. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +11 -11
  85. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +59 -59
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +11 -11
  87. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +29 -29
  88. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +11 -11
  89. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +29 -29
  90. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +11 -11
  91. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +31 -31
  92. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +11 -11
  93. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +33 -33
  94. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +12 -12
  95. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +42 -41
  96. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +14 -14
  97. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +11 -11
  98. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +31 -31
  99. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode-members.html +3 -3
  100. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +9 -9
  101. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +2 -2
  102. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +9 -9
  103. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +1 -1
  104. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
  105. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +2 -2
  106. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +9 -9
  107. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode-members.html +3 -3
  108. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +9 -9
  109. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +2 -2
  110. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +9 -9
  111. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode-members.html +3 -3
  112. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +9 -9
  113. package/SVF-doxygen/html/html/classSVF_1_1CHEdge-members.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1CHEdge.html +3 -3
  115. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +3 -3
  116. package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +4 -4
  117. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +24 -24
  118. package/SVF-doxygen/html/html/classSVF_1_1CHNode-members.html +3 -3
  119. package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +11 -11
  120. package/SVF-doxygen/html/html/classSVF_1_1CSC-members.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +11 -11
  122. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge-members.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +4 -4
  124. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge-members.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +4 -4
  126. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +3 -3
  127. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +9 -9
  128. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +2 -2
  131. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +11 -11
  132. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +3 -3
  133. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +9 -9
  134. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +3 -3
  135. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +9 -9
  136. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +4 -4
  137. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +12 -12
  138. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +2 -2
  139. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +9 -9
  140. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode-members.html +3 -3
  141. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +9 -9
  142. package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +2 -2
  143. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +3 -3
  145. package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge-members.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge.html +3 -3
  147. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +8 -8
  148. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +3 -3
  149. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +33 -33
  150. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
  152. package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge-members.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge.html +3 -3
  154. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +2 -2
  155. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +9 -9
  156. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +3 -3
  157. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +9 -9
  158. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge-members.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +3 -3
  160. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +6 -6
  161. package/SVF-doxygen/html/html/classSVF_1_1DCHNode-members.html +3 -3
  162. package/SVF-doxygen/html/html/classSVF_1_1DCHNode.html +11 -11
  163. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +4 -4
  164. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge-members.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +4 -4
  166. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +2 -2
  168. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +3 -3
  169. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +9 -9
  170. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +3 -3
  171. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +9 -9
  172. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode-members.html +3 -3
  173. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +9 -9
  174. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +3 -3
  175. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +9 -9
  176. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +13 -13
  177. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +37 -37
  178. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +1 -1
  179. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  180. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +13 -13
  181. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +98 -98
  182. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +18 -18
  183. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +13 -13
  184. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +37 -37
  185. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +3 -3
  186. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +9 -9
  187. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +3 -3
  188. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +9 -9
  189. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode-members.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +9 -9
  191. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode-members.html +3 -3
  192. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +9 -9
  193. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode-members.html +3 -3
  194. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +9 -9
  195. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +3 -3
  196. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +9 -9
  197. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge-members.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +7 -7
  199. package/SVF-doxygen/html/html/classSVF_1_1GenericNode-members.html +3 -3
  200. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +22 -22
  201. package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge-members.html +1 -1
  202. package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge.html +3 -3
  203. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +4 -4
  204. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +23 -23
  205. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +2 -2
  206. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +9 -9
  207. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +3 -3
  208. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +9 -9
  209. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +4 -4
  210. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +21 -21
  211. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode-members.html +3 -3
  212. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +9 -9
  213. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +1 -1
  214. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +4 -4
  215. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  216. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge-members.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +5 -5
  218. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode-members.html +3 -3
  219. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +9 -9
  220. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
  221. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +2 -2
  222. package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +5 -5
  223. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +25 -25
  224. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +4 -4
  226. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
  228. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode-members.html +3 -3
  229. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +9 -9
  230. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +3 -3
  231. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +9 -9
  232. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +3 -3
  233. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +9 -9
  234. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +4 -4
  236. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge-members.html +1 -1
  237. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +4 -4
  238. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +1 -1
  239. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode-members.html +3 -3
  241. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +9 -9
  242. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +1 -1
  243. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +4 -4
  244. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode-members.html +3 -3
  245. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +9 -9
  246. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode-members.html +3 -3
  247. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +9 -9
  248. package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge-members.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge.html +3 -3
  250. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +2 -2
  251. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +9 -9
  252. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +3 -3
  253. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +9 -9
  254. package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +12 -12
  255. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +120 -150
  256. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +1 -1
  257. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +5 -5
  258. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode-members.html +3 -3
  259. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +9 -9
  260. package/SVF-doxygen/html/html/classSVF_1_1MRVer-members.html +1 -1
  261. package/SVF-doxygen/html/html/classSVF_1_1MRVer.html +8 -8
  262. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode-members.html +3 -3
  263. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +9 -9
  264. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  265. package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +1 -1
  266. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +7 -7
  267. package/SVF-doxygen/html/html/classSVF_1_1MemRegion-members.html +1 -1
  268. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +8 -8
  269. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
  270. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +2 -2
  271. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +9 -9
  272. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -1
  273. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +2 -2
  274. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +11 -11
  275. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +3 -3
  276. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +17 -17
  277. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode-members.html +3 -3
  278. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +9 -9
  279. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +1 -1
  280. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +13 -13
  281. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +3 -3
  282. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +9 -9
  283. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile-members.html +1 -1
  284. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +8 -8
  285. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode-members.html +3 -3
  286. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +9 -9
  287. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +2 -2
  288. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +15 -15
  289. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +1 -1
  290. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +5 -5
  291. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode-members.html +3 -3
  292. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +9 -9
  293. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +7 -7
  294. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +2 -2
  295. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +9 -9
  296. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +10 -10
  298. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge-members.html +1 -1
  299. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +4 -4
  300. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge-members.html +1 -1
  301. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +4 -4
  302. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +3 -3
  303. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +9 -9
  304. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +1 -1
  305. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +4 -4
  306. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +2 -2
  307. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +11 -11
  308. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +3 -3
  309. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +9 -9
  310. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
  312. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
  313. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +3 -3
  314. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +2 -2
  315. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
  316. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
  317. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +8 -8
  318. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
  319. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +47 -46
  320. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +289 -237
  321. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +2 -2
  322. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +18 -18
  323. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
  324. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +9 -9
  325. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +3 -3
  326. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +12 -12
  327. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +11 -11
  328. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +31 -31
  329. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode-members.html +3 -3
  330. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +9 -9
  331. package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge-members.html +1 -1
  332. package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge.html +3 -3
  333. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +2 -2
  334. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +9 -9
  335. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +3 -3
  336. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +9 -9
  337. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  338. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +1 -1
  339. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +12 -12
  340. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge-members.html +1 -1
  341. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +3 -3
  342. package/SVF-doxygen/html/html/classSVF_1_1TCTNode-members.html +3 -3
  343. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +9 -9
  344. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +2 -2
  345. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +10 -10
  346. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +2 -2
  347. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +10 -10
  348. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +2 -2
  349. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
  350. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +1 -1
  351. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
  352. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +1 -1
  353. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
  354. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +1 -1
  355. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +4 -4
  356. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +11 -11
  357. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +31 -31
  358. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +6 -5
  359. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +2 -2
  360. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +9 -9
  361. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode-members.html +3 -3
  362. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +9 -9
  363. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge-members.html +1 -1
  364. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +5 -5
  365. package/SVF-doxygen/html/html/classSVF_1_1VFGNode-members.html +3 -3
  366. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +9 -9
  367. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +3 -3
  368. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +9 -9
  369. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +3 -3
  370. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +9 -9
  371. package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge-members.html +1 -1
  372. package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge.html +3 -3
  373. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +2 -2
  374. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +9 -9
  375. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +15 -15
  376. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +54 -54
  377. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +18 -18
  378. package/SVF-doxygen/html/html/functions_a.html +15 -12
  379. package/SVF-doxygen/html/html/functions_f.html +3 -3
  380. package/SVF-doxygen/html/html/functions_func.html +16 -13
  381. package/SVF-doxygen/html/html/functions_func_f.html +1 -1
  382. package/SVF-doxygen/html/html/functions_func_g.html +32 -35
  383. package/SVF-doxygen/html/html/functions_func_i.html +13 -10
  384. package/SVF-doxygen/html/html/functions_func_o.html +2 -2
  385. package/SVF-doxygen/html/html/functions_func_r.html +2 -2
  386. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  387. package/SVF-doxygen/html/html/functions_func_v.html +1 -1
  388. package/SVF-doxygen/html/html/functions_g.html +27 -30
  389. package/SVF-doxygen/html/html/functions_i.html +10 -7
  390. package/SVF-doxygen/html/html/functions_l.html +1 -1
  391. package/SVF-doxygen/html/html/functions_m.html +2 -2
  392. package/SVF-doxygen/html/html/functions_n.html +23 -23
  393. package/SVF-doxygen/html/html/functions_o.html +6 -6
  394. package/SVF-doxygen/html/html/functions_p.html +12 -12
  395. package/SVF-doxygen/html/html/functions_r.html +2 -2
  396. package/SVF-doxygen/html/html/functions_s.html +7 -7
  397. package/SVF-doxygen/html/html/functions_t.html +10 -10
  398. package/SVF-doxygen/html/html/functions_type_g.html +3 -3
  399. package/SVF-doxygen/html/html/functions_type_n.html +1 -1
  400. package/SVF-doxygen/html/html/functions_type_o.html +1 -1
  401. package/SVF-doxygen/html/html/functions_v.html +6 -6
  402. package/SVF-doxygen/html/html/functions_vars_a.html +1 -1
  403. package/SVF-doxygen/html/html/functions_vars_f.html +2 -2
  404. package/SVF-doxygen/html/html/functions_vars_m.html +2 -2
  405. package/SVF-doxygen/html/html/functions_vars_n.html +22 -22
  406. package/SVF-doxygen/html/html/functions_vars_t.html +3 -3
  407. package/SVF-doxygen/html/html/functions_vars_v.html +2 -2
  408. package/SVF-doxygen/html/html/namespaceSVF.html +22 -22
  409. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
  410. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +5 -5
  411. package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
  412. package/SVF-doxygen/html/html/namespacemembers_type_s.html +3 -3
  413. package/SVF-doxygen/html/html/search/all_1.js +5 -4
  414. package/SVF-doxygen/html/html/search/all_10.js +9 -9
  415. package/SVF-doxygen/html/html/search/all_12.js +2 -2
  416. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  417. package/SVF-doxygen/html/html/search/all_14.js +7 -7
  418. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  419. package/SVF-doxygen/html/html/search/all_16.js +5 -5
  420. package/SVF-doxygen/html/html/search/all_6.js +3 -3
  421. package/SVF-doxygen/html/html/search/all_7.js +16 -17
  422. package/SVF-doxygen/html/html/search/all_9.js +1 -0
  423. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  424. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  425. package/SVF-doxygen/html/html/search/all_e.js +19 -19
  426. package/SVF-doxygen/html/html/search/all_f.js +4 -4
  427. package/SVF-doxygen/html/html/search/functions_0.js +4 -3
  428. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  429. package/SVF-doxygen/html/html/search/functions_13.js +1 -1
  430. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  431. package/SVF-doxygen/html/html/search/functions_6.js +14 -15
  432. package/SVF-doxygen/html/html/search/functions_8.js +1 -0
  433. package/SVF-doxygen/html/html/search/functions_a.js +1 -1
  434. package/SVF-doxygen/html/html/search/functions_d.js +2 -2
  435. package/SVF-doxygen/html/html/search/functions_f.js +2 -2
  436. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  437. package/SVF-doxygen/html/html/search/typedefs_6.js +2 -2
  438. package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
  439. package/SVF-doxygen/html/html/search/typedefs_e.js +1 -1
  440. package/SVF-doxygen/html/html/search/variables_1.js +1 -1
  441. package/SVF-doxygen/html/html/search/variables_14.js +4 -4
  442. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  443. package/SVF-doxygen/html/html/search/variables_16.js +2 -2
  444. package/SVF-doxygen/html/html/search/variables_6.js +2 -2
  445. package/SVF-doxygen/html/html/search/variables_d.js +2 -2
  446. package/SVF-doxygen/html/html/search/variables_e.js +18 -18
  447. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +5 -5
  448. package/include/Graphs/CHG.h +6 -6
  449. package/include/Graphs/ConsGEdge.h +1 -1
  450. package/include/Graphs/ConsGNode.h +16 -16
  451. package/include/Graphs/GenericGraph.h +4 -4
  452. package/include/Graphs/IRGraph.h +5 -5
  453. package/include/Graphs/PTACallGraph.h +2 -2
  454. package/include/MSSA/MSSAMuChi.h +1 -1
  455. package/include/MSSA/MemRegion.h +2 -2
  456. package/include/MemoryModel/LocationSet.h +10 -48
  457. package/include/MemoryModel/PAGBuilderFromFile.h +1 -1
  458. package/include/MemoryModel/PointerAnalysis.h +1 -1
  459. package/include/MemoryModel/SVFIR.h +3 -3
  460. package/include/MemoryModel/SVFStatements.h +2 -2
  461. package/include/MemoryModel/SVFVariables.h +2 -2
  462. package/include/MemoryModel/SymbolTableInfo.h +3 -3
  463. package/include/SVF-FE/SVFIRBuilder.h +4 -1
  464. package/include/Util/IRAnnotator.h +2 -2
  465. package/include/Util/SVFBasicTypes.h +3 -3
  466. package/include/WPA/Andersen.h +11 -11
  467. package/include/WPA/AndersenSFR.h +1 -1
  468. package/include/WPA/CSC.h +1 -1
  469. package/include/WPA/FlowSensitive.h +13 -13
  470. package/include/WPA/VersionedFlowSensitive.h +2 -2
  471. package/lib/Graphs/ConsG.cpp +4 -4
  472. package/lib/Graphs/ICFG.cpp +1 -1
  473. package/lib/Graphs/SVFGStat.cpp +2 -2
  474. package/lib/MSSA/MemRegion.cpp +2 -2
  475. package/lib/MTA/MHP.cpp +2 -2
  476. package/lib/MemoryModel/LocationSet.cpp +49 -9
  477. package/lib/MemoryModel/PAGBuilderFromFile.cpp +3 -3
  478. package/lib/MemoryModel/SVFIR.cpp +1 -1
  479. package/lib/MemoryModel/SymbolTableInfo.cpp +3 -3
  480. package/lib/SVF-FE/CPPUtil.cpp +6 -6
  481. package/lib/SVF-FE/LLVMUtil.cpp +1 -1
  482. package/lib/SVF-FE/SVFIRBuilder.cpp +74 -37
  483. package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -1
  484. package/lib/Util/Conditions.cpp +1 -1
  485. package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
  486. package/lib/WPA/Andersen.cpp +13 -13
  487. package/lib/WPA/AndersenSFR.cpp +7 -7
  488. package/lib/WPA/CSC.cpp +5 -5
  489. package/lib/WPA/TypeAnalysis.cpp +3 -3
  490. package/package.json +1 -1
@@ -66,7 +66,7 @@ $(function() {
66
66
  <div class="title">VersionedFlowSensitive.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="VersionedFlowSensitive_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- VersionedFlowSensitive.h -- Versioned flow-sensitive pointer analysis --------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * VersionedFlowSensitiveAnalysis.h</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Created on: Jun 26, 2020</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * Author: Mohamad Barbar</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#ifndef VFS_H_</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#define VFS_H_</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFGOPT_8h.html">Graphs/SVFGOPT.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFGBuilder_8h.html">MSSA/SVFGBuilder.h</a>&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FlowSensitive_8h.html">WPA/FlowSensitive.h</a>&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="WPAFSSolver_8h.html">WPA/WPAFSSolver.h</a>&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;{</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">class </span>AndersenWaveDiff;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">class </span>SVFModule;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html"> 28</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1FlowSensitive.html">FlowSensitive</a></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aaee58f266762146e9fdc08ecfc326b29"> 30</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html">VersionedFlowSensitiveStat</a>;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a630eeca9c3344d24fa196f7de45bce18"> 33</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a630eeca9c3344d24fa196f7de45bce18">MeldVersion</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#af9a43f48b7d99cc6694f3ae3248fd8e0"> 36</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, Version&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af9a43f48b7d99cc6694f3ae3248fd8e0">ObjToVersionMap</a>;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a9ee5add09f2b446c6c6bcb84da0f75b3"> 37</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;VersionedVar, const DummyVersionPropSVFGNode *&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9ee5add09f2b446c6c6bcb84da0f75b3">VarToPropNodeMap</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aa689d29ead80303b1ef1e1a91f31c296"> 39</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;ObjToVersionMap&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aa689d29ead80303b1ef1e1a91f31c296">LocVersionMap</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#ad8108ee0b034877dea5e927d29ca0534"> 41</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, Map&lt;Version, std::vector&lt;Version&gt;</a>&gt;&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ad8108ee0b034877dea5e927d29ca0534">VersionRelianceMap</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a3d44a343a2e3f5d276fd1b069c92e112"> 44</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a3d44a343a2e3f5d276fd1b069c92e112">invalidVersion</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a59f3dd74ed8c3e2fc48b9353ba2452aa">atKey</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a>);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ab88b7a966177e620c552d507b3763e17">VersionedFlowSensitive</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *_pag, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> type = <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a81d3528fd082018e4345f0b026bf3584">initialize</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ad955fda89f4f749151a1bd14562b03f6">finalize</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a6e4964389f96667bd69354fd4a742720"> 59</a></span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a6e4964389f96667bd69354fd4a742720">PTAName</a>()<span class="keyword"> const override</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;VersionedFlowSensitive&quot;</span>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#afd1e0d4445e1e50e95f816e51f8de3c8"> 66</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#afd1e0d4445e1e50e95f816e51f8de3c8">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *)</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#abe1874f12ba05b4f453604c6d91598d6"> 70</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#abe1874f12ba05b4f453604c6d91598d6">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a> *pta)</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">getAnalysisTy</a>() == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#ae7cf16ad79c13104dd9981e6b984057e"> 77</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ae7cf16ad79c13104dd9981e6b984057e">createVFSWPA</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *_pag)</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ab88b7a966177e620c552d507b3763e17">VersionedFlowSensitive</a>(_pag);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>-&gt;<a class="code" href="classSVF_1_1FlowSensitive.html#a267f7198600dde3054feb40def7a6681">analyze</a>();</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a754c77fff88e8f415dc7a2096d1bffe2"> 89</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a754c77fff88e8f415dc7a2096d1bffe2">releaseVFSWPA</a>()</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>) <span class="keyword">delete</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a1d1f71c41cc3e81e636b58f4436e6d9b">processLoad</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadVFGNode.html">LoadSVFGNode</a>* load) <span class="keyword">override</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aa96f517740420665168e9b0c7d2347f1">processStore</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreVFGNode.html">StoreSVFGNode</a>* store) <span class="keyword">override</span>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a8cad0df2ae7df81dc2a966e694a0f7a2">processNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> n) <span class="keyword">override</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a18f24fe34af677e2a8c78ee89b89be1c">updateConnectedNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FlowSensitive.html#a69289c48fa91f850da90de080b9d26e5">SVFGEdgeSetTy</a>&amp; newEdges) <span class="keyword">override</span>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#ad44c735b25158d2c934bdd44eb404686"> 102</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ad44c735b25158d2c934bdd44eb404686">propAlongIndirectEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>*)<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aedd12e894fb2c17d2201f4049e5f3793">cluster</a>(<span class="keywordtype">void</span>) <span class="keyword">override</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a7d86bc18060c0114a783aa1c3a7e9dda">prelabel</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aaff594c78d93f7ad632d344e5c1c7f6a">meldLabel</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a1da960df51570b59161e380949d910c4">meld</a>(MeldVersion &amp;mv1, <span class="keyword">const</span> MeldVersion &amp;mv2);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a275095f60640d862034ad173af3371c3">removeAllIndirectSVFGEdges</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a7a98162b69de90f80ce853a6ff43af56">propagateVersion</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a7a98162b69de90f80ce853a6ff43af56">propagateVersion</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> vp, <span class="keywordtype">bool</span> time=<span class="keyword">true</span>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a8da4b9bd9d0c640a6857b4dc4991817c">buildIsStoreLoadMaps</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">isStore</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l) <span class="keyword">const</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a984a4f929a18f97bfefac0102088a7fd">isLoad</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l) <span class="keyword">const</span>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a3407cc82ef9806e26b79edb677979014">buildDeltaMaps</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">delta</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l) <span class="keyword">const</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a3fa5afa4f54e0828ec090fde07b1bfa2">deltaSource</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l) <span class="keyword">const</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a6b398d59fc276980dd2d6d48a8675068">getVersion</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> LocVersionMap &amp;lvm) <span class="keyword">const</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af93e65faae99459621ae45cf9d36005d">getConsume</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o) <span class="keyword">const</span>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a01a199e9fdb5759c7f78ee344dbc413c">getYield</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o) <span class="keyword">const</span>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#adf37ae1f6a07716bca6fbe1603b8a070">setVersion</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v, LocVersionMap &amp;lvm);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aabc0a5a7a31b8d880e019773ba960741">setConsume</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ac33c7cef2d1d143950820ea48e97e806">setYield</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; std::vector&lt;Version&gt; &amp;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ae83c62a01196991d116ef5c36cb51e31">getReliantVersions</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a3489def8e16e4d7c83d2c909d3287fc0">getStmtReliance</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9d5990a41e90558595d0ad0defceb4e8">dumpReliances</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a032acdcd8b84523a7ac2f0e46d21c62f">dumpLocVersionMaps</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a7565989371100f84ae5f9e2efa655fcb">dumpMeldVersion</a>(MeldVersion &amp;v);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a2e4e6a84cbfd553ad9cca8fdf9fd4a8d"> 182</a></span>&#160; LocVersionMap <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a2e4e6a84cbfd553ad9cca8fdf9fd4a8d">consume</a>;</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab"> 184</a></span>&#160; LocVersionMap <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab">yield</a>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a1dc6e3d4931b53e7e426c0f76d06aeb3"> 187</a></span>&#160; VersionRelianceMap <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a1dc6e3d4931b53e7e426c0f76d06aeb3">versionReliance</a>;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#af0859eb2a5b46c45aa4314e6e54f4438"> 189</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, Map&lt;Version, NodeBS&gt;</a>&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af0859eb2a5b46c45aa4314e6e54f4438">stmtReliance</a>;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#af14a4cbc0b990389d31b2f88f50ad8eb"> 193</a></span>&#160; VarToPropNodeMap <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af14a4cbc0b990389d31b2f88f50ad8eb">versionedVarToPropNode</a>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="comment">// Maps an object o to o&#39; if o is equivalent to o&#39; with respect to</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="comment">// versioning. Thus, we don&#39;t need to store the versions of o and look</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="comment">// up those for o&#39; instead.</span></div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a2d451d89f99a4bff828b682723df477f"> 198</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, NodeID&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a2d451d89f99a4bff828b682723df477f">equivalentObject</a>;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#adfefc0dfa4e7fb4d20fafeaf96a5fa67"> 202</a></span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;NodeID&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#adfefc0dfa4e7fb4d20fafeaf96a5fa67">vWorklist</a>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aaae8c6858593ed050dcf2c9220228e3e"> 204</a></span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;NodeID&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aaae8c6858593ed050dcf2c9220228e3e">prelabeledObjects</a>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07"> 207</a></span>&#160; <a class="code" href="classSVF_1_1VersionedPTData.html">BVDataPTAImpl::VersionedPTDataTy</a> *<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">vPtD</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a11ddfa1faebf56e74e6dcc53e16142e1"> 211</a></span>&#160; std::vector&lt;bool&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a11ddfa1faebf56e74e6dcc53e16142e1">deltaMap</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aee97e196225aaad29c0bd31d3ccbabf6"> 216</a></span>&#160; std::vector&lt;bool&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aee97e196225aaad29c0bd31d3ccbabf6">deltaSourceMap</a>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a18e25c3871d7cc1a6bb0592ceca90f88"> 219</a></span>&#160; std::vector&lt;bool&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a18e25c3871d7cc1a6bb0592ceca90f88">isStoreMap</a>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a6bb3db072db0b899f306b37f1146f83d"> 222</a></span>&#160; std::vector&lt;bool&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a6bb3db072db0b899f306b37f1146f83d">isLoadMap</a>;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a593177519a6bfab63dbb12dbc1ffbc20"> 226</a></span>&#160; <a class="code" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a593177519a6bfab63dbb12dbc1ffbc20">numPrelabeledNodes</a>; </div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a9235db71172dcdf277050f6ca5f344c6"> 227</a></span>&#160; <a class="code" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9235db71172dcdf277050f6ca5f344c6">numPrelabelVersions</a>; </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a77a5dd9578def9a8e2b48e8b90d9b996"> 229</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a77a5dd9578def9a8e2b48e8b90d9b996">prelabelingTime</a>; </div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a4a594c8d6ccaa27b5328c6388fdb258d"> 230</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a4a594c8d6ccaa27b5328c6388fdb258d">meldLabelingTime</a>; </div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451"> 231</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451">versionPropTime</a>; </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb"> 234</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html"> 236</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html">SCC</a></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html"> 239</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html">NodeData</a></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a823afbcf2b99a38367b7bc8be17ff2ba"> 241</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a823afbcf2b99a38367b7bc8be17ff2ba">index</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a6d66813dfb5338c22de62c100e951cf2"> 242</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a6d66813dfb5338c22de62c100e951cf2">lowlink</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a0eb5f6b9985b9b512a76537d55b092b5"> 243</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a0eb5f6b9985b9b512a76537d55b092b5">onStack</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; } <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#a3b4321bdd7924d05fd3b8506ec1c7c3c">NodeData</a>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#ad52f6f586168ca4ceaf85cca8dfab825">detectSCCs</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *vfs,</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a> *<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">object</span>,</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keyword">const</span> std::vector&lt;const SVFGNode *&gt; &amp;startingNodes,</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; std::vector&lt;int&gt; &amp;partOf,</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; std::vector&lt;const IndirectSVFGEdge *&gt; &amp;footprint);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">visit</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *vfs,</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">object</span>,</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; std::vector&lt;int&gt; &amp;partOf,</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; std::vector&lt;const IndirectSVFGEdge *&gt; &amp;footprint,</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; std::vector&lt;NodeData&gt; &amp;nodeData,</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; std::stack&lt;const SVFGNode *&gt; &amp;stack,</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordtype">int</span> &amp;<a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a823afbcf2b99a38367b7bc8be17ff2ba">index</a>,</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordtype">int</span> &amp;currentSCC,</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *v);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; };</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;};</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* VFS_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a9ee5add09f2b446c6c6bcb84da0f75b3"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a9ee5add09f2b446c6c6bcb84da0f75b3">SVF::VersionedFlowSensitive::VarToPropNodeMap</a></div><div class="ttdeci">Map&lt; VersionedVar, const DummyVersionPropSVFGNode * &gt; VarToPropNodeMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00037">VersionedFlowSensitive.h:37</a></div></div>
69
+ <a href="VersionedFlowSensitive_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- VersionedFlowSensitive.h -- Versioned flow-sensitive pointer analysis --------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * VersionedFlowSensitiveAnalysis.h</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Created on: Jun 26, 2020</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * Author: Mohamad Barbar</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#ifndef VFS_H_</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#define VFS_H_</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFGOPT_8h.html">Graphs/SVFGOPT.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFGBuilder_8h.html">MSSA/SVFGBuilder.h</a>&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FlowSensitive_8h.html">WPA/FlowSensitive.h</a>&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="WPAFSSolver_8h.html">WPA/WPAFSSolver.h</a>&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;{</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">class </span>AndersenWaveDiff;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">class </span>SVFModule;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html"> 28</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1FlowSensitive.html">FlowSensitive</a></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aaee58f266762146e9fdc08ecfc326b29"> 30</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1VersionedFlowSensitiveStat.html">VersionedFlowSensitiveStat</a>;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a630eeca9c3344d24fa196f7de45bce18"> 33</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CoreBitVector.html">CoreBitVector</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a630eeca9c3344d24fa196f7de45bce18">MeldVersion</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#af9a43f48b7d99cc6694f3ae3248fd8e0"> 36</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, Version&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af9a43f48b7d99cc6694f3ae3248fd8e0">ObjToVersionMap</a>;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a9ee5add09f2b446c6c6bcb84da0f75b3"> 37</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;VersionedVar, const DummyVersionPropSVFGNode *&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9ee5add09f2b446c6c6bcb84da0f75b3">VarToPropNodeMap</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aa689d29ead80303b1ef1e1a91f31c296"> 39</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;ObjToVersionMap&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aa689d29ead80303b1ef1e1a91f31c296">LocVersionMap</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#ad8108ee0b034877dea5e927d29ca0534"> 41</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, Map&lt;Version, std::vector&lt;Version&gt;</a>&gt;&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ad8108ee0b034877dea5e927d29ca0534">VersionRelianceMap</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a3d44a343a2e3f5d276fd1b069c92e112"> 44</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a3d44a343a2e3f5d276fd1b069c92e112">invalidVersion</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a59f3dd74ed8c3e2fc48b9353ba2452aa">atKey</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a>);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ab88b7a966177e620c552d507b3763e17">VersionedFlowSensitive</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *_pag, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> type = <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a81d3528fd082018e4345f0b026bf3584">initialize</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ad955fda89f4f749151a1bd14562b03f6">finalize</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a6e4964389f96667bd69354fd4a742720"> 59</a></span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a6e4964389f96667bd69354fd4a742720">PTAName</a>()<span class="keyword"> const override</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;VersionedFlowSensitive&quot;</span>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#afd1e0d4445e1e50e95f816e51f8de3c8"> 66</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#afd1e0d4445e1e50e95f816e51f8de3c8">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *)</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#abe1874f12ba05b4f453604c6d91598d6"> 70</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#abe1874f12ba05b4f453604c6d91598d6">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a> *pta)</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">getAnalysisTy</a>() == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#ae7cf16ad79c13104dd9981e6b984057e"> 77</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ae7cf16ad79c13104dd9981e6b984057e">createVFSWPA</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *_pag)</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ab88b7a966177e620c552d507b3763e17">VersionedFlowSensitive</a>(_pag);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>-&gt;<a class="code" href="classSVF_1_1FlowSensitive.html#a267f7198600dde3054feb40def7a6681">analyze</a>();</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a754c77fff88e8f415dc7a2096d1bffe2"> 89</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a754c77fff88e8f415dc7a2096d1bffe2">releaseVFSWPA</a>()</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>) <span class="keyword">delete</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a1d1f71c41cc3e81e636b58f4436e6d9b">processLoad</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadVFGNode.html">LoadSVFGNode</a>* load) <span class="keyword">override</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aa96f517740420665168e9b0c7d2347f1">processStore</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreVFGNode.html">StoreSVFGNode</a>* store) <span class="keyword">override</span>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a8cad0df2ae7df81dc2a966e694a0f7a2">processNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> n) <span class="keyword">override</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a18f24fe34af677e2a8c78ee89b89be1c">updateConnectedNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FlowSensitive.html#a69289c48fa91f850da90de080b9d26e5">SVFGEdgeSetTy</a>&amp; newEdges) <span class="keyword">override</span>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#ad44c735b25158d2c934bdd44eb404686"> 102</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ad44c735b25158d2c934bdd44eb404686">propAlongIndirectEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>*)<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aedd12e894fb2c17d2201f4049e5f3793">cluster</a>(<span class="keywordtype">void</span>) <span class="keyword">override</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a7d86bc18060c0114a783aa1c3a7e9dda">prelabel</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aaff594c78d93f7ad632d344e5c1c7f6a">meldLabel</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a1da960df51570b59161e380949d910c4">meld</a>(MeldVersion &amp;mv1, <span class="keyword">const</span> MeldVersion &amp;mv2);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a275095f60640d862034ad173af3371c3">removeAllIndirectSVFGEdges</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a7a98162b69de90f80ce853a6ff43af56">propagateVersion</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a7a98162b69de90f80ce853a6ff43af56">propagateVersion</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> vp, <span class="keywordtype">bool</span> time=<span class="keyword">true</span>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a8da4b9bd9d0c640a6857b4dc4991817c">buildIsStoreLoadMaps</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">isStore</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l) <span class="keyword">const</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a984a4f929a18f97bfefac0102088a7fd">isLoad</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l) <span class="keyword">const</span>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a3407cc82ef9806e26b79edb677979014">buildDeltaMaps</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">delta</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l) <span class="keyword">const</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a3fa5afa4f54e0828ec090fde07b1bfa2">deltaSource</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l) <span class="keyword">const</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a6b398d59fc276980dd2d6d48a8675068">getVersion</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> LocVersionMap &amp;lvm) <span class="keyword">const</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af93e65faae99459621ae45cf9d36005d">getConsume</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o) <span class="keyword">const</span>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a01a199e9fdb5759c7f78ee344dbc413c">getYield</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o) <span class="keyword">const</span>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#adf37ae1f6a07716bca6fbe1603b8a070">setVersion</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v, LocVersionMap &amp;lvm);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aabc0a5a7a31b8d880e019773ba960741">setConsume</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ac33c7cef2d1d143950820ea48e97e806">setYield</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> l, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; std::vector&lt;Version&gt; &amp;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ae83c62a01196991d116ef5c36cb51e31">getReliantVersions</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a3489def8e16e4d7c83d2c909d3287fc0">getStmtReliance</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9d5990a41e90558595d0ad0defceb4e8">dumpReliances</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a032acdcd8b84523a7ac2f0e46d21c62f">dumpLocVersionMaps</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a7565989371100f84ae5f9e2efa655fcb">dumpMeldVersion</a>(MeldVersion &amp;v);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a2e4e6a84cbfd553ad9cca8fdf9fd4a8d"> 182</a></span>&#160; LocVersionMap <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a2e4e6a84cbfd553ad9cca8fdf9fd4a8d">consume</a>;</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab"> 184</a></span>&#160; LocVersionMap <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab">yield</a>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a1dc6e3d4931b53e7e426c0f76d06aeb3"> 187</a></span>&#160; VersionRelianceMap <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a1dc6e3d4931b53e7e426c0f76d06aeb3">versionReliance</a>;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#af0859eb2a5b46c45aa4314e6e54f4438"> 189</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, Map&lt;Version, NodeBS&gt;</a>&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af0859eb2a5b46c45aa4314e6e54f4438">stmtReliance</a>;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#af14a4cbc0b990389d31b2f88f50ad8eb"> 193</a></span>&#160; VarToPropNodeMap <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af14a4cbc0b990389d31b2f88f50ad8eb">versionedVarToPropNode</a>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="comment">// Maps an object o to o&#39; if o is equivalent to o&#39; with respect to</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="comment">// versioning. Thus, we don&#39;t need to store the versions of o and look</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="comment">// up those for o&#39; instead.</span></div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a2d451d89f99a4bff828b682723df477f"> 198</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, NodeID&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a2d451d89f99a4bff828b682723df477f">equivalentObject</a>;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#adfefc0dfa4e7fb4d20fafeaf96a5fa67"> 202</a></span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;NodeID&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#adfefc0dfa4e7fb4d20fafeaf96a5fa67">vWorklist</a>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aaae8c6858593ed050dcf2c9220228e3e"> 204</a></span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;NodeID&gt;</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aaae8c6858593ed050dcf2c9220228e3e">prelabeledObjects</a>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07"> 207</a></span>&#160; <a class="code" href="classSVF_1_1VersionedPTData.html">BVDataPTAImpl::VersionedPTDataTy</a> *<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">vPtD</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a11ddfa1faebf56e74e6dcc53e16142e1"> 211</a></span>&#160; std::vector&lt;bool&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a11ddfa1faebf56e74e6dcc53e16142e1">deltaMap</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aee97e196225aaad29c0bd31d3ccbabf6"> 216</a></span>&#160; std::vector&lt;bool&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aee97e196225aaad29c0bd31d3ccbabf6">deltaSourceMap</a>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a18e25c3871d7cc1a6bb0592ceca90f88"> 219</a></span>&#160; std::vector&lt;bool&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a18e25c3871d7cc1a6bb0592ceca90f88">isStoreMap</a>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a6bb3db072db0b899f306b37f1146f83d"> 222</a></span>&#160; std::vector&lt;bool&gt; <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a6bb3db072db0b899f306b37f1146f83d">isLoadMap</a>;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aff5029fca933376be1fa374bec790da6"> 226</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aff5029fca933376be1fa374bec790da6">numPrelabeledNodes</a>; </div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a207ae4d1f2e0ccab8e36add0a45578af"> 227</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a207ae4d1f2e0ccab8e36add0a45578af">numPrelabelVersions</a>; </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a77a5dd9578def9a8e2b48e8b90d9b996"> 229</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a77a5dd9578def9a8e2b48e8b90d9b996">prelabelingTime</a>; </div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a4a594c8d6ccaa27b5328c6388fdb258d"> 230</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a4a594c8d6ccaa27b5328c6388fdb258d">meldLabelingTime</a>; </div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451"> 231</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451">versionPropTime</a>; </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb"> 234</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">vfspta</a>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html"> 236</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html">SCC</a></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html"> 239</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html">NodeData</a></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a823afbcf2b99a38367b7bc8be17ff2ba"> 241</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a823afbcf2b99a38367b7bc8be17ff2ba">index</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a6d66813dfb5338c22de62c100e951cf2"> 242</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a6d66813dfb5338c22de62c100e951cf2">lowlink</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a0eb5f6b9985b9b512a76537d55b092b5"> 243</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a0eb5f6b9985b9b512a76537d55b092b5">onStack</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; } <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#a3b4321bdd7924d05fd3b8506ec1c7c3c">NodeData</a>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#ad52f6f586168ca4ceaf85cca8dfab825">detectSCCs</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *vfs,</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a> *<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">object</span>,</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keyword">const</span> std::vector&lt;const SVFGNode *&gt; &amp;startingNodes,</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; std::vector&lt;int&gt; &amp;partOf,</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; std::vector&lt;const IndirectSVFGEdge *&gt; &amp;footprint);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">visit</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *vfs,</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">object</span>,</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; std::vector&lt;int&gt; &amp;partOf,</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; std::vector&lt;const IndirectSVFGEdge *&gt; &amp;footprint,</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; std::vector&lt;NodeData&gt; &amp;nodeData,</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; std::stack&lt;const SVFGNode *&gt; &amp;stack,</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordtype">int</span> &amp;<a class="code" href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a823afbcf2b99a38367b7bc8be17ff2ba">index</a>,</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordtype">int</span> &amp;currentSCC,</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *v);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; };</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;};</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* VFS_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a9ee5add09f2b446c6c6bcb84da0f75b3"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a9ee5add09f2b446c6c6bcb84da0f75b3">SVF::VersionedFlowSensitive::VarToPropNodeMap</a></div><div class="ttdeci">Map&lt; VersionedVar, const DummyVersionPropSVFGNode * &gt; VarToPropNodeMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00037">VersionedFlowSensitive.h:37</a></div></div>
70
70
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_abe1874f12ba05b4f453604c6d91598d6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#abe1874f12ba05b4f453604c6d91598d6">SVF::VersionedFlowSensitive::classof</a></div><div class="ttdeci">static bool classof(const PointerAnalysis *pta)</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00070">VersionedFlowSensitive.h:70</a></div></div>
71
71
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_aaff594c78d93f7ad632d344e5c1c7f6a"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aaff594c78d93f7ad632d344e5c1c7f6a">SVF::VersionedFlowSensitive::meldLabel</a></div><div class="ttdeci">void meldLabel(void)</div><div class="ttdoc">Meld label the prelabeled SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00120">VersionedFlowSensitive.cpp:120</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1VersionedPTData_html"><div class="ttname"><a href="classSVF_1_1VersionedPTData.html">SVF::VersionedPTData</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractPointsToDS_8h_source.html#l00235">AbstractPointsToDS.h:235</a></div></div>
@@ -75,7 +75,6 @@ $(function() {
75
75
  <div class="ttc" id="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData_html_a0eb5f6b9985b9b512a76537d55b092b5"><div class="ttname"><a href="structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a0eb5f6b9985b9b512a76537d55b092b5">SVF::VersionedFlowSensitive::SCC::NodeData::onStack</a></div><div class="ttdeci">bool onStack</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00243">VersionedFlowSensitive.h:243</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html">SVF::VersionedFlowSensitive</a></div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00028">VersionedFlowSensitive.h:28</a></div></div>
77
77
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a11ddfa1faebf56e74e6dcc53e16142e1"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a11ddfa1faebf56e74e6dcc53e16142e1">SVF::VersionedFlowSensitive::deltaMap</a></div><div class="ttdeci">std::vector&lt; bool &gt; deltaMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00211">VersionedFlowSensitive.h:211</a></div></div>
78
- <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a9235db71172dcdf277050f6ca5f344c6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a9235db71172dcdf277050f6ca5f344c6">SVF::VersionedFlowSensitive::numPrelabelVersions</a></div><div class="ttdeci">Size_t numPrelabelVersions</div><div class="ttdoc">Number of versions created during prelabeling. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00227">VersionedFlowSensitive.h:227</a></div></div>
79
78
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00250">FlowSensitive.h:250</a></div></div>
80
79
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a53b8a881400d7b353133c68295812efb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">SVF::VersionedFlowSensitive::vfspta</a></div><div class="ttdeci">static VersionedFlowSensitive * vfspta</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00234">VersionedFlowSensitive.h:234</a></div></div>
81
80
  <div class="ttc" id="classSVF_1_1FlowSensitive_html"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html">SVF::FlowSensitive</a></div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00049">FlowSensitive.h:49</a></div></div>
@@ -101,6 +100,8 @@ $(function() {
101
100
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac23f71c1307cda9cba44acc40059f0a3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">SVF::PointerAnalysis::getAnalysisTy</a></div><div class="ttdeci">PTATY getAnalysisTy() const</div><div class="ttdoc">Type of pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00192">PointerAnalysis.h:192</a></div></div>
102
101
  <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00100">SVFBasicTypes.h:100</a></div></div>
103
102
  <div class="ttc" id="namespaceSVF_html_a9ec7a8dc63411ee3724a25a59191be0c"><div class="ttname"><a href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">SVF::Version</a></div><div class="ttdeci">unsigned Version</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00128">SVFBasicTypes.h:128</a></div></div>
103
+ <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a207ae4d1f2e0ccab8e36add0a45578af"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a207ae4d1f2e0ccab8e36add0a45578af">SVF::VersionedFlowSensitive::numPrelabelVersions</a></div><div class="ttdeci">u32_t numPrelabelVersions</div><div class="ttdoc">Number of versions created during prelabeling. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00227">VersionedFlowSensitive.h:227</a></div></div>
104
+ <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
104
105
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_ad955fda89f4f749151a1bd14562b03f6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#ad955fda89f4f749151a1bd14562b03f6">SVF::VersionedFlowSensitive::finalize</a></div><div class="ttdeci">virtual void finalize() override</div><div class="ttdoc">Finalize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00065">VersionedFlowSensitive.cpp:65</a></div></div>
105
106
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_af0859eb2a5b46c45aa4314e6e54f4438"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af0859eb2a5b46c45aa4314e6e54f4438">SVF::VersionedFlowSensitive::stmtReliance</a></div><div class="ttdeci">Map&lt; NodeID, Map&lt; Version, NodeBS &gt; &gt; stmtReliance</div><div class="ttdoc">o x version -&gt; statement nodes which rely on that o/version. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00189">VersionedFlowSensitive.h:189</a></div></div>
106
107
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">SVF::PointerAnalysis::VFS_WPA</a></div><div class="ttdoc">Versioned sparse flow-sensitive WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00080">PointerAnalysis.h:80</a></div></div>
@@ -118,9 +119,9 @@ $(function() {
118
119
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a01a199e9fdb5759c7f78ee344dbc413c"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a01a199e9fdb5759c7f78ee344dbc413c">SVF::VersionedFlowSensitive::getYield</a></div><div class="ttdeci">Version getYield(const NodeID l, const NodeID o) const</div><div class="ttdoc">Returns the yielded version of o at l. If no such version exists, returns invalidVersion. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00779">VersionedFlowSensitive.cpp:779</a></div></div>
119
120
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_af9a43f48b7d99cc6694f3ae3248fd8e0"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af9a43f48b7d99cc6694f3ae3248fd8e0">SVF::VersionedFlowSensitive::ObjToVersionMap</a></div><div class="ttdeci">Map&lt; NodeID, Version &gt; ObjToVersionMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00036">VersionedFlowSensitive.h:36</a></div></div>
120
121
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a81d3528fd082018e4345f0b026bf3584"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a81d3528fd082018e4345f0b026bf3584">SVF::VersionedFlowSensitive::initialize</a></div><div class="ttdeci">virtual void initialize() override</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00045">VersionedFlowSensitive.cpp:45</a></div></div>
121
- <div class="ttc" id="namespaceSVF_html_a2db29836a72e8d86e9baa6d8d55d2978"><div class="ttname"><a href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">SVF::Size_t</a></div><div class="ttdeci">signed long Size_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00078">SVFBasicTypes.h:78</a></div></div>
122
122
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a630eeca9c3344d24fa196f7de45bce18"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a630eeca9c3344d24fa196f7de45bce18">SVF::VersionedFlowSensitive::MeldVersion</a></div><div class="ttdeci">CoreBitVector MeldVersion</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00033">VersionedFlowSensitive.h:33</a></div></div>
123
123
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_1_1SCC_html_ad52f6f586168ca4ceaf85cca8dfab825"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#ad52f6f586168ca4ceaf85cca8dfab825">SVF::VersionedFlowSensitive::SCC::detectSCCs</a></div><div class="ttdeci">static unsigned detectSCCs(VersionedFlowSensitive *vfs, const SVFG *svfg, const NodeID object, const std::vector&lt; const SVFGNode *&gt; &amp;startingNodes, std::vector&lt; int &gt; &amp;partOf, std::vector&lt; const IndirectSVFGEdge *&gt; &amp;footprint)</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00922">VersionedFlowSensitive.cpp:922</a></div></div>
124
+ <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_aff5029fca933376be1fa374bec790da6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aff5029fca933376be1fa374bec790da6">SVF::VersionedFlowSensitive::numPrelabeledNodes</a></div><div class="ttdeci">u32_t numPrelabeledNodes</div><div class="ttdoc">Additional statistics. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00226">VersionedFlowSensitive.h:226</a></div></div>
124
125
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_1_1SCC_html_a3b4321bdd7924d05fd3b8506ec1c7c3c"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#a3b4321bdd7924d05fd3b8506ec1c7c3c">SVF::VersionedFlowSensitive::SCC::NodeData</a></div><div class="ttdeci">struct SVF::VersionedFlowSensitive::SCC::NodeData NodeData</div></div>
125
126
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a3407cc82ef9806e26b79edb677979014"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a3407cc82ef9806e26b79edb677979014">SVF::VersionedFlowSensitive::buildDeltaMaps</a></div><div class="ttdeci">virtual void buildDeltaMaps(void)</div><div class="ttdoc">Fills in deltaMap and deltaSourceMap for the SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00439">VersionedFlowSensitive.cpp:439</a></div></div>
126
127
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a2e4e6a84cbfd553ad9cca8fdf9fd4a8d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a2e4e6a84cbfd553ad9cca8fdf9fd4a8d">SVF::VersionedFlowSensitive::consume</a></div><div class="ttdeci">LocVersionMap consume</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00182">VersionedFlowSensitive.h:182</a></div></div>
@@ -152,7 +153,6 @@ $(function() {
152
153
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_af93e65faae99459621ae45cf9d36005d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af93e65faae99459621ae45cf9d36005d">SVF::VersionedFlowSensitive::getConsume</a></div><div class="ttdeci">Version getConsume(const NodeID l, const NodeID o) const</div><div class="ttdoc">Returns the consumed version of o at l. If no such version exists, returns invalidVersion. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00774">VersionedFlowSensitive.cpp:774</a></div></div>
153
154
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_1_1SCC_html"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html">SVF::VersionedFlowSensitive::SCC</a></div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00236">VersionedFlowSensitive.h:236</a></div></div>
154
155
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a69289c48fa91f850da90de080b9d26e5"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a69289c48fa91f850da90de080b9d26e5">SVF::FlowSensitive::SVFGEdgeSetTy</a></div><div class="ttdeci">SVFG::SVFGEdgeSetTy SVFGEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00053">FlowSensitive.h:53</a></div></div>
155
- <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a593177519a6bfab63dbb12dbc1ffbc20"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a593177519a6bfab63dbb12dbc1ffbc20">SVF::VersionedFlowSensitive::numPrelabeledNodes</a></div><div class="ttdeci">Size_t numPrelabeledNodes</div><div class="ttdoc">Additional statistics. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00226">VersionedFlowSensitive.h:226</a></div></div>
156
156
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">SVF::PointerAnalysis::PTATY</a></div><div class="ttdeci">PTATY</div><div class="ttdoc">Pointer analysis type list. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00062">PointerAnalysis.h:62</a></div></div>
157
157
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_afd1e0d4445e1e50e95f816e51f8de3c8"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#afd1e0d4445e1e50e95f816e51f8de3c8">SVF::VersionedFlowSensitive::classof</a></div><div class="ttdeci">static bool classof(const VersionedFlowSensitive *)</div><div class="ttdoc">Methods to support type inquiry through isa, cast, and dyn_cast. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00066">VersionedFlowSensitive.h:66</a></div></div>
158
158
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
@@ -117,7 +117,7 @@ $(function() {
117
117
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
118
118
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRSVFGNode.html#a28fe266d0e4618aa4448aa218495a332">getPointsTo</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1MRSVFGNode.html">SVF::MRSVFGNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
119
119
  <tr><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html#a5ac80149696c243f77e4b4d25ad44898">getValue</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
120
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a363b90ab02cce2ebc3ede8e5b7cc141c">GNodeK</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"></td></tr>
120
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"></td></tr>
121
121
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
122
122
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#add6b6b3bd45a9460335c5db9eda821b8">hasIncomingEdge</a>(EdgeType *edge) const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
123
123
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -139,8 +139,8 @@ $(function() {
139
139
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a50219c203fb5a8a44fe22428699f26e7">OutEdgeBegin</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
140
140
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
141
141
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#ace88b6c7561f61f747ff08f61e2c18bc">OutEdgeEnd</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
142
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a56dff05dc2b3c5664d3b8fc1c6c927d5">removeIncomingEdge</a>(EdgeType *edge)</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
143
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a7c6192cb176bda3fad1819711302e468">removeOutgoingEdge</a>(EdgeType *edge)</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
142
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a95415bebc5986e548f91169b201a5225">removeIncomingEdge</a>(EdgeType *edge)</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
143
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a1880a691130279625e5be6af36e86fc1">removeOutgoingEdge</a>(EdgeType *edge)</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
144
144
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html#a367413b90de8a382190ffa9f0c742e01">RetPESet</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></td><td class="entry"></td></tr>
145
145
  <tr><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html#a9c95dd4f0e70ccc4a03282cdddba95de">setICFGNode</a>(const ICFGNode *node)</td><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
146
146
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a6df1bb8732d5402a6f40209ea8b803e8">Store</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></td><td class="entry"></td></tr>
@@ -118,7 +118,7 @@ Public Member Functions</h2></td></tr>
118
118
  <tr class="memdesc:a5ac80149696c243f77e4b4d25ad44898 inherit pub_methods_classSVF_1_1VFGNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the corresponding LLVM value, if possible, nullptr otherwise. <a href="classSVF_1_1VFGNode.html#a5ac80149696c243f77e4b4d25ad44898">More...</a><br /></td></tr>
119
119
  <tr class="separator:a5ac80149696c243f77e4b4d25ad44898 inherit pub_methods_classSVF_1_1VFGNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
120
120
  <tr class="inherit_header pub_methods_classSVF_1_1GenericNode"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1GenericNode')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td></tr>
121
- <tr class="memitem:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#acdca5baae3e9e4208a60322fec9c9d3f">GenericNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> i, <a class="el" href="classSVF_1_1GenericNode.html#a363b90ab02cce2ebc3ede8e5b7cc141c">GNodeK</a> k)</td></tr>
121
+ <tr class="memitem:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#acdca5baae3e9e4208a60322fec9c9d3f">GenericNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> i, <a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> k)</td></tr>
122
122
  <tr class="memdesc:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classSVF_1_1GenericNode.html#acdca5baae3e9e4208a60322fec9c9d3f">More...</a><br /></td></tr>
123
123
  <tr class="separator:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
124
124
  <tr class="memitem:a48a8d05b81b5c8099c3f3d1f2c4983a9 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a48a8d05b81b5c8099c3f3d1f2c4983a9">~GenericNode</a> ()</td></tr>
@@ -127,7 +127,7 @@ Public Member Functions</h2></td></tr>
127
127
  <tr class="memitem:ac3e55ef37aefb411ea4c87b1aa3b1895 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a> () const</td></tr>
128
128
  <tr class="memdesc:ac3e55ef37aefb411ea4c87b1aa3b1895 inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get ID. <a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">More...</a><br /></td></tr>
129
129
  <tr class="separator:ac3e55ef37aefb411ea4c87b1aa3b1895 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
130
- <tr class="memitem:a391e996d695b114530120723da1d003e inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericNode.html#a363b90ab02cce2ebc3ede8e5b7cc141c">GNodeK</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a> () const</td></tr>
130
+ <tr class="memitem:a391e996d695b114530120723da1d003e inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a> () const</td></tr>
131
131
  <tr class="memdesc:a391e996d695b114530120723da1d003e inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get node kind. <a href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">More...</a><br /></td></tr>
132
132
  <tr class="separator:a391e996d695b114530120723da1d003e inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
133
  <tr class="memitem:a2d9cd758d6f8c5189d9b90b74f43e009 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a> () const</td></tr>
@@ -178,10 +178,10 @@ Public Member Functions</h2></td></tr>
178
178
  <tr class="separator:a93d217b0c9fd8008a2989ca2b4f3fbfb inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
179
179
  <tr class="memitem:ae74283fbc788665296a69e56f334557b inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#ae74283fbc788665296a69e56f334557b">addOutgoingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *outEdge)</td></tr>
180
180
  <tr class="separator:ae74283fbc788665296a69e56f334557b inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
181
- <tr class="memitem:a56dff05dc2b3c5664d3b8fc1c6c927d5 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a56dff05dc2b3c5664d3b8fc1c6c927d5">removeIncomingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *edge)</td></tr>
182
- <tr class="separator:a56dff05dc2b3c5664d3b8fc1c6c927d5 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
183
- <tr class="memitem:a7c6192cb176bda3fad1819711302e468 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a7c6192cb176bda3fad1819711302e468">removeOutgoingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *edge)</td></tr>
184
- <tr class="separator:a7c6192cb176bda3fad1819711302e468 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
181
+ <tr class="memitem:a95415bebc5986e548f91169b201a5225 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a95415bebc5986e548f91169b201a5225">removeIncomingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *edge)</td></tr>
182
+ <tr class="separator:a95415bebc5986e548f91169b201a5225 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
183
+ <tr class="memitem:a1880a691130279625e5be6af36e86fc1 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a1880a691130279625e5be6af36e86fc1">removeOutgoingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *edge)</td></tr>
184
+ <tr class="separator:a1880a691130279625e5be6af36e86fc1 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
185
185
  <tr class="memitem:add6b6b3bd45a9460335c5db9eda821b8 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#add6b6b3bd45a9460335c5db9eda821b8">hasIncomingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *edge) const</td></tr>
186
186
  <tr class="memdesc:add6b6b3bd45a9460335c5db9eda821b8 inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find incoming and outgoing edges. <a href="classSVF_1_1GenericNode.html#add6b6b3bd45a9460335c5db9eda821b8">More...</a><br /></td></tr>
187
187
  <tr class="separator:add6b6b3bd45a9460335c5db9eda821b8 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -266,9 +266,9 @@ Additional Inherited Members</h2></td></tr>
266
266
  <tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
267
267
  <tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
268
268
  <tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
269
- <tr class="memitem:a363b90ab02cce2ebc3ede8e5b7cc141c inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a363b90ab02cce2ebc3ede8e5b7cc141c">GNodeK</a></td></tr>
270
- <tr class="memdesc:a363b90ab02cce2ebc3ede8e5b7cc141c inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a363b90ab02cce2ebc3ede8e5b7cc141c">More...</a><br /></td></tr>
271
- <tr class="separator:a363b90ab02cce2ebc3ede8e5b7cc141c inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
269
+ <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
270
+ <tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
271
+ <tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
272
272
  <tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
273
273
  <tr class="separator:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
274
274
  <tr class="memitem:a2f5471985dfe62bc9ded830a693ab153 inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef GEdgeSetTy::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a2f5471985dfe62bc9ded830a693ab153">iterator</a></td></tr>