svf-tools 1.0.374 → 1.0.375

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 (194) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +5 -6
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/ConsG_8h_source.html +6 -6
  7. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
  8. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  9. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  10. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +13 -13
  12. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
  14. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +4 -4
  15. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  16. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +5 -5
  17. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  20. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +8 -8
  21. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +15 -15
  23. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  24. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  25. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +9 -9
  26. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +13 -13
  27. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +30 -28
  31. package/SVF-doxygen/html/html/SVFIR_8h_source.html +63 -65
  32. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +18 -19
  35. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +118 -121
  36. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
  37. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +20 -13
  38. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +7 -4
  39. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +81 -43
  40. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +45 -47
  41. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +12 -12
  43. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  44. package/SVF-doxygen/html/html/VFG_8cpp_source.html +7 -7
  45. package/SVF-doxygen/html/html/VFG_8h_source.html +2 -2
  46. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  48. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  50. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  51. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
  52. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +6 -6
  53. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  54. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +3 -3
  55. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +5 -6
  56. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +3 -3
  57. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +10 -10
  58. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  59. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  60. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  61. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +22 -25
  62. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +16 -25
  63. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +22 -25
  64. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +17 -26
  65. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +23 -26
  66. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +17 -26
  67. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  68. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  69. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +5 -5
  70. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
  71. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
  72. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
  73. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +12 -12
  74. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +22 -25
  75. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +18 -27
  76. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +21 -24
  77. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +18 -27
  78. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +22 -25
  79. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +19 -28
  80. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  81. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +8 -8
  82. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +6 -6
  83. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +9 -9
  84. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  86. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  87. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +24 -27
  88. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +41 -50
  89. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +22 -25
  90. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +28 -37
  91. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +3 -3
  92. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  95. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +4 -4
  96. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +9 -9
  97. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +69 -69
  98. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +7 -8
  100. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +124 -174
  101. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +22 -25
  102. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +23 -32
  103. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  104. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  105. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
  106. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +16 -16
  107. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +26 -26
  108. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +22 -25
  109. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +18 -27
  110. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +3 -3
  112. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +181 -187
  113. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +33 -33
  114. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +23 -26
  116. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +54 -151
  117. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +6 -6
  118. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +6 -6
  119. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +10 -7
  120. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +154 -35
  121. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +77 -73
  123. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  124. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +20 -20
  125. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  126. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +8 -8
  127. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +21 -24
  128. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +16 -25
  129. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +22 -25
  130. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +18 -27
  131. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +7 -7
  132. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  133. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
  134. package/SVF-doxygen/html/html/functions_a.html +6 -6
  135. package/SVF-doxygen/html/html/functions_c.html +1 -1
  136. package/SVF-doxygen/html/html/functions_func.html +6 -6
  137. package/SVF-doxygen/html/html/functions_func_c.html +1 -1
  138. package/SVF-doxygen/html/html/functions_func_g.html +6 -3
  139. package/SVF-doxygen/html/html/functions_func_i.html +11 -17
  140. package/SVF-doxygen/html/html/functions_func_o.html +4 -4
  141. package/SVF-doxygen/html/html/functions_func_r.html +5 -2
  142. package/SVF-doxygen/html/html/functions_g.html +7 -4
  143. package/SVF-doxygen/html/html/functions_i.html +12 -21
  144. package/SVF-doxygen/html/html/functions_l.html +3 -3
  145. package/SVF-doxygen/html/html/functions_o.html +17 -13
  146. package/SVF-doxygen/html/html/functions_p.html +7 -7
  147. package/SVF-doxygen/html/html/functions_r.html +10 -7
  148. package/SVF-doxygen/html/html/functions_rela.html +2 -1
  149. package/SVF-doxygen/html/html/functions_s.html +15 -12
  150. package/SVF-doxygen/html/html/functions_t.html +7 -5
  151. package/SVF-doxygen/html/html/functions_v.html +6 -6
  152. package/SVF-doxygen/html/html/functions_vars_i.html +3 -6
  153. package/SVF-doxygen/html/html/namespaceSVF.html +1 -1
  154. package/SVF-doxygen/html/html/search/all_1.js +4 -4
  155. package/SVF-doxygen/html/html/search/all_10.js +10 -10
  156. package/SVF-doxygen/html/html/search/all_12.js +1 -0
  157. package/SVF-doxygen/html/html/search/all_13.js +9 -9
  158. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  159. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  160. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  161. package/SVF-doxygen/html/html/search/all_7.js +2 -1
  162. package/SVF-doxygen/html/html/search/all_9.js +2 -5
  163. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  164. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  165. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  166. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  167. package/SVF-doxygen/html/html/search/functions_0.js +4 -4
  168. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  169. package/SVF-doxygen/html/html/search/functions_6.js +2 -1
  170. package/SVF-doxygen/html/html/search/functions_8.js +1 -3
  171. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  172. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  173. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  174. package/SVF-doxygen/html/html/search/related_9.js +1 -1
  175. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  176. package/SVF-doxygen/html/html/search/variables_9.js +1 -2
  177. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  178. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  179. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  180. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
  181. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
  182. package/SVF-doxygen/html/html/svf-ex_8cpp.html +2 -2
  183. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -2
  184. package/include/MemoryModel/SVFIR.h +4 -36
  185. package/include/MemoryModel/SVFVariables.h +2 -13
  186. package/include/MemoryModel/SymbolTableInfo.h +6 -18
  187. package/include/SVF-FE/SymbolTableBuilder.h +8 -1
  188. package/lib/MemoryModel/SVFIR.cpp +50 -2
  189. package/lib/MemoryModel/SVFVariables.cpp +6 -13
  190. package/lib/MemoryModel/SymbolTableInfo.cpp +21 -48
  191. package/lib/SVF-FE/SVFIRBuilder.cpp +1 -1
  192. package/lib/SVF-FE/SymbolTableBuilder.cpp +60 -13
  193. package/lib/WPA/AndersenStat.cpp +1 -1
  194. package/package.json +1 -1
