svf-tools 1.0.351 → 1.0.355

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 (341) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
  7. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  8. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +44 -45
  9. package/SVF-doxygen/html/html/ConsG_8h_source.html +23 -23
  10. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +13 -11
  11. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +6 -6
  12. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
  15. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
  19. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +6 -4
  20. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
  23. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +33 -31
  24. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +17 -17
  25. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +30 -30
  26. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +26 -26
  27. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +10 -9
  29. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +4 -4
  30. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
  31. package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
  32. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +19 -8
  33. package/SVF-doxygen/html/html/LocationSet_8h_source.html +6 -6
  34. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  35. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +9 -9
  37. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  38. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  39. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  40. package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +17 -18
  43. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -8
  44. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +19 -22
  45. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
  46. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +7 -8
  47. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +8 -8
  48. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +8 -8
  50. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +8 -7
  52. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +34 -35
  53. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +45 -46
  54. package/SVF-doxygen/html/html/SVFIR_8h_source.html +40 -41
  55. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +21 -23
  56. package/SVF-doxygen/html/html/SVFStatements_8h.html +0 -4
  57. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +150 -156
  58. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +102 -102
  60. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  61. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  62. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +22 -22
  64. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +51 -50
  66. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +67 -62
  67. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +4 -4
  68. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +13 -13
  69. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
  70. package/SVF-doxygen/html/html/VFGNode_8h_source.html +16 -15
  71. package/SVF-doxygen/html/html/VFG_8cpp_source.html +50 -51
  72. package/SVF-doxygen/html/html/VFG_8h_source.html +35 -35
  73. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  74. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  75. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +1 -1
  76. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -6
  77. package/SVF-doxygen/html/html/WPAPass_8h_source.html +2 -2
  78. package/SVF-doxygen/html/html/annotated.html +100 -102
  79. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  80. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +24 -25
  81. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +17 -18
  82. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  83. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  84. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +5 -5
  85. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -5
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +4 -4
  87. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
  88. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +28 -29
  89. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +25 -30
  90. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.png +0 -0
  91. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +9 -9
  92. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +28 -29
  93. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +23 -24
  94. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  95. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +36 -35
  96. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +146 -93
  97. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode-members.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +8 -8
  99. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +2 -2
  100. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +27 -28
  101. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +24 -25
  102. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +11 -11
  103. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +12 -12
  104. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +15 -15
  106. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +30 -31
  107. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +24 -25
  108. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  109. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +95 -96
  111. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  112. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  113. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +20 -19
  114. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +24 -25
  115. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +17 -18
  116. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge-members.html +4 -4
  117. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +5 -5
  118. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
  120. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +3 -3
  121. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  122. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +6 -6
  123. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +13 -13
  124. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +13 -13
  125. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +14 -14
  126. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +8 -7
  128. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +78 -80
  129. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +7 -7
  130. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +63 -62
  131. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +21 -20
  133. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  134. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +42 -42
  136. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +58 -55
  137. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +170 -50
  138. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +39 -39
  141. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +3 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +7 -8
  143. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +2 -2
  146. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +27 -28
  147. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +17 -18
  148. package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +22 -21
  149. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +86 -32
  150. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +12 -12
  151. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +2 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder-members.html +2 -4
  153. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +11 -15
  154. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +87 -87
  156. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +6 -6
  157. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +33 -34
  159. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +32 -33
  160. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +5 -5
  161. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +6 -6
  162. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +98 -98
  163. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +18 -18
  164. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG-members.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +6 -6
  166. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +5 -5
  167. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  168. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +19 -20
  169. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +30 -31
  170. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +23 -24
  171. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +45 -50
  172. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +27 -28
  173. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +24 -25
  174. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +13 -13
  175. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +2 -2
  176. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
  177. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder-members.html +2 -4
  178. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +33 -79
  179. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +2 -2
  180. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +10 -10
  181. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +1 -1
  182. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +3 -3
  183. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +94 -95
  184. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +4 -4
  185. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +103 -97
  186. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +24 -25
  187. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +49 -53
  188. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  189. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +2 -4
  191. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +11 -15
  192. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +4 -4
  193. package/SVF-doxygen/html/html/classSVF_1_1StInfo-members.html +13 -6
  194. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +263 -37
  195. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +3 -3
  196. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +24 -25
  197. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +18 -19
  198. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +24 -24
  199. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +65 -64
  200. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +90 -63
  201. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +26 -27
  202. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +18 -19
  203. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +26 -27
  204. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +18 -19
  205. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
  206. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  207. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +21 -21
  208. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +29 -30
  209. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +30 -31
  210. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +2 -2
  211. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +79 -80
  212. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +11 -11
  213. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +13 -13
  214. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
  215. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +5 -5
  216. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +13 -14
  217. package/SVF-doxygen/html/html/classes.html +95 -93
  218. package/SVF-doxygen/html/html/functions_a.html +18 -17
  219. package/SVF-doxygen/html/html/functions_b.html +5 -11
  220. package/SVF-doxygen/html/html/functions_c.html +22 -22
  221. package/SVF-doxygen/html/html/functions_eval_g.html +2 -1
  222. package/SVF-doxygen/html/html/functions_eval_n.html +0 -1
  223. package/SVF-doxygen/html/html/functions_eval_v.html +0 -1
  224. package/SVF-doxygen/html/html/functions_f.html +20 -15
  225. package/SVF-doxygen/html/html/functions_func.html +19 -18
  226. package/SVF-doxygen/html/html/functions_func_b.html +0 -6
  227. package/SVF-doxygen/html/html/functions_func_c.html +20 -22
  228. package/SVF-doxygen/html/html/functions_func_g.html +37 -24
  229. package/SVF-doxygen/html/html/functions_func_i.html +7 -4
  230. package/SVF-doxygen/html/html/functions_func_n.html +0 -3
  231. package/SVF-doxygen/html/html/functions_func_o.html +3 -4
  232. package/SVF-doxygen/html/html/functions_func_s.html +4 -4
  233. package/SVF-doxygen/html/html/functions_func_t.html +0 -2
  234. package/SVF-doxygen/html/html/functions_func_v.html +0 -3
  235. package/SVF-doxygen/html/html/functions_g.html +37 -23
  236. package/SVF-doxygen/html/html/functions_i.html +9 -6
  237. package/SVF-doxygen/html/html/functions_l.html +5 -5
  238. package/SVF-doxygen/html/html/functions_m.html +1 -1
  239. package/SVF-doxygen/html/html/functions_n.html +0 -4
  240. package/SVF-doxygen/html/html/functions_o.html +12 -15
  241. package/SVF-doxygen/html/html/functions_p.html +12 -12
  242. package/SVF-doxygen/html/html/functions_r.html +9 -5
  243. package/SVF-doxygen/html/html/functions_s.html +24 -16
  244. package/SVF-doxygen/html/html/functions_t.html +10 -10
  245. package/SVF-doxygen/html/html/functions_type_s.html +3 -0
  246. package/SVF-doxygen/html/html/functions_v.html +10 -11
  247. package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
  248. package/SVF-doxygen/html/html/functions_vars_s.html +4 -1
  249. package/SVF-doxygen/html/html/functions_vars_v.html +3 -0
  250. package/SVF-doxygen/html/html/hierarchy.html +55 -57
  251. package/SVF-doxygen/html/html/namespaceSVF.html +0 -4
  252. package/SVF-doxygen/html/html/search/all_1.js +8 -8
  253. package/SVF-doxygen/html/html/search/all_10.js +7 -7
  254. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  255. package/SVF-doxygen/html/html/search/all_13.js +11 -9
  256. package/SVF-doxygen/html/html/search/all_14.js +7 -7
  257. package/SVF-doxygen/html/html/search/all_16.js +4 -4
  258. package/SVF-doxygen/html/html/search/all_2.js +1 -3
  259. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  260. package/SVF-doxygen/html/html/search/all_6.js +1 -0
  261. package/SVF-doxygen/html/html/search/all_7.js +10 -6
  262. package/SVF-doxygen/html/html/search/all_9.js +2 -1
  263. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  264. package/SVF-doxygen/html/html/search/all_d.js +3 -3
  265. package/SVF-doxygen/html/html/search/all_e.js +4 -5
  266. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  267. package/SVF-doxygen/html/html/search/classes_12.js +0 -1
  268. package/SVF-doxygen/html/html/search/classes_b.js +0 -1
  269. package/SVF-doxygen/html/html/search/enumvalues_12.js +1 -1
  270. package/SVF-doxygen/html/html/search/enumvalues_6.js +1 -1
  271. package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -1
  272. package/SVF-doxygen/html/html/search/functions_0.js +8 -8
  273. package/SVF-doxygen/html/html/search/functions_1.js +1 -3
  274. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  275. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  276. package/SVF-doxygen/html/html/search/functions_13.js +0 -1
  277. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  278. package/SVF-doxygen/html/html/search/functions_6.js +9 -5
  279. package/SVF-doxygen/html/html/search/functions_8.js +2 -1
  280. package/SVF-doxygen/html/html/search/functions_c.js +0 -1
  281. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  282. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -0
  283. package/SVF-doxygen/html/html/search/variables_13.js +2 -1
  284. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  285. package/SVF-doxygen/html/html/search/variables_16.js +1 -0
  286. package/SVF-doxygen/html/html/search/variables_6.js +1 -0
  287. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  288. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +16 -16
  289. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +16 -16
  290. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  291. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +18 -18
  292. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +3 -3
  293. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  294. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -2
  295. package/include/DDA/DDAVFSolver.h +1 -1
  296. package/include/Graphs/ConsG.h +2 -2
  297. package/include/Graphs/ConsGEdge.h +1 -1
  298. package/include/Graphs/VFG.h +2 -2
  299. package/include/Graphs/VFGNode.h +1 -1
  300. package/include/MSSA/SVFGBuilder.h +0 -2
  301. package/include/MemoryModel/LocationSet.h +4 -0
  302. package/include/MemoryModel/SVFIR.h +3 -3
  303. package/include/MemoryModel/SVFStatements.h +40 -97
  304. package/include/MemoryModel/SVFVariables.h +9 -6
  305. package/include/MemoryModel/SymbolTableInfo.h +27 -6
  306. package/include/SVF-FE/DCHG.h +1 -1
  307. package/include/SVF-FE/SVFIRBuilder.h +6 -6
  308. package/include/Util/IRAnnotator.h +1 -1
  309. package/lib/DDA/ContextDDA.cpp +4 -5
  310. package/lib/DDA/DDAClient.cpp +6 -6
  311. package/lib/DDA/DDAStat.cpp +1 -1
  312. package/lib/DDA/FlowDDA.cpp +4 -5
  313. package/lib/Graphs/ConsG.cpp +26 -31
  314. package/lib/Graphs/ICFG.cpp +4 -0
  315. package/lib/Graphs/SVFG.cpp +2 -2
  316. package/lib/Graphs/VFG.cpp +36 -43
  317. package/lib/MSSA/SVFGBuilder.cpp +4 -11
  318. package/lib/MTA/MTAAnnotator.cpp +3 -3
  319. package/lib/MemoryModel/LocationSet.cpp +69 -7
  320. package/lib/MemoryModel/PointerAnalysis.cpp +0 -6
  321. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  322. package/lib/MemoryModel/SVFIR.cpp +27 -35
  323. package/lib/MemoryModel/SVFStatements.cpp +0 -22
  324. package/lib/MemoryModel/SVFVariables.cpp +1 -1
  325. package/lib/MemoryModel/SymbolTableInfo.cpp +24 -17
  326. package/lib/SABER/SrcSnkDDA.cpp +2 -2
  327. package/lib/SVF-FE/DCHG.cpp +1 -1
  328. package/lib/SVF-FE/Graph2Json.cpp +24 -27
  329. package/lib/SVF-FE/SVFIRBuilder.cpp +9 -4
  330. package/lib/Util/Options.cpp +1 -1
  331. package/lib/Util/PTAStat.cpp +9 -9
  332. package/lib/Util/TypeBasedHeapCloning.cpp +5 -5
  333. package/lib/WPA/AndersenSFR.cpp +2 -2
  334. package/lib/WPA/AndersenStat.cpp +2 -2
  335. package/lib/WPA/CSC.cpp +2 -2
  336. package/lib/WPA/FlowSensitive.cpp +7 -12
  337. package/lib/WPA/FlowSensitiveStat.cpp +2 -2
  338. package/lib/WPA/FlowSensitiveTBHC.cpp +6 -9
  339. package/lib/WPA/WPAPass.cpp +1 -9
  340. package/package.json +1 -1
  341. package/tools/Example/svf-ex.cpp +1 -1