@@ -65,7 +65,9 @@ $(function() {
65
65
  <div class="summary">
66
66
  <a href="#pub-types">Public Types</a> &#124;
67
67
  <a href="#pub-methods">Public Member Functions</a> &#124;
68
+ <a href="#pri-methods">Private Member Functions</a> &#124;
68
69
  <a href="#pri-attribs">Private Attributes</a> &#124;
70
+ <a href="#friends">Friends</a> &#124;
69
71
  <a href="classSVF_1_1ObjTypeInfo-members.html">List of all members</a> </div>
70
72
  <div class="headertitle">
71
73
  <div class="title">SVF::ObjTypeInfo Class Reference</div> </div>
@@ -97,21 +99,12 @@ Public Types</h2></td></tr>
97
99
  </table><table class="memberdecls">
98
100
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
99
101
  Public Member Functions</h2></td></tr>
100
- <tr class="memitem:a1a182e6a8710242f94729412d4683f8d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#a1a182e6a8710242f94729412d4683f8d">ObjTypeInfo</a> (const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *, const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *t, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> max)</td></tr>
101
- <tr class="memdesc:a1a182e6a8710242f94729412d4683f8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructors. <a href="#a1a182e6a8710242f94729412d4683f8d">More...</a><br /></td></tr>
102
- <tr class="separator:a1a182e6a8710242f94729412d4683f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
- <tr class="memitem:afa03172e8fe0af6b523e866d54235f3a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#afa03172e8fe0af6b523e866d54235f3a">ObjTypeInfo</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> max, const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *t)</td></tr>
104
- <tr class="memdesc:afa03172e8fe0af6b523e866d54235f3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#afa03172e8fe0af6b523e866d54235f3a">More...</a><br /></td></tr>
105
- <tr class="separator:afa03172e8fe0af6b523e866d54235f3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+ <tr class="memitem:a351edf73b2b035ce61a99a10b3d9de87"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#a351edf73b2b035ce61a99a10b3d9de87">ObjTypeInfo</a> (const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *t, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> max)</td></tr>
103
+ <tr class="memdesc:a351edf73b2b035ce61a99a10b3d9de87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructors. <a href="#a351edf73b2b035ce61a99a10b3d9de87">More...</a><br /></td></tr>
104
+ <tr class="separator:a351edf73b2b035ce61a99a10b3d9de87"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
105
  <tr class="memitem:ace5fdb3701cb93df0f02aedc94e7e975"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#ace5fdb3701cb93df0f02aedc94e7e975">~ObjTypeInfo</a> ()</td></tr>
107
106
  <tr class="memdesc:ace5fdb3701cb93df0f02aedc94e7e975"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#ace5fdb3701cb93df0f02aedc94e7e975">More...</a><br /></td></tr>
108
107
  <tr class="separator:ace5fdb3701cb93df0f02aedc94e7e975"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
- <tr class="memitem:a66692043a56c327ac7ac00cc3126cd78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#a66692043a56c327ac7ac00cc3126cd78">analyzeHeapObjType</a> (const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<a class="el" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>)</td></tr>
110
- <tr class="memdesc:a66692043a56c327ac7ac00cc3126cd78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Analyse types of heap and static objects. <a href="#a66692043a56c327ac7ac00cc3126cd78">More...</a><br /></td></tr>
111
- <tr class="separator:a66692043a56c327ac7ac00cc3126cd78"><td class="memSeparator" colspan="2">&#160;</td></tr>
112
- <tr class="memitem:aa8b97a2cbd2de56b3c6c5c0e2e0a2211"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#aa8b97a2cbd2de56b3c6c5c0e2e0a2211">analyzeStaticObjType</a> (const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<a class="el" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>)</td></tr>
113
- <tr class="memdesc:aa8b97a2cbd2de56b3c6c5c0e2e0a2211"><td class="mdescLeft">&#160;</td><td class="mdescRight">Analyse types of heap and static objects. <a href="#aa8b97a2cbd2de56b3c6c5c0e2e0a2211">More...</a><br /></td></tr>
114
- <tr class="separator:aa8b97a2cbd2de56b3c6c5c0e2e0a2211"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
108
  <tr class="memitem:a706cdc47e78732853252d5a4af85653a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#a706cdc47e78732853252d5a4af85653a">getType</a> () const</td></tr>
116
109
  <tr class="memdesc:a706cdc47e78732853252d5a4af85653a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get LLVM type. <a href="#a706cdc47e78732853252d5a4af85653a">More...</a><br /></td></tr>
117
110
  <tr class="separator:a706cdc47e78732853252d5a4af85653a"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -161,6 +154,11 @@ Public Member Functions</h2></td></tr>
161
154
  <tr class="memitem:a3a58b1e0192b92dac5bbfad24adbcdac"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#a3a58b1e0192b92dac5bbfad24adbcdac">isNonPtrFieldObj</a> (const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;ls)</td></tr>
162
155
  <tr class="separator:a3a58b1e0192b92dac5bbfad24adbcdac"><td class="memSeparator" colspan="2">&#160;</td></tr>
163
156
  </table><table class="memberdecls">
157
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
158
+ Private Member Functions</h2></td></tr>
159
+ <tr class="memitem:a57d714a511273b8275374cd4c7f14373"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#a57d714a511273b8275374cd4c7f14373">resetTypeForHeapStaticObj</a> (const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<a class="el" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>)</td></tr>
160
+ <tr class="separator:a57d714a511273b8275374cd4c7f14373"><td class="memSeparator" colspan="2">&#160;</td></tr>
161
+ </table><table class="memberdecls">
164
162
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
165
163
  Private Attributes</h2></td></tr>
166
164
  <tr class="memitem:a6e7780d4e2639c089ff6c853d8d78a4d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a></td></tr>
@@ -171,6 +169,11 @@ Private Attributes</h2></td></tr>
171
169
  <tr class="separator:abf6bbcccf73bfcd5b950803d349c4eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
172
170
  <tr class="memitem:a5ff63eb0654acd152f7d6c18618ee94a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a></td></tr>
173
171
  <tr class="separator:a5ff63eb0654acd152f7d6c18618ee94a"><td class="memSeparator" colspan="2">&#160;</td></tr>
172
+ </table><table class="memberdecls">
173
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
174
+ Friends</h2></td></tr>
175
+ <tr class="memitem:a9d9633d48431b80c078bd4a34c1e7fa0"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ObjTypeInfo.html#a9d9633d48431b80c078bd4a34c1e7fa0">SymbolTableBuilder</a></td></tr>
176
+ <tr class="separator:a9d9633d48431b80c078bd4a34c1e7fa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
174
177
  </table>
175
178
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
176
179
  <div class="textblock"><p>Type Info of an abstract memory object </p>
@@ -221,24 +224,15 @@ Private Attributes</h2></td></tr>
221
224
  </div>
222
225
  </div>
223
226
  <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
224
- <a id="a1a182e6a8710242f94729412d4683f8d"></a>
225
- <h2 class="memtitle"><span class="permalink"><a href="#a1a182e6a8710242f94729412d4683f8d">&#9670;&nbsp;</a></span>ObjTypeInfo() <span class="overload">[1/2]</span></h2>
227
+ <a id="a351edf73b2b035ce61a99a10b3d9de87"></a>
228
+ <h2 class="memtitle"><span class="permalink"><a href="#a351edf73b2b035ce61a99a10b3d9de87">&#9670;&nbsp;</a></span>ObjTypeInfo()</h2>
226
229
 
227
230
  <div class="memitem">
228
231
  <div class="memproto">
229
- <table class="mlabels">
230
- <tr>
231
- <td class="mlabels-left">
232
232
  <table class="memname">
233
233
  <tr>
234
- <td class="memname">SVF::ObjTypeInfo::ObjTypeInfo </td>
234
+ <td class="memname">ObjTypeInfo::ObjTypeInfo </td>
235
235
  <td>(</td>
236
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *&#160;</td>
237
- <td class="paramname">, </td>
238
- </tr>
239
- <tr>
240
- <td class="paramkey"></td>
241
- <td></td>
242
236
  <td class="paramtype">const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *&#160;</td>
243
237
  <td class="paramname"><em>t</em>, </td>
244
238
  </tr>
@@ -254,60 +248,13 @@ Private Attributes</h2></td></tr>
254
248
  <td></td><td></td>
255
249
  </tr>
256
250
  </table>
257
- </td>
258
- <td class="mlabels-right">
259
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
260
- </tr>
261
- </table>
262
251
  </div><div class="memdoc">
263
252
 
264
253
  <p>Constructors. </p>
265
254
 
266
- <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>
267
- <div class="fragment"><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; :</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</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="l00627"></a><span class="lineno"> 627</span>&#160; {</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</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#l00621">SymbolTableInfo.h:621</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#l00615">SymbolTableInfo.h:615</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#l00617">SymbolTableInfo.h:617</a></div></div>
270
- </div><!-- fragment -->
271
- </div>
272
- </div>
273
- <a id="afa03172e8fe0af6b523e866d54235f3a"></a>
274
- <h2 class="memtitle"><span class="permalink"><a href="#afa03172e8fe0af6b523e866d54235f3a">&#9670;&nbsp;</a></span>ObjTypeInfo() <span class="overload">[2/2]</span></h2>
275
-
276
- <div class="memitem">
277
- <div class="memproto">
278
- <table class="mlabels">
279
- <tr>
280
- <td class="mlabels-left">
281
- <table class="memname">
282
- <tr>
283
- <td class="memname">SVF::ObjTypeInfo::ObjTypeInfo </td>
284
- <td>(</td>
285
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
286
- <td class="paramname"><em>max</em>, </td>
287
- </tr>
288
- <tr>
289
- <td class="paramkey"></td>
290
- <td></td>
291
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *&#160;</td>
292
- <td class="paramname"><em>t</em>&#160;</td>
293
- </tr>
294
- <tr>
295
- <td></td>
296
- <td>)</td>
297
- <td></td><td></td>
298
- </tr>
299
- </table>
300
- </td>
301
- <td class="mlabels-right">
302
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
303
- </tr>
304
- </table>
305
- </div><div class="memdoc">
306
-
307
- <p>Constructor. </p>
308
-
309
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00630">630</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
310
- <div class="fragment"><div class="line"><a name="l00630"></a><span class="lineno"> 630</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="l00631"></a><span class="lineno"> 631</span>&#160; {</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</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#l00621">SymbolTableInfo.h:621</a></div></div>
255
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00047">47</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
256
+ <div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</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="l00048"></a><span class="lineno"> 48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(t &amp;&amp; <span class="stringliteral">&quot;no type information for this object?&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}</div><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>
257
+ <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#l00621">SymbolTableInfo.h:621</a></div></div>
311
258
  <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#l00615">SymbolTableInfo.h:615</a></div></div>
312
259
  <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#l00617">SymbolTableInfo.h:617</a></div></div>
313
260
  </div><!-- fragment -->
@@ -338,63 +285,11 @@ Private Attributes</h2></td></tr>
338
285
 
339
286
  <p>Destructor. </p>
340
287
 
341
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00635">635</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
342
- <div class="fragment"><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; }</div></div><!-- fragment -->
288
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00630">630</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
289
+ <div class="fragment"><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; {</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; }</div></div><!-- fragment -->
343
290
  </div>
344
291
  </div>
345
292
  <h2 class="groupheader">Member Function Documentation</h2>
346
- <a id="a66692043a56c327ac7ac00cc3126cd78"></a>
347
- <h2 class="memtitle"><span class="permalink"><a href="#a66692043a56c327ac7ac00cc3126cd78">&#9670;&nbsp;</a></span>analyzeHeapObjType()</h2>
348
-
349
- <div class="memitem">
350
- <div class="memproto">
351
- <table class="memname">
352
- <tr>
353
- <td class="memname">void ObjTypeInfo::analyzeHeapObjType </td>
354
- <td>(</td>
355
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *&#160;</td>
356
- <td class="paramname"><em>type</em></td><td>)</td>
357
- <td></td>
358
- </tr>
359
- </table>
360
- </div><div class="memdoc">
361
-
362
- <p>Analyse types of heap and static objects. </p>
363
- <p>Analyse types of heap and static objects </p>
364
-
365
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00602">602</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
366
- <div class="fragment"><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;{</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="comment">// TODO: Heap and static objects are considered as pointers right now.</span></div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="comment">// Refine this function to get more details about heap and static objects.</span></div><div class="line"><a name="l00606"></a><span class="lineno"> 606</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="l00607"></a><span class="lineno"> 607</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="l00608"></a><span class="lineno"> 608</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#l00603">SymbolTableInfo.h:603</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#l00666">SymbolTableInfo.h:666</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#l00610">SymbolTableInfo.h:610</a></div></div>
369
- </div><!-- fragment -->
370
- </div>
371
- </div>
372
- <a id="aa8b97a2cbd2de56b3c6c5c0e2e0a2211"></a>
373
- <h2 class="memtitle"><span class="permalink"><a href="#aa8b97a2cbd2de56b3c6c5c0e2e0a2211">&#9670;&nbsp;</a></span>analyzeStaticObjType()</h2>
374
-
375
- <div class="memitem">
376
- <div class="memproto">
377
- <table class="memname">
378
- <tr>
379
- <td class="memname">void ObjTypeInfo::analyzeStaticObjType </td>
380
- <td>(</td>
381
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *&#160;</td>
382
- <td class="paramname"><em>type</em></td><td>)</td>
383
- <td></td>
384
- </tr>
385
- </table>
386
- </div><div class="memdoc">
387
-
388
- <p>Analyse types of heap and static objects. </p>
389
- <p>Analyse types of heap and static objects </p>
390
-
391
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00613">613</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
392
- <div class="fragment"><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; <span class="comment">// TODO: Heap and static objects are considered as pointers right now.</span></div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="comment">// Refine this function to get more details about heap and static objects.</span></div><div class="line"><a name="l00617"></a><span class="lineno"> 617</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="l00618"></a><span class="lineno"> 618</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="l00619"></a><span class="lineno"> 619</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#l00666">SymbolTableInfo.h:666</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#l00610">SymbolTableInfo.h:610</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#l00601">SymbolTableInfo.h:601</a></div></div>
395
- </div><!-- fragment -->
396
- </div>
397
- </div>
398
293
  <a id="a81bc3d785062c7e527ecf8e564cd52a4"></a>
399
294
  <h2 class="memtitle"><span class="permalink"><a href="#a81bc3d785062c7e527ecf8e564cd52a4">&#9670;&nbsp;</a></span>getMaxFieldOffsetLimit()</h2>
400
295
 
@@ -420,8 +315,8 @@ Private Attributes</h2></td></tr>
420
315
 
421
316
  <p>Get max field offset limit. </p>
422
317
 
423
- <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>
424
- <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; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a>;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</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#l00621">SymbolTableInfo.h:621</a></div></div>
318
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00641">641</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
319
+ <div class="fragment"><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; {</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a>;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</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#l00621">SymbolTableInfo.h:621</a></div></div>
425
320
  </div><!-- fragment -->
426
321
  </div>
427
322
  </div>
@@ -450,8 +345,8 @@ Private Attributes</h2></td></tr>
450
345
 
451
346
  <p>Get LLVM type. </p>
452
347
 
453
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00647">647</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
454
- <div class="fragment"><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</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#l00615">SymbolTableInfo.h:615</a></div></div>
348
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00635">635</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
349
+ <div class="fragment"><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</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#l00615">SymbolTableInfo.h:615</a></div></div>
455
350
  </div><!-- fragment -->
456
351
  </div>
457
352
  </div>
@@ -479,8 +374,8 @@ Private Attributes</h2></td></tr>
479
374
  </table>
480
375
  </div><div class="memdoc">
481
376
 
482
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00670">670</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
483
- <div class="fragment"><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; {</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</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="l00673"></a><span class="lineno"> 673</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#l00617">SymbolTableInfo.h:617</a></div></div>
377
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00658">658</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
378
+ <div class="fragment"><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; {</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</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="l00661"></a><span class="lineno"> 661</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#l00617">SymbolTableInfo.h:617</a></div></div>
484
379
  </div><!-- fragment -->
485
380
  </div>
486
381
  </div>
@@ -507,8 +402,8 @@ Private Attributes</h2></td></tr>
507
402
  </table>
508
403
  </div><div class="memdoc">
509
404
 
510
- <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>
511
- <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#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_OBJ</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#l00670">SymbolTableInfo.h:670</a></div></div>
405
+ <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>
406
+ <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#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">HASPTR_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#l00658">SymbolTableInfo.h:658</a></div></div>
512
407
  <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#l00610">SymbolTableInfo.h:610</a></div></div>
513
408
  </div><!-- fragment -->
514
409
  </div>
@@ -536,8 +431,8 @@ Private Attributes</h2></td></tr>
536
431
  </table>
537
432
  </div><div class="memdoc">
538
433
 
539
- <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>
540
- <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>) || <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="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#l00670">SymbolTableInfo.h:670</a></div></div>
434
+ <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>
435
+ <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#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="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#l00658">SymbolTableInfo.h:658</a></div></div>
541
436
  <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#l00607">SymbolTableInfo.h:607</a></div></div>
542
437
  <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#l00605">SymbolTableInfo.h:605</a></div></div>
543
438
  </div><!-- fragment -->
@@ -566,8 +461,8 @@ Private Attributes</h2></td></tr>
566
461
  </table>
567
462
  </div><div class="memdoc">
568
463
 
569
- <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>
570
- <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#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">CONST_ARRAY_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#l00670">SymbolTableInfo.h:670</a></div></div>
464
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00707">707</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
465
+ <div class="fragment"><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; {</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</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="l00710"></a><span class="lineno"> 710</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#l00658">SymbolTableInfo.h:658</a></div></div>
571
466
  <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#l00607">SymbolTableInfo.h:607</a></div></div>
572
467
  </div><!-- fragment -->
573
468
  </div>
@@ -595,8 +490,8 @@ Private Attributes</h2></td></tr>
595
490
  </table>
596
491
  </div><div class="memdoc">
597
492
 
598
- <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>
599
- <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#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">CONST_DATA</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#l00670">SymbolTableInfo.h:670</a></div></div>
493
+ <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>
494
+ <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#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">CONST_DATA</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#l00658">SymbolTableInfo.h:658</a></div></div>
600
495
  <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#l00609">SymbolTableInfo.h:609</a></div></div>
601
496
  </div><!-- fragment -->
602
497
  </div>
@@ -624,8 +519,8 @@ Private Attributes</h2></td></tr>
624
519
  </table>
625
520
  </div><div class="memdoc">
626
521
 
627
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00707">707</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
628
- <div class="fragment"><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; {</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</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="l00710"></a><span class="lineno"> 710</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#l00670">SymbolTableInfo.h:670</a></div></div>
522
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00695">695</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
523
+ <div class="fragment"><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; {</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</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="l00698"></a><span class="lineno"> 698</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#l00658">SymbolTableInfo.h:658</a></div></div>
629
524
  <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#l00606">SymbolTableInfo.h:606</a></div></div>
630
525
  </div><!-- fragment -->
631
526
  </div>
@@ -653,8 +548,8 @@ Private Attributes</h2></td></tr>
653
548
  </table>
654
549
  </div><div class="memdoc">
655
550
 
656
- <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>
657
- <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#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="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#l00670">SymbolTableInfo.h:670</a></div></div>
551
+ <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>
552
+ <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#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="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#l00658">SymbolTableInfo.h:658</a></div></div>
658
553
  <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#l00609">SymbolTableInfo.h:609</a></div></div>
659
554
  <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#l00608">SymbolTableInfo.h:608</a></div></div>
660
555
  </div><!-- fragment -->
@@ -685,8 +580,8 @@ Private Attributes</h2></td></tr>
685
580
 
686
581
  <p>Object attributes. </p>
687
582
 
688
- <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>
689
- <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#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">FUNCTION_OBJ</a>);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</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#l00670">SymbolTableInfo.h:670</a></div></div>
583
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00666">666</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
584
+ <div class="fragment"><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; {</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</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="l00669"></a><span class="lineno"> 669</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#l00658">SymbolTableInfo.h:658</a></div></div>
690
585
  <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#l00599">SymbolTableInfo.h:599</a></div></div>
691
586
  </div><!-- fragment -->
692
587
  </div>
@@ -714,8 +609,8 @@ Private Attributes</h2></td></tr>
714
609
  </table>
715
610
  </div><div class="memdoc">
716
611
 
717
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00682">682</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
718
- <div class="fragment"><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; {</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</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="l00685"></a><span class="lineno"> 685</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#l00670">SymbolTableInfo.h:670</a></div></div>
612
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00670">670</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
613
+ <div class="fragment"><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; {</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</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="l00673"></a><span class="lineno"> 673</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#l00658">SymbolTableInfo.h:658</a></div></div>
719
614
  <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#l00600">SymbolTableInfo.h:600</a></div></div>
720
615
  </div><!-- fragment -->
721
616
  </div>
@@ -743,8 +638,8 @@ Private Attributes</h2></td></tr>
743
638
  </table>
744
639
  </div><div class="memdoc">
745
640
 
746
- <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>
747
- <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#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">HEAP_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#l00670">SymbolTableInfo.h:670</a></div></div>
641
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00682">682</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
642
+ <div class="fragment"><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; {</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</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="l00685"></a><span class="lineno"> 685</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#l00658">SymbolTableInfo.h:658</a></div></div>
748
643
  <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#l00603">SymbolTableInfo.h:603</a></div></div>
749
644
  </div><!-- fragment -->
750
645
  </div>
@@ -774,19 +669,17 @@ Private Attributes</h2></td></tr>
774
669
  </div><div class="memdoc">
775
670
  <p>Whether a location set is a pointer type or not </p>
776
671
 
777
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00624">624</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
778
- <div class="fragment"><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;{</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</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="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</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="l00630"></a><span class="lineno"> 630</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="l00631"></a><span class="lineno"> 631</span>&#160; {</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; ety = AT-&gt;getElementType();</div><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;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</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="l00636"></a><span class="lineno"> 636</span>&#160; {</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordtype">bool</span> hasIntersection = <span class="keyword">false</span>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</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="l00639"></a><span class="lineno"> 639</span>&#160; vector&lt;FlattenedFieldInfo&gt;::const_iterator it = infovec.begin();</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; vector&lt;FlattenedFieldInfo&gt;::const_iterator eit = infovec.end();</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; {</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</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="l00644"></a><span class="lineno"> 644</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.<a class="code" href="classSVF_1_1FlattenedFieldInfo.html#a34759f793f0445d2941c9a7d1413b7b2">getFlattenFldIdx</a>())))</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; hasIntersection = <span class="keyword">true</span>;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</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="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; }</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; }</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="comment">//assert(hasIntersection &amp;&amp; &quot;cannot find field of specified offset&quot;);</span></div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; }</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; {</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</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="l00657"></a><span class="lineno"> 657</span>&#160; {</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="comment">// TODO: Objects which cannot find proper field for a certain offset including</span></div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">// arguments in main(), static objects allocated before main and heap</span></div><div class="line"><a name="l00660"></a><span class="lineno"> 660</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="l00661"></a><span class="lineno"> 661</span>&#160; <span class="comment">// treat each field as pointers conservatively.</span></div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="comment">// Try to model static and heap objects more accurately in the future.</span></div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; }</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">else</span></div><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="comment">// TODO: Using new memory model (locMM) may create objects with spurious offset</span></div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="comment">// as we simply return new offset by mod operation without checking its</span></div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="comment">// correctness in LocSymTableInfo::getModulusOffset(). So the following</span></div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="comment">// assertion may fail. Try to refine the new memory model.</span></div><div class="line"><a name="l00671"></a><span class="lineno"> 671</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="l00672"></a><span class="lineno"> 672</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="l00673"></a><span class="lineno"> 673</span>&#160; }</div><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;}</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#l00140">LocationSet.h:140</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#l00694">SymbolTableInfo.h:694</a></div></div>
672
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00615">615</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
673
+ <div class="fragment"><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;{</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ObjTypeInfo.html#ac5bae1e7917f415193a805e8d2e29320">hasPtrObj</a>() == <span class="keyword">false</span>)</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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; <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="l00621"></a><span class="lineno"> 621</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="l00622"></a><span class="lineno"> 622</span>&#160; {</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; ety = AT-&gt;getElementType();</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 class="line"><a name="l00626"></a><span class="lineno"> 626</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="l00627"></a><span class="lineno"> 627</span>&#160; {</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keywordtype">bool</span> hasIntersection = <span class="keyword">false</span>;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</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="l00630"></a><span class="lineno"> 630</span>&#160; vector&lt;FlattenedFieldInfo&gt;::const_iterator it = infovec.begin();</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; vector&lt;FlattenedFieldInfo&gt;::const_iterator eit = infovec.end();</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><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; <span class="keyword">const</span> <a class="code" href="classSVF_1_1FlattenedFieldInfo.html">FlattenedFieldInfo</a>&amp; fieldLS = *it;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</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.<a class="code" href="classSVF_1_1FlattenedFieldInfo.html#a34759f793f0445d2941c9a7d1413b7b2">getFlattenFldIdx</a>())))</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; hasIntersection = <span class="keyword">true</span>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</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="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="comment">//assert(hasIntersection &amp;&amp; &quot;cannot find field of specified offset&quot;);</span></div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><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; <span class="keywordflow">else</span></div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</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="l00648"></a><span class="lineno"> 648</span>&#160; }</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</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#l00140">LocationSet.h:140</a></div></div>
780
674
  <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
675
  <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
676
  <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>
783
- <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#l00686">SymbolTableInfo.h:686</a></div></div>
784
677
  <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>
785
678
  <div class="ttc" id="classSVF_1_1FlattenedFieldInfo_html_a34759f793f0445d2941c9a7d1413b7b2"><div class="ttname"><a href="classSVF_1_1FlattenedFieldInfo.html#a34759f793f0445d2941c9a7d1413b7b2">SVF::FlattenedFieldInfo::getFlattenFldIdx</a></div><div class="ttdeci">u32_t getFlattenFldIdx() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00055">LocationSet.h:55</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#l00647">SymbolTableInfo.h:647</a></div></div>
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#l00101">SymbolTableInfo.cpp:101</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#l00416">SymbolTableInfo.cpp:416</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#l00735">SymbolTableInfo.h:735</a></div></div>
679
+ <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#l00635">SymbolTableInfo.h:635</a></div></div>
680
+ <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#l00115">SymbolTableInfo.cpp:115</a></div></div>
681
+ <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#l00430">SymbolTableInfo.cpp:430</a></div></div>
682
+ <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#l00723">SymbolTableInfo.h:723</a></div></div>
790
683
  <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
684
  </div><!-- fragment -->
792
685
  </div>
@@ -814,8 +707,8 @@ Private Attributes</h2></td></tr>
814
707
  </table>
815
708
  </div><div class="memdoc">
816
709
 
817
- <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>
818
- <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#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">STACK_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#l00670">SymbolTableInfo.h:670</a></div></div>
710
+ <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>
711
+ <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#a8e630eb30d05f665b998c6f9326d65cb">hasFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">STACK_OBJ</a>);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</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#l00658">SymbolTableInfo.h:658</a></div></div>
819
712
  <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#l00602">SymbolTableInfo.h:602</a></div></div>
820
713
  </div><!-- fragment -->
821
714
  </div>
@@ -843,8 +736,8 @@ Private Attributes</h2></td></tr>
843
736
  </table>
844
737
  </div><div class="memdoc">
845
738
 
846
- <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>
847
- <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#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">STATIC_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#l00670">SymbolTableInfo.h:670</a></div></div>
739
+ <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>
740
+ <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; <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="l00677"></a><span class="lineno"> 677</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#l00658">SymbolTableInfo.h:658</a></div></div>
848
741
  <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#l00601">SymbolTableInfo.h:601</a></div></div>
849
742
  </div><!-- fragment -->
850
743
  </div>
@@ -872,8 +765,8 @@ Private Attributes</h2></td></tr>
872
765
  </table>
873
766
  </div><div class="memdoc">
874
767
 
875
- <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>
876
- <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>) || <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="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#l00670">SymbolTableInfo.h:670</a></div></div>
768
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00699">699</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
769
+ <div class="fragment"><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; {</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</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="l00702"></a><span class="lineno"> 702</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#l00658">SymbolTableInfo.h:658</a></div></div>
877
770
  <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#l00604">SymbolTableInfo.h:604</a></div></div>
878
771
  <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#l00606">SymbolTableInfo.h:606</a></div></div>
879
772
  </div><!-- fragment -->
@@ -902,8 +795,8 @@ Private Attributes</h2></td></tr>
902
795
  </table>
903
796
  </div><div class="memdoc">
904
797
 
905
- <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>
906
- <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#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">VAR_ARRAY_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#l00670">SymbolTableInfo.h:670</a></div></div>
798
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00703">703</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
799
+ <div class="fragment"><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; {</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</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="l00706"></a><span class="lineno"> 706</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#l00658">SymbolTableInfo.h:658</a></div></div>
907
800
  <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#l00605">SymbolTableInfo.h:605</a></div></div>
908
801
  </div><!-- fragment -->
909
802
  </div>
@@ -932,12 +825,44 @@ Private Attributes</h2></td></tr>
932
825
  </div><div class="memdoc">
933
826
  <p>Object attributes (noted that an object can be a nested compound types) e.g. both isStruct and isArray can return true </p>
934
827
 
935
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00703">703</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
936
- <div class="fragment"><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; {</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</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="l00706"></a><span class="lineno"> 706</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#l00670">SymbolTableInfo.h:670</a></div></div>
828
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00691">691</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
829
+ <div class="fragment"><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</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="l00694"></a><span class="lineno"> 694</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#l00658">SymbolTableInfo.h:658</a></div></div>
937
830
  <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#l00604">SymbolTableInfo.h:604</a></div></div>
938
831
  </div><!-- fragment -->
939
832
  </div>
940
833
  </div>
834
+ <a id="a57d714a511273b8275374cd4c7f14373"></a>
835
+ <h2 class="memtitle"><span class="permalink"><a href="#a57d714a511273b8275374cd4c7f14373">&#9670;&nbsp;</a></span>resetTypeForHeapStaticObj()</h2>
836
+
837
+ <div class="memitem">
838
+ <div class="memproto">
839
+ <table class="mlabels">
840
+ <tr>
841
+ <td class="mlabels-left">
842
+ <table class="memname">
843
+ <tr>
844
+ <td class="memname">void ObjTypeInfo::resetTypeForHeapStaticObj </td>
845
+ <td>(</td>
846
+ <td class="paramtype">const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *&#160;</td>
847
+ <td class="paramname"><em>type</em></td><td>)</td>
848
+ <td></td>
849
+ </tr>
850
+ </table>
851
+ </td>
852
+ <td class="mlabels-right">
853
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
854
+ </tr>
855
+ </table>
856
+ </div><div class="memdoc">
857
+
858
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8cpp_source.html#l00053">53</a> of file <a class="el" href="SymbolTableInfo_8cpp_source.html">SymbolTableInfo.cpp</a>.</p>
859
+ <div class="fragment"><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>((<a class="code" href="classSVF_1_1ObjTypeInfo.html#a3594dc1c1943dbac0ab72f2ff163c523">isStaticObj</a>() || <a class="code" href="classSVF_1_1ObjTypeInfo.html#a26c179394fbda9a9261d0bf3f52b619d">isHeap</a>()) &amp;&amp; <span class="stringliteral">&quot;can only reset the inferred type for heap and static objects!&quot;</span>);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a6e7780d4e2639c089ff6c853d8d78a4d">type</a> = t;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;}</div><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#l00682">SymbolTableInfo.h:682</a></div></div>
860
+ <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>
861
+ <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#l00674">SymbolTableInfo.h:674</a></div></div>
862
+ <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#l00615">SymbolTableInfo.h:615</a></div></div>
863
+ </div><!-- fragment -->
864
+ </div>
865
+ </div>
941
866
  <a id="ad6fb2bfae3d4b73a6821a87106f65f49"></a>
942
867
  <h2 class="memtitle"><span class="permalink"><a href="#ad6fb2bfae3d4b73a6821a87106f65f49">&#9670;&nbsp;</a></span>setFlag()</h2>
943
868
 
@@ -964,8 +889,8 @@ Private Attributes</h2></td></tr>
964
889
 
965
890
  <p>Flag for this object type. </p>
966
891
 
967
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00666">666</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
968
- <div class="fragment"><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; {</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a> |= mask;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</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#l00617">SymbolTableInfo.h:617</a></div></div>
892
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00654">654</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
893
+ <div class="fragment"><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; {</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1">flags</a> |= mask;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</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#l00617">SymbolTableInfo.h:617</a></div></div>
969
894
  </div><!-- fragment -->
970
895
  </div>
971
896
  </div>
@@ -995,9 +920,34 @@ Private Attributes</h2></td></tr>
995
920
 
996
921
  <p>Get max field offset limit. </p>
997
922
 
998
- <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00659">659</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
999
- <div class="fragment"><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; {</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a> = limit;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</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#l00621">SymbolTableInfo.h:621</a></div></div>
923
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00647">647</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
924
+ <div class="fragment"><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a">maxOffsetLimit</a> = limit;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</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#l00621">SymbolTableInfo.h:621</a></div></div>
1000
925
  </div><!-- fragment -->
926
+ </div>
927
+ </div>
928
+ <h2 class="groupheader">Friends And Related Function Documentation</h2>
929
+ <a id="a9d9633d48431b80c078bd4a34c1e7fa0"></a>
930
+ <h2 class="memtitle"><span class="permalink"><a href="#a9d9633d48431b80c078bd4a34c1e7fa0">&#9670;&nbsp;</a></span>SymbolTableBuilder</h2>
931
+
932
+ <div class="memitem">
933
+ <div class="memproto">
934
+ <table class="mlabels">
935
+ <tr>
936
+ <td class="mlabels-left">
937
+ <table class="memname">
938
+ <tr>
939
+ <td class="memname">friend class <a class="el" href="classSVF_1_1SymbolTableBuilder.html">SymbolTableBuilder</a></td>
940
+ </tr>
941
+ </table>
942
+ </td>
943
+ <td class="mlabels-right">
944
+ <span class="mlabels"><span class="mlabel">friend</span></span> </td>
945
+ </tr>
946
+ </table>
947
+ </div><div class="memdoc">
948
+
949
+ <p class="definition">Definition at line <a class="el" href="SymbolTableInfo_8h_source.html#l00595">595</a> of file <a class="el" href="SymbolTableInfo_8h_source.html">SymbolTableInfo.h</a>.</p>
950
+
1001
951
  </div>
1002
952
  </div>
1003
953
  <h2 class="groupheader">Member Data Documentation</h2>