@@ -175,7 +175,7 @@ Private Attributes</h2></td></tr>
175
175
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
176
176
  <div class="textblock"><p>Type Info of an abstract memory object </p>
177
177
 
178
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00580">580</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
178
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00601">601</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
179
179
  </div><h2 class="groupheader">Member Enumeration Documentation</h2>
180
180
  <a id="a91b41b7ade5871362b77a2ef566b2830"></a>
181
181
  <h2 class="memtitle"><span class="permalink"><a href="#a91b41b7ade5871362b77a2ef566b2830">&#9670;&nbsp;</a></span>MEMTYPE</h2>
@@ -203,20 +203,20 @@ Private Attributes</h2></td></tr>
203
203
  <tr><td class="fieldname"><a id="a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"></a>HASPTR_OBJ&#160;</td><td class="fielddoc"></td></tr>
204
204
  </table>
205
205
 
206
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00584">584</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
207
- <div class="fragment"><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; {</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">FUNCTION_OBJ</a> = 0x1, <span class="comment">// object is a function</span></div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b">GLOBVAR_OBJ</a> = 0x2, <span class="comment">// object is a global variable</span></div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">STATIC_OBJ</a> = 0x4, <span class="comment">// object is a static variable allocated before main</span></div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">STACK_OBJ</a> = 0x8, <span class="comment">// object is a stack variable</span></div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">HEAP_OBJ</a> = 0x10, <span class="comment">// object is a heap variable</span></div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">VAR_STRUCT_OBJ</a> = 0x20, <span class="comment">// object contains struct</span></div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">VAR_ARRAY_OBJ</a> = 0x40, <span class="comment">// object contains array</span></div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">CONST_STRUCT_OBJ</a> = 0x80, <span class="comment">// constant struct</span></div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">CONST_ARRAY_OBJ</a> = 0x100, <span class="comment">// constant array</span></div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c">CONST_GLOBAL_OBJ</a> = 0x200, <span class="comment">// global constant object</span></div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">CONST_DATA</a> = 0x400, <span class="comment">// constant object str e.g. 5, 10, 1.0</span></div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_OBJ</a> = 0x800 <span class="comment">// the object stores a pointer address</span></div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; } <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830">MEMTYPE</a>;</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">SVF::ObjTypeInfo::CONST_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00594">SymbolTableInfo.h:594</a></div></div>
208
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">SVF::ObjTypeInfo::CONST_DATA</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00596">SymbolTableInfo.h:596</a></div></div>
209
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">SVF::ObjTypeInfo::HEAP_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00590">SymbolTableInfo.h:590</a></div></div>
210
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830">SVF::ObjTypeInfo::MEMTYPE</a></div><div class="ttdeci">MEMTYPE</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00584">SymbolTableInfo.h:584</a></div></div>
211
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">SVF::ObjTypeInfo::VAR_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00592">SymbolTableInfo.h:592</a></div></div>
212
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b">SVF::ObjTypeInfo::GLOBVAR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00587">SymbolTableInfo.h:587</a></div></div>
213
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">SVF::ObjTypeInfo::HASPTR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00597">SymbolTableInfo.h:597</a></div></div>
214
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c">SVF::ObjTypeInfo::CONST_GLOBAL_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00595">SymbolTableInfo.h:595</a></div></div>
215
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">SVF::ObjTypeInfo::STACK_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00589">SymbolTableInfo.h:589</a></div></div>
216
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">SVF::ObjTypeInfo::FUNCTION_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00586">SymbolTableInfo.h:586</a></div></div>
217
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">SVF::ObjTypeInfo::STATIC_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00588">SymbolTableInfo.h:588</a></div></div>
218
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">SVF::ObjTypeInfo::VAR_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00591">SymbolTableInfo.h:591</a></div></div>
219
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">SVF::ObjTypeInfo::CONST_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00593">SymbolTableInfo.h:593</a></div></div>
206
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00605">605</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
207
+ <div class="fragment"><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; {</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">FUNCTION_OBJ</a> = 0x1, <span class="comment">// object is a function</span></div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b">GLOBVAR_OBJ</a> = 0x2, <span class="comment">// object is a global variable</span></div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">STATIC_OBJ</a> = 0x4, <span class="comment">// object is a static variable allocated before main</span></div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">STACK_OBJ</a> = 0x8, <span class="comment">// object is a stack variable</span></div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">HEAP_OBJ</a> = 0x10, <span class="comment">// object is a heap variable</span></div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">VAR_STRUCT_OBJ</a> = 0x20, <span class="comment">// object contains struct</span></div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">VAR_ARRAY_OBJ</a> = 0x40, <span class="comment">// object contains array</span></div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">CONST_STRUCT_OBJ</a> = 0x80, <span class="comment">// constant struct</span></div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">CONST_ARRAY_OBJ</a> = 0x100, <span class="comment">// constant array</span></div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c">CONST_GLOBAL_OBJ</a> = 0x200, <span class="comment">// global constant object</span></div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">CONST_DATA</a> = 0x400, <span class="comment">// constant object str e.g. 5, 10, 1.0</span></div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_OBJ</a> = 0x800 <span class="comment">// the object stores a pointer address</span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; } <a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830">MEMTYPE</a>;</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">SVF::ObjTypeInfo::CONST_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00615">SymbolTableInfo.h:615</a></div></div>
208
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">SVF::ObjTypeInfo::CONST_DATA</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00617">SymbolTableInfo.h:617</a></div></div>
209
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">SVF::ObjTypeInfo::HEAP_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00611">SymbolTableInfo.h:611</a></div></div>
210
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830">SVF::ObjTypeInfo::MEMTYPE</a></div><div class="ttdeci">MEMTYPE</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00605">SymbolTableInfo.h:605</a></div></div>
211
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">SVF::ObjTypeInfo::VAR_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00613">SymbolTableInfo.h:613</a></div></div>
212
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b">SVF::ObjTypeInfo::GLOBVAR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00608">SymbolTableInfo.h:608</a></div></div>
213
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">SVF::ObjTypeInfo::HASPTR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00618">SymbolTableInfo.h:618</a></div></div>
214
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c">SVF::ObjTypeInfo::CONST_GLOBAL_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00616">SymbolTableInfo.h:616</a></div></div>
215
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">SVF::ObjTypeInfo::STACK_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00610">SymbolTableInfo.h:610</a></div></div>
216
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">SVF::ObjTypeInfo::FUNCTION_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00607">SymbolTableInfo.h:607</a></div></div>
217
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">SVF::ObjTypeInfo::STATIC_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00609">SymbolTableInfo.h:609</a></div></div>
218
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">SVF::ObjTypeInfo::VAR_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00612">SymbolTableInfo.h:612</a></div></div>
219
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">SVF::ObjTypeInfo::CONST_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00614">SymbolTableInfo.h:614</a></div></div>
220
220
  </div><!-- fragment -->
221
221
  </div>
222
222
  </div>
@@ -263,10 +263,10 @@ Private Attributes</h2></td></tr>
263
263
 
264
264
  <p>Constructors. </p>
265
265
 
266
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00612">612</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
267
- <div class="fragment"><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; :</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>(t), <a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a>(0), <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a>(max)</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; {</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a5ff63eb0654acd152f7d6c18618ee94a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">SVF::ObjTypeInfo::maxOffsetLimit</a></div><div class="ttdeci">u32_t maxOffsetLimit</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00608">SymbolTableInfo.h:608</a></div></div>
268
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a6e7780d4e2639c089ff6c853d8d78a4d"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">SVF::ObjTypeInfo::type</a></div><div class="ttdeci">const Type * type</div><div class="ttdoc">LLVM type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00602">SymbolTableInfo.h:602</a></div></div>
269
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_abf6bbcccf73bfcd5b950803d349c4eb1"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">SVF::ObjTypeInfo::flags</a></div><div class="ttdeci">u32_t flags</div><div class="ttdoc">Type flags. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00604">SymbolTableInfo.h:604</a></div></div>
266
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00633">633</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
267
+ <div class="fragment"><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; :</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>(t), <a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a>(0), <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a>(max)</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; {</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a5ff63eb0654acd152f7d6c18618ee94a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">SVF::ObjTypeInfo::maxOffsetLimit</a></div><div class="ttdeci">u32_t maxOffsetLimit</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00629">SymbolTableInfo.h:629</a></div></div>
268
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a6e7780d4e2639c089ff6c853d8d78a4d"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">SVF::ObjTypeInfo::type</a></div><div class="ttdeci">const Type * type</div><div class="ttdoc">LLVM type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00623">SymbolTableInfo.h:623</a></div></div>
269
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_abf6bbcccf73bfcd5b950803d349c4eb1"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">SVF::ObjTypeInfo::flags</a></div><div class="ttdeci">u32_t flags</div><div class="ttdoc">Type flags. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00625">SymbolTableInfo.h:625</a></div></div>
270
270
  </div><!-- fragment -->
271
271
  </div>
272
272
  </div>
@@ -306,10 +306,10 @@ Private Attributes</h2></td></tr>
306
306
 
307
307
  <p>Constructor. </p>
308
308
 
309
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00617">617</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
310
- <div class="fragment"><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; : <a class="code" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>(t), <a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a>(0), <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a>(max)</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; {</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a5ff63eb0654acd152f7d6c18618ee94a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">SVF::ObjTypeInfo::maxOffsetLimit</a></div><div class="ttdeci">u32_t maxOffsetLimit</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00608">SymbolTableInfo.h:608</a></div></div>
311
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a6e7780d4e2639c089ff6c853d8d78a4d"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">SVF::ObjTypeInfo::type</a></div><div class="ttdeci">const Type * type</div><div class="ttdoc">LLVM type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00602">SymbolTableInfo.h:602</a></div></div>
312
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_abf6bbcccf73bfcd5b950803d349c4eb1"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">SVF::ObjTypeInfo::flags</a></div><div class="ttdeci">u32_t flags</div><div class="ttdoc">Type flags. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00604">SymbolTableInfo.h:604</a></div></div>
309
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00638">638</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
310
+ <div class="fragment"><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; : <a class="code" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>(t), <a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a>(0), <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a>(max)</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; {</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a5ff63eb0654acd152f7d6c18618ee94a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">SVF::ObjTypeInfo::maxOffsetLimit</a></div><div class="ttdeci">u32_t maxOffsetLimit</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00629">SymbolTableInfo.h:629</a></div></div>
311
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a6e7780d4e2639c089ff6c853d8d78a4d"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">SVF::ObjTypeInfo::type</a></div><div class="ttdeci">const Type * type</div><div class="ttdoc">LLVM type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00623">SymbolTableInfo.h:623</a></div></div>
312
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_abf6bbcccf73bfcd5b950803d349c4eb1"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">SVF::ObjTypeInfo::flags</a></div><div class="ttdeci">u32_t flags</div><div class="ttdoc">Type flags. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00625">SymbolTableInfo.h:625</a></div></div>
313
313
  </div><!-- fragment -->
314
314
  </div>
315
315
  </div>
@@ -338,8 +338,8 @@ Private Attributes</h2></td></tr>
338
338
 
339
339
  <p>Destructor. </p>
340
340
 
341
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00622">622</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
342
- <div class="fragment"><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; {</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; }</div></div><!-- fragment -->
341
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00643">643</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
342
+ <div class="fragment"><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; {</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; }</div></div><!-- fragment -->
343
343
  </div>
344
344
  </div>
345
345
  <h2 class="groupheader">Member Function Documentation</h2>
@@ -362,10 +362,10 @@ Private Attributes</h2></td></tr>
362
362
  <p>Analyse types of heap and static objects. </p>
363
363
  <p>Analyse types of heap and static objects </p>
364
364
 
365
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00516">516</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
366
- <div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;{</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="comment">// TODO: Heap and static objects are considered as pointers right now.</span></div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="comment">// Refine this function to get more details about heap and static objects.</span></div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">HEAP_OBJ</a>);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_OBJ</a>);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;}</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">SVF::ObjTypeInfo::HEAP_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00590">SymbolTableInfo.h:590</a></div></div>
367
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_ad6fb2bfae3d4b73a6821a87106f65f49"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">SVF::ObjTypeInfo::setFlag</a></div><div class="ttdeci">void setFlag(MEMTYPE mask)</div><div class="ttdoc">Flag for this object type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00653">SymbolTableInfo.h:653</a></div></div>
368
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">SVF::ObjTypeInfo::HASPTR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00597">SymbolTableInfo.h:597</a></div></div>
365
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00523">523</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
366
+ <div class="fragment"><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;{</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="comment">// TODO: Heap and static objects are considered as pointers right now.</span></div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="comment">// Refine this function to get more details about heap and static objects.</span></div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">HEAP_OBJ</a>);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_OBJ</a>);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;}</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">SVF::ObjTypeInfo::HEAP_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00611">SymbolTableInfo.h:611</a></div></div>
367
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_ad6fb2bfae3d4b73a6821a87106f65f49"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">SVF::ObjTypeInfo::setFlag</a></div><div class="ttdeci">void setFlag(MEMTYPE mask)</div><div class="ttdoc">Flag for this object type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00674">SymbolTableInfo.h:674</a></div></div>
368
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">SVF::ObjTypeInfo::HASPTR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00618">SymbolTableInfo.h:618</a></div></div>
369
369
  </div><!-- fragment -->
370
370
  </div>
371
371
  </div>
@@ -388,10 +388,10 @@ Private Attributes</h2></td></tr>
388
388
  <p>Analyse types of heap and static objects. </p>
389
389
  <p>Analyse types of heap and static objects </p>
390
390
 
391
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00527">527</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
392
- <div class="fragment"><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;{</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="comment">// TODO: Heap and static objects are considered as pointers right now.</span></div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="comment">// Refine this function to get more details about heap and static objects.</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">STATIC_OBJ</a>);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_OBJ</a>);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;}</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_ad6fb2bfae3d4b73a6821a87106f65f49"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">SVF::ObjTypeInfo::setFlag</a></div><div class="ttdeci">void setFlag(MEMTYPE mask)</div><div class="ttdoc">Flag for this object type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00653">SymbolTableInfo.h:653</a></div></div>
393
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">SVF::ObjTypeInfo::HASPTR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00597">SymbolTableInfo.h:597</a></div></div>
394
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">SVF::ObjTypeInfo::STATIC_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00588">SymbolTableInfo.h:588</a></div></div>
391
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00534">534</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
392
+ <div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="comment">// TODO: Heap and static objects are considered as pointers right now.</span></div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="comment">// Refine this function to get more details about heap and static objects.</span></div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">STATIC_OBJ</a>);</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_OBJ</a>);</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;}</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_ad6fb2bfae3d4b73a6821a87106f65f49"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">SVF::ObjTypeInfo::setFlag</a></div><div class="ttdeci">void setFlag(MEMTYPE mask)</div><div class="ttdoc">Flag for this object type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00674">SymbolTableInfo.h:674</a></div></div>
393
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">SVF::ObjTypeInfo::HASPTR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00618">SymbolTableInfo.h:618</a></div></div>
394
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">SVF::ObjTypeInfo::STATIC_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00609">SymbolTableInfo.h:609</a></div></div>
395
395
  </div><!-- fragment -->
396
396
  </div>
397
397
  </div>
@@ -420,8 +420,8 @@ Private Attributes</h2></td></tr>
420
420
 
421
421
  <p>Get max field offset limit. </p>
422
422
 
423
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00640">640</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
424
- <div class="fragment"><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; {</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a>;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a5ff63eb0654acd152f7d6c18618ee94a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">SVF::ObjTypeInfo::maxOffsetLimit</a></div><div class="ttdeci">u32_t maxOffsetLimit</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00608">SymbolTableInfo.h:608</a></div></div>
423
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00661">661</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
424
+ <div class="fragment"><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; {</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a>;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a5ff63eb0654acd152f7d6c18618ee94a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">SVF::ObjTypeInfo::maxOffsetLimit</a></div><div class="ttdeci">u32_t maxOffsetLimit</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00629">SymbolTableInfo.h:629</a></div></div>
425
425
  </div><!-- fragment -->
426
426
  </div>
427
427
  </div>
@@ -450,8 +450,8 @@ Private Attributes</h2></td></tr>
450
450
 
451
451
  <p>Get LLVM type. </p>
452
452
 
453
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00634">634</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
454
- <div class="fragment"><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; {</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a6e7780d4e2639c089ff6c853d8d78a4d"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">SVF::ObjTypeInfo::type</a></div><div class="ttdeci">const Type * type</div><div class="ttdoc">LLVM type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00602">SymbolTableInfo.h:602</a></div></div>
453
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00655">655</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
454
+ <div class="fragment"><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; {</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a6e7780d4e2639c089ff6c853d8d78a4d"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">SVF::ObjTypeInfo::type</a></div><div class="ttdeci">const Type * type</div><div class="ttdoc">LLVM type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00623">SymbolTableInfo.h:623</a></div></div>
455
455
  </div><!-- fragment -->
456
456
  </div>
457
457
  </div>
@@ -479,8 +479,8 @@ Private Attributes</h2></td></tr>
479
479
  </table>
480
480
  </div><div class="memdoc">
481
481
 
482
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00657">657</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
483
- <div class="fragment"><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; {</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a> &amp; mask) == mask;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_abf6bbcccf73bfcd5b950803d349c4eb1"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">SVF::ObjTypeInfo::flags</a></div><div class="ttdeci">u32_t flags</div><div class="ttdoc">Type flags. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00604">SymbolTableInfo.h:604</a></div></div>
482
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00678">678</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
483
+ <div class="fragment"><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; {</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a> &amp; mask) == mask;</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_abf6bbcccf73bfcd5b950803d349c4eb1"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">SVF::ObjTypeInfo::flags</a></div><div class="ttdeci">u32_t flags</div><div class="ttdoc">Type flags. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00625">SymbolTableInfo.h:625</a></div></div>
484
484
  </div><!-- fragment -->
485
485
  </div>
486
486
  </div>
@@ -507,9 +507,9 @@ Private Attributes</h2></td></tr>
507
507
  </table>
508
508
  </div><div class="memdoc">
509
509
 
510
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00722">722</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
511
- <div class="fragment"><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; {</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_OBJ</a>);</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
512
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">SVF::ObjTypeInfo::HASPTR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00597">SymbolTableInfo.h:597</a></div></div>
510
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00743">743</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
511
+ <div class="fragment"><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; {</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_OBJ</a>);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
512
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">SVF::ObjTypeInfo::HASPTR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00618">SymbolTableInfo.h:618</a></div></div>
513
513
  </div><!-- fragment -->
514
514
  </div>
515
515
  </div>
@@ -536,10 +536,10 @@ Private Attributes</h2></td></tr>
536
536
  </table>
537
537
  </div><div class="memdoc">
538
538
 
539
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00710">710</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
540
- <div class="fragment"><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; {</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">VAR_ARRAY_OBJ</a>) || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">CONST_ARRAY_OBJ</a>);</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
541
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">SVF::ObjTypeInfo::CONST_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00594">SymbolTableInfo.h:594</a></div></div>
542
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">SVF::ObjTypeInfo::VAR_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00592">SymbolTableInfo.h:592</a></div></div>
539
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00731">731</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
540
+ <div class="fragment"><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; {</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">VAR_ARRAY_OBJ</a>) || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">CONST_ARRAY_OBJ</a>);</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
541
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">SVF::ObjTypeInfo::CONST_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00615">SymbolTableInfo.h:615</a></div></div>
542
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">SVF::ObjTypeInfo::VAR_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00613">SymbolTableInfo.h:613</a></div></div>
543
543
  </div><!-- fragment -->
544
544
  </div>
545
545
  </div>
@@ -566,9 +566,9 @@ Private Attributes</h2></td></tr>
566
566
  </table>
567
567
  </div><div class="memdoc">
568
568
 
569
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00706">706</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
570
- <div class="fragment"><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; {</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">CONST_ARRAY_OBJ</a>);</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
571
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">SVF::ObjTypeInfo::CONST_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00594">SymbolTableInfo.h:594</a></div></div>
569
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00727">727</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
570
+ <div class="fragment"><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">CONST_ARRAY_OBJ</a>);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
571
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">SVF::ObjTypeInfo::CONST_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00615">SymbolTableInfo.h:615</a></div></div>
572
572
  </div><!-- fragment -->
573
573
  </div>
574
574
  </div>
@@ -595,9 +595,9 @@ Private Attributes</h2></td></tr>
595
595
  </table>
596
596
  </div><div class="memdoc">
597
597
 
598
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00718">718</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
599
- <div class="fragment"><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; {</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">CONST_DATA</a>);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
600
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">SVF::ObjTypeInfo::CONST_DATA</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00596">SymbolTableInfo.h:596</a></div></div>
598
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00739">739</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
599
+ <div class="fragment"><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; {</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">CONST_DATA</a>);</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
600
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">SVF::ObjTypeInfo::CONST_DATA</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00617">SymbolTableInfo.h:617</a></div></div>
601
601
  </div><!-- fragment -->
602
602
  </div>
603
603
  </div>
@@ -624,9 +624,9 @@ Private Attributes</h2></td></tr>
624
624
  </table>
625
625
  </div><div class="memdoc">
626
626
 
627
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00694">694</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
628
- <div class="fragment"><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; {</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">CONST_STRUCT_OBJ</a>);</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
629
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">SVF::ObjTypeInfo::CONST_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00593">SymbolTableInfo.h:593</a></div></div>
627
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00715">715</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
628
+ <div class="fragment"><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; {</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">CONST_STRUCT_OBJ</a>);</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
629
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">SVF::ObjTypeInfo::CONST_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00614">SymbolTableInfo.h:614</a></div></div>
630
630
  </div><!-- fragment -->
631
631
  </div>
632
632
  </div>
@@ -653,10 +653,10 @@ Private Attributes</h2></td></tr>
653
653
  </table>
654
654
  </div><div class="memdoc">
655
655
 
656
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00714">714</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
657
- <div class="fragment"><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; {</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c">CONST_GLOBAL_OBJ</a>) || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">CONST_DATA</a>);</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
658
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">SVF::ObjTypeInfo::CONST_DATA</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00596">SymbolTableInfo.h:596</a></div></div>
659
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c">SVF::ObjTypeInfo::CONST_GLOBAL_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00595">SymbolTableInfo.h:595</a></div></div>
656
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00735">735</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
657
+ <div class="fragment"><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; {</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c">CONST_GLOBAL_OBJ</a>) || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">CONST_DATA</a>);</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
658
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">SVF::ObjTypeInfo::CONST_DATA</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00617">SymbolTableInfo.h:617</a></div></div>
659
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c">SVF::ObjTypeInfo::CONST_GLOBAL_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00616">SymbolTableInfo.h:616</a></div></div>
660
660
  </div><!-- fragment -->
661
661
  </div>
662
662
  </div>
@@ -685,9 +685,9 @@ Private Attributes</h2></td></tr>
685
685
 
686
686
  <p>Object attributes. </p>
687
687
 
688
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00665">665</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
689
- <div class="fragment"><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">FUNCTION_OBJ</a>);</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
690
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">SVF::ObjTypeInfo::FUNCTION_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00586">SymbolTableInfo.h:586</a></div></div>
688
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00686">686</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
689
+ <div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; {</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">FUNCTION_OBJ</a>);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
690
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">SVF::ObjTypeInfo::FUNCTION_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00607">SymbolTableInfo.h:607</a></div></div>
691
691
  </div><!-- fragment -->
692
692
  </div>
693
693
  </div>
@@ -714,9 +714,9 @@ Private Attributes</h2></td></tr>
714
714
  </table>
715
715
  </div><div class="memdoc">
716
716
 
717
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00669">669</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
718
- <div class="fragment"><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; {</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b">GLOBVAR_OBJ</a>);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
719
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b">SVF::ObjTypeInfo::GLOBVAR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00587">SymbolTableInfo.h:587</a></div></div>
717
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00690">690</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
718
+ <div class="fragment"><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; {</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b">GLOBVAR_OBJ</a>);</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
719
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b">SVF::ObjTypeInfo::GLOBVAR_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00608">SymbolTableInfo.h:608</a></div></div>
720
720
  </div><!-- fragment -->
721
721
  </div>
722
722
  </div>
@@ -743,9 +743,9 @@ Private Attributes</h2></td></tr>
743
743
  </table>
744
744
  </div><div class="memdoc">
745
745
 
746
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00681">681</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
747
- <div class="fragment"><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; {</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">HEAP_OBJ</a>);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
748
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">SVF::ObjTypeInfo::HEAP_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00590">SymbolTableInfo.h:590</a></div></div>
746
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00702">702</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
747
+ <div class="fragment"><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; {</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">HEAP_OBJ</a>);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
748
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">SVF::ObjTypeInfo::HEAP_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00611">SymbolTableInfo.h:611</a></div></div>
749
749
  </div><!-- fragment -->
750
750
  </div>
751
751
  </div>
@@ -774,19 +774,19 @@ Private Attributes</h2></td></tr>
774
774
  </div><div class="memdoc">
775
775
  <p>Whether a location set is a pointer type or not </p>
776
776
 
777
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00538">538</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
778
- <div class="fragment"><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;{</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ObjTypeInfo.html#a26c179394fbda9a9261d0bf3f52b619d">isHeap</a>() || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a3594dc1c1943dbac0ab72f2ff163c523">isStaticObj</a>())</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* ety = <a class="code" href="classSVF_1_1ObjTypeInfo.html#a706cdc47e78732853252d5a4af85653a">getType</a>();</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a> *AT= SVFUtil::dyn_cast&lt;ArrayType&gt;(ety))</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; {</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; ety = AT-&gt;getElementType();</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;StructType&gt;(ety) || SVFUtil::isa&lt;ArrayType&gt;(ety))</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; {</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordtype">bool</span> hasIntersection = <span class="keyword">false</span>;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keyword">const</span> vector&lt;FlattenedFieldInfo&gt; &amp;infovec = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a9ca564bdc1f40a2ccd30d98e0e4075b0">getFlattenedFieldInfoVec</a>(ety);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; vector&lt;FlattenedFieldInfo&gt;::const_iterator it = infovec.begin();</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; vector&lt;FlattenedFieldInfo&gt;::const_iterator eit = infovec.end();</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; {</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1FlattenedFieldInfo.html">FlattenedFieldInfo</a>&amp; fieldLS = *it;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">if</span> (ls.<a class="code" href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">intersects</a>(<a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>(fieldLS)))</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; {</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; hasIntersection = <span class="keyword">true</span>;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">if</span> (fieldLS.<a class="code" href="classSVF_1_1FlattenedFieldInfo.html#a92c1b65c36feeabf09541c9af4650f14">getFlattenElemTy</a>()-&gt;isPointerTy())</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; }</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(hasIntersection &amp;&amp; <span class="stringliteral">&quot;cannot find field of specified offset&quot;</span>);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ObjTypeInfo.html#a3594dc1c1943dbac0ab72f2ff163c523">isStaticObj</a>() || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a26c179394fbda9a9261d0bf3f52b619d">isHeap</a>())</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="comment">// TODO: Objects which cannot find proper field for a certain offset including</span></div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="comment">// arguments in main(), static objects allocated before main and heap</span></div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="comment">// objects. Right now they&#39;re considered to have infinite fields and we</span></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="comment">// treat each field as pointers conservatively.</span></div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="comment">// Try to model static and heap objects more accurately in the future.</span></div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; }</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; {</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="comment">// TODO: Using new memory model (locMM) may create objects with spurious offset</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="comment">// as we simply return new offset by mod operation without checking its</span></div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="comment">// correctness in LocSymTableInfo::getModulusOffset(). So the following</span></div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="comment">// assertion may fail. Try to refine the new memory model.</span></div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="comment">//assert(ls.getFieldOffset() == 0 &amp;&amp; &quot;cannot get a field from a non-struct type&quot;);</span></div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ObjTypeInfo.html#ac5bae1e7917f415193a805e8d2e29320">hasPtrObj</a>() == <span class="keyword">false</span>);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; }</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; }</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a0e1cddc4228e310c95f68c661c7b94c8"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">SVF::LocationSet::intersects</a></div><div class="ttdeci">bool intersects(const LocationSet &amp;RHS) const</div><div class="ttdoc">Return TRUE if we share any location in common with RHS. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00142">LocationSet.h:142</a></div></div>
779
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a26c179394fbda9a9261d0bf3f52b619d"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a26c179394fbda9a9261d0bf3f52b619d">SVF::ObjTypeInfo::isHeap</a></div><div class="ttdeci">bool isHeap()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00681">SymbolTableInfo.h:681</a></div></div>
777
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00545">545</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
778
+ <div class="fragment"><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;{</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ObjTypeInfo.html#a26c179394fbda9a9261d0bf3f52b619d">isHeap</a>() || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a3594dc1c1943dbac0ab72f2ff163c523">isStaticObj</a>())</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* ety = <a class="code" href="classSVF_1_1ObjTypeInfo.html#a706cdc47e78732853252d5a4af85653a">getType</a>();</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a> *AT= SVFUtil::dyn_cast&lt;ArrayType&gt;(ety))</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; ety = AT-&gt;getElementType();</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;StructType&gt;(ety) || SVFUtil::isa&lt;ArrayType&gt;(ety))</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordtype">bool</span> hasIntersection = <span class="keyword">false</span>;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keyword">const</span> vector&lt;FlattenedFieldInfo&gt; &amp;infovec = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a9ca564bdc1f40a2ccd30d98e0e4075b0">getFlattenedFieldInfoVec</a>(ety);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; vector&lt;FlattenedFieldInfo&gt;::const_iterator it = infovec.begin();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; vector&lt;FlattenedFieldInfo&gt;::const_iterator eit = infovec.end();</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; {</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1FlattenedFieldInfo.html">FlattenedFieldInfo</a>&amp; fieldLS = *it;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">if</span> (ls.<a class="code" href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">intersects</a>(<a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>(fieldLS)))</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; {</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; hasIntersection = <span class="keyword">true</span>;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">if</span> (fieldLS.<a class="code" href="classSVF_1_1FlattenedFieldInfo.html#a92c1b65c36feeabf09541c9af4650f14">getFlattenElemTy</a>()-&gt;isPointerTy())</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; }</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; }</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(hasIntersection &amp;&amp; <span class="stringliteral">&quot;cannot find field of specified offset&quot;</span>);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; }</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; {</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ObjTypeInfo.html#a3594dc1c1943dbac0ab72f2ff163c523">isStaticObj</a>() || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a26c179394fbda9a9261d0bf3f52b619d">isHeap</a>())</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; {</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="comment">// TODO: Objects which cannot find proper field for a certain offset including</span></div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="comment">// arguments in main(), static objects allocated before main and heap</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="comment">// objects. Right now they&#39;re considered to have infinite fields and we</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="comment">// treat each field as pointers conservatively.</span></div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="comment">// Try to model static and heap objects more accurately in the future.</span></div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; }</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="comment">// TODO: Using new memory model (locMM) may create objects with spurious offset</span></div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="comment">// as we simply return new offset by mod operation without checking its</span></div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="comment">// correctness in LocSymTableInfo::getModulusOffset(). So the following</span></div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="comment">// assertion may fail. Try to refine the new memory model.</span></div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="comment">//assert(ls.getConstantFieldIdx() == 0 &amp;&amp; &quot;cannot get a field from a non-struct type&quot;);</span></div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ObjTypeInfo.html#ac5bae1e7917f415193a805e8d2e29320">hasPtrObj</a>() == <span class="keyword">false</span>);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; }</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a0e1cddc4228e310c95f68c661c7b94c8"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">SVF::LocationSet::intersects</a></div><div class="ttdeci">bool intersects(const LocationSet &amp;RHS) const</div><div class="ttdoc">Return TRUE if we share any location in common with RHS. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00146">LocationSet.h:146</a></div></div>
779
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a26c179394fbda9a9261d0bf3f52b619d"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a26c179394fbda9a9261d0bf3f52b619d">SVF::ObjTypeInfo::isHeap</a></div><div class="ttdeci">bool isHeap()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00702">SymbolTableInfo.h:702</a></div></div>
780
780
  <div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00075">BasicTypes.h:75</a></div></div>
781
781
  <div class="ttc" id="classSVF_1_1FlattenedFieldInfo_html_a92c1b65c36feeabf09541c9af4650f14"><div class="ttname"><a href="classSVF_1_1FlattenedFieldInfo.html#a92c1b65c36feeabf09541c9af4650f14">SVF::FlattenedFieldInfo::getFlattenElemTy</a></div><div class="ttdeci">const Type * getFlattenElemTy() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00059">LocationSet.h:59</a></div></div>
782
782
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
783
783
  <div class="ttc" id="namespaceSVF_html_a146d286041987860388da3d8bc85cee3"><div class="ttname"><a href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">SVF::ArrayType</a></div><div class="ttdeci">llvm::ArrayType ArrayType</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00107">BasicTypes.h:107</a></div></div>
784
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a3594dc1c1943dbac0ab72f2ff163c523"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a3594dc1c1943dbac0ab72f2ff163c523">SVF::ObjTypeInfo::isStaticObj</a></div><div class="ttdeci">bool isStaticObj()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00673">SymbolTableInfo.h:673</a></div></div>
784
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a3594dc1c1943dbac0ab72f2ff163c523"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a3594dc1c1943dbac0ab72f2ff163c523">SVF::ObjTypeInfo::isStaticObj</a></div><div class="ttdeci">bool isStaticObj()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00694">SymbolTableInfo.h:694</a></div></div>
785
785
  <div class="ttc" id="classSVF_1_1FlattenedFieldInfo_html"><div class="ttname"><a href="classSVF_1_1FlattenedFieldInfo.html">SVF::FlattenedFieldInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00045">LocationSet.h:45</a></div></div>
786
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a706cdc47e78732853252d5a4af85653a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a706cdc47e78732853252d5a4af85653a">SVF::ObjTypeInfo::getType</a></div><div class="ttdeci">const Type * getType() const</div><div class="ttdoc">Get LLVM type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00634">SymbolTableInfo.h:634</a></div></div>
786
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a706cdc47e78732853252d5a4af85653a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a706cdc47e78732853252d5a4af85653a">SVF::ObjTypeInfo::getType</a></div><div class="ttdeci">const Type * getType() const</div><div class="ttdoc">Get LLVM type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00655">SymbolTableInfo.h:655</a></div></div>
787
787
  <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00059">SymbolTableInfo.cpp:59</a></div></div>
788
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a9ca564bdc1f40a2ccd30d98e0e4075b0"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a9ca564bdc1f40a2ccd30d98e0e4075b0">SVF::SymbolTableInfo::getFlattenedFieldInfoVec</a></div><div class="ttdeci">const std::vector&lt; FlattenedFieldInfo &gt; &amp; getFlattenedFieldInfoVec(const Type *T)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00330">SymbolTableInfo.cpp:330</a></div></div>
789
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_ac5bae1e7917f415193a805e8d2e29320"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#ac5bae1e7917f415193a805e8d2e29320">SVF::ObjTypeInfo::hasPtrObj</a></div><div class="ttdeci">bool hasPtrObj()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00722">SymbolTableInfo.h:722</a></div></div>
788
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a9ca564bdc1f40a2ccd30d98e0e4075b0"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a9ca564bdc1f40a2ccd30d98e0e4075b0">SVF::SymbolTableInfo::getFlattenedFieldInfoVec</a></div><div class="ttdeci">const std::vector&lt; FlattenedFieldInfo &gt; &amp; getFlattenedFieldInfoVec(const Type *T)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00337">SymbolTableInfo.cpp:337</a></div></div>
789
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_ac5bae1e7917f415193a805e8d2e29320"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#ac5bae1e7917f415193a805e8d2e29320">SVF::ObjTypeInfo::hasPtrObj</a></div><div class="ttdeci">bool hasPtrObj()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00743">SymbolTableInfo.h:743</a></div></div>
790
790
  <div class="ttc" id="classSVF_1_1LocationSet_html"><div class="ttname"><a href="classSVF_1_1LocationSet.html">SVF::LocationSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00072">LocationSet.h:72</a></div></div>
791
791
  </div><!-- fragment -->
792
792
  </div>
@@ -814,9 +814,9 @@ Private Attributes</h2></td></tr>
814
814
  </table>
815
815
  </div><div class="memdoc">
816
816
 
817
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00677">677</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
818
- <div class="fragment"><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; {</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">STACK_OBJ</a>);</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
819
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">SVF::ObjTypeInfo::STACK_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00589">SymbolTableInfo.h:589</a></div></div>
817
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00698">698</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
818
+ <div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; {</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">STACK_OBJ</a>);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
819
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">SVF::ObjTypeInfo::STACK_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00610">SymbolTableInfo.h:610</a></div></div>
820
820
  </div><!-- fragment -->
821
821
  </div>
822
822
  </div>
@@ -843,9 +843,9 @@ Private Attributes</h2></td></tr>
843
843
  </table>
844
844
  </div><div class="memdoc">
845
845
 
846
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00673">673</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
847
- <div class="fragment"><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; {</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">STATIC_OBJ</a>);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
848
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">SVF::ObjTypeInfo::STATIC_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00588">SymbolTableInfo.h:588</a></div></div>
846
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00694">694</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
847
+ <div class="fragment"><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; {</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">STATIC_OBJ</a>);</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
848
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">SVF::ObjTypeInfo::STATIC_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00609">SymbolTableInfo.h:609</a></div></div>
849
849
  </div><!-- fragment -->
850
850
  </div>
851
851
  </div>
@@ -872,10 +872,10 @@ Private Attributes</h2></td></tr>
872
872
  </table>
873
873
  </div><div class="memdoc">
874
874
 
875
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00698">698</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
876
- <div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; {</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">VAR_STRUCT_OBJ</a>) || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">CONST_STRUCT_OBJ</a>);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
877
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">SVF::ObjTypeInfo::VAR_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00591">SymbolTableInfo.h:591</a></div></div>
878
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">SVF::ObjTypeInfo::CONST_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00593">SymbolTableInfo.h:593</a></div></div>
875
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00719">719</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
876
+ <div class="fragment"><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; {</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">VAR_STRUCT_OBJ</a>) || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">CONST_STRUCT_OBJ</a>);</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
877
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">SVF::ObjTypeInfo::VAR_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00612">SymbolTableInfo.h:612</a></div></div>
878
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">SVF::ObjTypeInfo::CONST_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00614">SymbolTableInfo.h:614</a></div></div>
879
879
  </div><!-- fragment -->
880
880
  </div>
881
881
  </div>
@@ -902,9 +902,9 @@ Private Attributes</h2></td></tr>
902
902
  </table>
903
903
  </div><div class="memdoc">
904
904
 
905
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00702">702</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
906
- <div class="fragment"><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; {</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">VAR_ARRAY_OBJ</a>);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
907
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">SVF::ObjTypeInfo::VAR_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00592">SymbolTableInfo.h:592</a></div></div>
905
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00723">723</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
906
+ <div class="fragment"><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; {</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">VAR_ARRAY_OBJ</a>);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
907
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">SVF::ObjTypeInfo::VAR_ARRAY_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00613">SymbolTableInfo.h:613</a></div></div>
908
908
  </div><!-- fragment -->
909
909
  </div>
910
910
  </div>
@@ -932,9 +932,9 @@ Private Attributes</h2></td></tr>
932
932
  </div><div class="memdoc">
933
933
  <p>Object attributes (noted that an object can be a nested compound types) e.g. both isStruct and isArray can return true </p>
934
934
 
935
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00690">690</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
936
- <div class="fragment"><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; {</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">VAR_STRUCT_OBJ</a>);</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00657">SymbolTableInfo.h:657</a></div></div>
937
- <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">SVF::ObjTypeInfo::VAR_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00591">SymbolTableInfo.h:591</a></div></div>
935
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00711">711</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
936
+ <div class="fragment"><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; {</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">VAR_STRUCT_OBJ</a>);</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a8e630eb30d05f665b998c6f9326d65cb"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a8e630eb30d05f665b998c6f9326d65cb">SVF::ObjTypeInfo::hasFlag</a></div><div class="ttdeci">bool hasFlag(MEMTYPE mask)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00678">SymbolTableInfo.h:678</a></div></div>
937
+ <div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">SVF::ObjTypeInfo::VAR_STRUCT_OBJ</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00612">SymbolTableInfo.h:612</a></div></div>
938
938
  </div><!-- fragment -->
939
939
  </div>
940
940
  </div>
@@ -964,8 +964,8 @@ Private Attributes</h2></td></tr>
964
964
 
965
965
  <p>Flag for this object type. </p>
966
966
 
967
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00653">653</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
968
- <div class="fragment"><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; {</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a> |= mask;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_abf6bbcccf73bfcd5b950803d349c4eb1"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">SVF::ObjTypeInfo::flags</a></div><div class="ttdeci">u32_t flags</div><div class="ttdoc">Type flags. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00604">SymbolTableInfo.h:604</a></div></div>
967
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00674">674</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
968
+ <div class="fragment"><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; {</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a> |= mask;</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_abf6bbcccf73bfcd5b950803d349c4eb1"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">SVF::ObjTypeInfo::flags</a></div><div class="ttdeci">u32_t flags</div><div class="ttdoc">Type flags. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00625">SymbolTableInfo.h:625</a></div></div>
969
969
  </div><!-- fragment -->
970
970
  </div>
971
971
  </div>
@@ -995,8 +995,8 @@ Private Attributes</h2></td></tr>
995
995
 
996
996
  <p>Get max field offset limit. </p>
997
997
 
998
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00646">646</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
999
- <div class="fragment"><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; {</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a> = limit;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a5ff63eb0654acd152f7d6c18618ee94a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">SVF::ObjTypeInfo::maxOffsetLimit</a></div><div class="ttdeci">u32_t maxOffsetLimit</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00608">SymbolTableInfo.h:608</a></div></div>
998
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00667">667</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
999
+ <div class="fragment"><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; {</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a> = limit;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; }</div><div class="ttc" id="classSVF_1_1ObjTypeInfo_html_a5ff63eb0654acd152f7d6c18618ee94a"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">SVF::ObjTypeInfo::maxOffsetLimit</a></div><div class="ttdeci">u32_t maxOffsetLimit</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00629">SymbolTableInfo.h:629</a></div></div>
1000
1000
  </div><!-- fragment -->
1001
1001
  </div>
1002
1002
  </div>
@@ -1023,7 +1023,7 @@ Private Attributes</h2></td></tr>
1023
1023
 
1024
1024
  <p>Type flags. </p>
1025
1025
 
1026
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00604">604</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
1026
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00625">625</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
1027
1027
 
1028
1028
  </div>
1029
1029
  </div>
@@ -1048,7 +1048,7 @@ Private Attributes</h2></td></tr>
1048
1048
  </div><div class="memdoc">
1049
1049
  <p>Max offset for flexible field sensitive analysis maximum number of field object can be created minimum number is 0 (field insensitive analysis) </p>
1050
1050
 
1051
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00608">608</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
1051
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00629">629</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
1052
1052
 
1053
1053
  </div>
1054
1054
  </div>
@@ -1074,7 +1074,7 @@ Private Attributes</h2></td></tr>
1074
1074
 
1075
1075
  <p>LLVM type. </p>
1076
1076
 
1077
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00602">602</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
1077
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00623">623</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
1078
1078
 
1079
1079
  </div>
1080
1080
  </div>