svf-tools 1.0.412 → 1.0.415

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 (164) hide show
  1. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
  2. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +3 -3
  3. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +5 -5
  4. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
  5. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +4 -4
  6. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  7. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  8. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +5 -5
  9. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +1 -1
  11. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +14 -14
  12. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +6 -6
  13. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +21 -21
  14. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +8 -8
  15. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +89 -88
  18. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +15 -15
  19. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +19 -19
  20. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +71 -69
  21. package/SVF-doxygen/html/html/SVFG_8h_source.html +41 -41
  22. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/SVFUtil_8h.html +2 -2
  24. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +2 -2
  25. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  27. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +1 -1
  28. package/SVF-doxygen/html/html/VFGNode_8h.html +1 -1
  29. package/SVF-doxygen/html/html/VFGNode_8h_source.html +197 -195
  30. package/SVF-doxygen/html/html/VFG_8cpp_source.html +89 -72
  31. package/SVF-doxygen/html/html/VFG_8h_source.html +39 -39
  32. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +7 -7
  33. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +2 -2
  34. package/SVF-doxygen/html/html/WPAStat_8h_source.html +2 -2
  35. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +46 -45
  36. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +24 -21
  37. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +46 -45
  38. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +25 -22
  39. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +45 -44
  40. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +59 -22
  41. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +46 -45
  42. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +61 -24
  43. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +51 -50
  44. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +50 -14
  45. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +6 -6
  46. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode-members.html +44 -43
  47. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +23 -20
  48. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode-members.html +52 -51
  49. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +69 -32
  50. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode-members.html +46 -45
  51. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +59 -24
  52. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -2
  53. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  54. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode-members.html +52 -51
  55. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +70 -33
  56. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
  57. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +51 -50
  58. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +50 -14
  59. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  60. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -2
  61. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode-members.html +46 -45
  62. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +53 -17
  63. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  64. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +32 -32
  65. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
  66. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +17 -17
  67. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +47 -46
  68. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +24 -21
  69. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +47 -46
  70. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +22 -19
  71. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode-members.html +45 -44
  72. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +65 -28
  73. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode-members.html +49 -48
  74. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +65 -28
  75. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +51 -50
  76. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +50 -14
  77. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  78. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +58 -57
  79. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +45 -42
  80. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +56 -55
  81. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +40 -37
  82. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -2
  83. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  84. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode-members.html +56 -55
  85. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +26 -23
  86. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode-members.html +57 -56
  87. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +26 -23
  88. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +54 -53
  89. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +50 -14
  90. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
  91. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode-members.html +44 -43
  92. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +48 -13
  93. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode-members.html +53 -52
  94. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +36 -33
  95. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +32 -32
  96. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -2
  97. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode-members.html +46 -45
  98. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +58 -21
  99. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode-members.html +53 -52
  100. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +71 -34
  101. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -2
  102. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  103. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +77 -77
  104. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  105. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +29 -29
  106. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +7 -7
  108. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode-members.html +51 -50
  109. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +35 -32
  110. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +54 -53
  111. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +51 -14
  112. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  113. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode-members.html +55 -54
  114. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +76 -39
  115. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +70 -70
  116. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +2 -2
  117. package/SVF-doxygen/html/html/classSVF_1_1VFGNode-members.html +43 -42
  118. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +41 -9
  119. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +10 -10
  120. package/SVF-doxygen/html/html/functions_func_g.html +32 -12
  121. package/SVF-doxygen/html/html/functions_func_t.html +2 -2
  122. package/SVF-doxygen/html/html/functions_g.html +27 -7
  123. package/SVF-doxygen/html/html/functions_i.html +1 -1
  124. package/SVF-doxygen/html/html/functions_l.html +5 -5
  125. package/SVF-doxygen/html/html/functions_p.html +6 -6
  126. package/SVF-doxygen/html/html/functions_r.html +8 -8
  127. package/SVF-doxygen/html/html/functions_t.html +8 -6
  128. package/SVF-doxygen/html/html/functions_v.html +3 -3
  129. package/SVF-doxygen/html/html/namespaceSVF.html +1 -1
  130. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +7 -7
  131. package/SVF-doxygen/html/html/namespacemembers_p.html +1 -1
  132. package/SVF-doxygen/html/html/namespacemembers_type_p.html +1 -1
  133. package/SVF-doxygen/html/html/search/all_10.js +5 -5
  134. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  135. package/SVF-doxygen/html/html/search/all_13.js +3 -3
  136. package/SVF-doxygen/html/html/search/all_14.js +7 -7
  137. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  138. package/SVF-doxygen/html/html/search/all_7.js +1 -0
  139. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  140. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  141. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  142. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  143. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  144. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  145. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  146. package/SVF-doxygen/html/html/search/functions_6.js +1 -0
  147. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  148. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  149. package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
  150. package/SVF-doxygen/html/html/search/variables_14.js +4 -4
  151. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  152. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  153. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +48 -48
  154. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +36 -36
  155. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SVFGNodeLockSpan_01_4.html +1 -1
  156. package/include/Graphs/SVFGNode.h +6 -1
  157. package/include/Graphs/VFG.h +1 -1
  158. package/include/Graphs/VFGNode.h +38 -3
  159. package/include/Util/SVFUtil.h +1 -1
  160. package/lib/Graphs/SVFG.cpp +9 -0
  161. package/lib/Graphs/VFG.cpp +86 -0
  162. package/lib/Util/NodeIDAllocator.cpp +2 -2
  163. package/lib/WPA/AndersenStat.cpp +0 -8
  164. package/package.json +1 -1
@@ -119,7 +119,7 @@ Static Public Member Functions</h2></td></tr>
119
119
  struct llvm::DOTGraphTraits&lt; SVFG * &gt;</h3>
120
120
 
121
121
 
122
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00752">752</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
122
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00761">761</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
123
123
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
124
124
  <a id="a07ad41a658bfc0a404a5f6abc823040b"></a>
125
125
  <h2 class="memtitle"><span class="permalink"><a href="#a07ad41a658bfc0a404a5f6abc823040b">&#9670;&nbsp;</a></span>NodeType</h2>
@@ -133,7 +133,7 @@ struct llvm::DOTGraphTraits&lt; SVFG * &gt;</h3>
133
133
  </table>
134
134
  </div><div class="memdoc">
135
135
 
136
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00755">755</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
136
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00764">764</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
137
137
 
138
138
  </div>
139
139
  </div>
@@ -162,8 +162,8 @@ struct llvm::DOTGraphTraits&lt; SVFG * &gt;</h3>
162
162
  </table>
163
163
  </div><div class="memdoc">
164
164
 
165
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00756">756</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
166
- <div class="fragment"><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; :</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; DOTGraphTraits&lt;SVFIR*&gt;(isSimple)</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; {</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; }</div></div><!-- fragment -->
165
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00765">765</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
166
+ <div class="fragment"><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; :</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; DOTGraphTraits&lt;SVFIR*&gt;(isSimple)</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; {</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; }</div></div><!-- fragment -->
167
167
  </div>
168
168
  </div>
169
169
  <h2 class="groupheader">Member Function Documentation</h2>
@@ -203,24 +203,24 @@ struct llvm::DOTGraphTraits&lt; SVFG * &gt;</h3>
203
203
 
204
204
  <p>Return label of a VFG node with MemSSA information. </p>
205
205
 
206
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00858">858</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
207
- <div class="fragment"><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; {</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160;</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; std::string str;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* stmtNode = SVFUtil::dyn_cast&lt;StmtSVFGNode&gt;(node))</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; {</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; rawstr &lt;&lt; stmtNode-&gt;toString();</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; }</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1BinaryOPVFGNode.html">BinaryOPVFGNode</a>* bop = SVFUtil::dyn_cast&lt;BinaryOPVFGNode&gt;(node))</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; {</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; rawstr &lt;&lt; bop-&gt;toString();</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; }</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1UnaryOPVFGNode.html">UnaryOPVFGNode</a>* uop = SVFUtil::dyn_cast&lt;UnaryOPVFGNode&gt;(node))</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; {</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; rawstr &lt;&lt; uop-&gt;toString();</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; }</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CmpVFGNode.html">CmpVFGNode</a>* cmp = SVFUtil::dyn_cast&lt;CmpVFGNode&gt;(node))</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; {</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; rawstr &lt;&lt; cmp-&gt;toString();</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; }</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>* mphi = SVFUtil::dyn_cast&lt;MSSAPHISVFGNode&gt;(node))</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; {</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; rawstr &lt;&lt; mphi-&gt;toString();</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; }</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PHIVFGNode.html">PHISVFGNode</a>* tphi = SVFUtil::dyn_cast&lt;PHISVFGNode&gt;(node))</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; {</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; rawstr &lt;&lt; tphi-&gt;toString();</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; }</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* fi = SVFUtil::dyn_cast&lt;FormalINSVFGNode&gt;(node))</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; {</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; rawstr &lt;&lt; fi-&gt;toString();</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; }</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>* fo = SVFUtil::dyn_cast&lt;FormalOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; {</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; rawstr &lt;&lt; fo-&gt;toString();</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; }</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalParmVFGNode.html">FormalParmSVFGNode</a>* fp = SVFUtil::dyn_cast&lt;FormalParmSVFGNode&gt;(node))</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; {</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; rawstr &lt;&lt; fp-&gt;toString();</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; }</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a>* ai = SVFUtil::dyn_cast&lt;ActualINSVFGNode&gt;(node))</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; {</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; rawstr &lt;&lt; ai-&gt;toString();</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; }</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* ao = SVFUtil::dyn_cast&lt;ActualOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; {</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; rawstr &lt;&lt; ao-&gt;toString();</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualParmVFGNode.html">ActualParmSVFGNode</a>* ap = SVFUtil::dyn_cast&lt;ActualParmSVFGNode&gt;(node))</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; {</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; rawstr &lt;&lt; ap-&gt;toString();</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; }</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1NullPtrVFGNode.html">NullPtrSVFGNode</a>* nptr = SVFUtil::dyn_cast&lt;NullPtrSVFGNode&gt;(node))</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; {</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; rawstr &lt;&lt; nptr-&gt;toString();</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; }</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ActualRetVFGNode.html">ActualRetSVFGNode</a>* ar = SVFUtil::dyn_cast&lt;ActualRetSVFGNode&gt;(node))</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; {</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; rawstr &lt;&lt; ar-&gt;toString();</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; }</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FormalRetVFGNode.html">FormalRetSVFGNode</a>* fr = SVFUtil::dyn_cast&lt;FormalRetSVFGNode&gt;(node))</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; {</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; rawstr &lt;&lt; fr-&gt;toString();</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; }</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what else kinds of nodes do we have??&quot;</span>);</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160;</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div><div class="ttc" id="classSVF_1_1BinaryOPVFGNode_html"><div class="ttname"><a href="classSVF_1_1BinaryOPVFGNode.html">SVF::BinaryOPVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00387">VFGNode.h:387</a></div></div>
208
- <div class="ttc" id="classSVF_1_1ActualParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html">SVF::ActualParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00831">VFGNode.h:831</a></div></div>
206
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00867">867</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
207
+ <div class="fragment"><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; {</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; std::string str;</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* stmtNode = SVFUtil::dyn_cast&lt;StmtSVFGNode&gt;(node))</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; {</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; rawstr &lt;&lt; stmtNode-&gt;toString();</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; }</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1BinaryOPVFGNode.html">BinaryOPVFGNode</a>* bop = SVFUtil::dyn_cast&lt;BinaryOPVFGNode&gt;(node))</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; {</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; rawstr &lt;&lt; bop-&gt;toString();</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; }</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1UnaryOPVFGNode.html">UnaryOPVFGNode</a>* uop = SVFUtil::dyn_cast&lt;UnaryOPVFGNode&gt;(node))</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; {</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; rawstr &lt;&lt; uop-&gt;toString();</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; }</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CmpVFGNode.html">CmpVFGNode</a>* cmp = SVFUtil::dyn_cast&lt;CmpVFGNode&gt;(node))</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; {</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; rawstr &lt;&lt; cmp-&gt;toString();</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; }</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>* mphi = SVFUtil::dyn_cast&lt;MSSAPHISVFGNode&gt;(node))</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; {</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; rawstr &lt;&lt; mphi-&gt;toString();</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; }</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PHIVFGNode.html">PHISVFGNode</a>* tphi = SVFUtil::dyn_cast&lt;PHISVFGNode&gt;(node))</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; {</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; rawstr &lt;&lt; tphi-&gt;toString();</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; }</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* fi = SVFUtil::dyn_cast&lt;FormalINSVFGNode&gt;(node))</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; {</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; rawstr &lt;&lt; fi-&gt;toString();</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; }</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>* fo = SVFUtil::dyn_cast&lt;FormalOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; {</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; rawstr &lt;&lt; fo-&gt;toString();</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; }</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalParmVFGNode.html">FormalParmSVFGNode</a>* fp = SVFUtil::dyn_cast&lt;FormalParmSVFGNode&gt;(node))</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; {</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; rawstr &lt;&lt; fp-&gt;toString();</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; }</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a>* ai = SVFUtil::dyn_cast&lt;ActualINSVFGNode&gt;(node))</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; {</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; rawstr &lt;&lt; ai-&gt;toString();</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; }</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* ao = SVFUtil::dyn_cast&lt;ActualOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; {</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; rawstr &lt;&lt; ao-&gt;toString();</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; }</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualParmVFGNode.html">ActualParmSVFGNode</a>* ap = SVFUtil::dyn_cast&lt;ActualParmSVFGNode&gt;(node))</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; {</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; rawstr &lt;&lt; ap-&gt;toString();</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; }</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1NullPtrVFGNode.html">NullPtrSVFGNode</a>* nptr = SVFUtil::dyn_cast&lt;NullPtrSVFGNode&gt;(node))</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; {</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; rawstr &lt;&lt; nptr-&gt;toString();</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; }</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ActualRetVFGNode.html">ActualRetSVFGNode</a>* ar = SVFUtil::dyn_cast&lt;ActualRetSVFGNode&gt;(node))</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; {</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; rawstr &lt;&lt; ar-&gt;toString();</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FormalRetVFGNode.html">FormalRetSVFGNode</a>* fr = SVFUtil::dyn_cast&lt;FormalRetSVFGNode&gt;(node))</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; {</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; rawstr &lt;&lt; fr-&gt;toString();</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; }</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what else kinds of nodes do we have??&quot;</span>);</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; }</div><div class="ttc" id="classSVF_1_1BinaryOPVFGNode_html"><div class="ttname"><a href="classSVF_1_1BinaryOPVFGNode.html">SVF::BinaryOPVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00399">VFGNode.h:399</a></div></div>
208
+ <div class="ttc" id="classSVF_1_1ActualParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html">SVF::ActualParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00856">VFGNode.h:856</a></div></div>
209
209
  <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>
210
- <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html">SVF::FormalOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00135">SVFGNode.h:135</a></div></div>
211
- <div class="ttc" id="classSVF_1_1PHIVFGNode_html"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html">SVF::PHIVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00624">VFGNode.h:624</a></div></div>
212
- <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html">SVF::ActualOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00226">SVFGNode.h:226</a></div></div>
213
- <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html">SVF::MSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00273">SVFGNode.h:273</a></div></div>
214
- <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html">SVF::ActualINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00177">SVFGNode.h:177</a></div></div>
215
- <div class="ttc" id="classSVF_1_1UnaryOPVFGNode_html"><div class="ttname"><a href="classSVF_1_1UnaryOPVFGNode.html">SVF::UnaryOPVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00459">VFGNode.h:459</a></div></div>
216
- <div class="ttc" id="classSVF_1_1CmpVFGNode_html"><div class="ttname"><a href="classSVF_1_1CmpVFGNode.html">SVF::CmpVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00315">VFGNode.h:315</a></div></div>
210
+ <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html">SVF::FormalOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00138">SVFGNode.h:138</a></div></div>
211
+ <div class="ttc" id="classSVF_1_1PHIVFGNode_html"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html">SVF::PHIVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00645">VFGNode.h:645</a></div></div>
212
+ <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html">SVF::ActualOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00229">SVFGNode.h:229</a></div></div>
213
+ <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html">SVF::MSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00276">SVFGNode.h:276</a></div></div>
214
+ <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html">SVF::ActualINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00180">SVFGNode.h:180</a></div></div>
215
+ <div class="ttc" id="classSVF_1_1UnaryOPVFGNode_html"><div class="ttname"><a href="classSVF_1_1UnaryOPVFGNode.html">SVF::UnaryOPVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00473">VFGNode.h:473</a></div></div>
216
+ <div class="ttc" id="classSVF_1_1CmpVFGNode_html"><div class="ttname"><a href="classSVF_1_1CmpVFGNode.html">SVF::CmpVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00324">VFGNode.h:324</a></div></div>
217
217
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
218
- <div class="ttc" id="classSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00948">VFGNode.h:948</a></div></div>
219
- <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00113">VFGNode.h:113</a></div></div>
220
- <div class="ttc" id="classSVF_1_1FormalParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalParmVFGNode.html">SVF::FormalParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00881">VFGNode.h:881</a></div></div>
221
- <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html">SVF::FormalRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01004">VFGNode.h:1004</a></div></div>
222
- <div class="ttc" id="classSVF_1_1NullPtrVFGNode_html"><div class="ttname"><a href="classSVF_1_1NullPtrVFGNode.html">SVF::NullPtrVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01131">VFGNode.h:1131</a></div></div>
223
- <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html">SVF::FormalINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00090">SVFGNode.h:90</a></div></div>
218
+ <div class="ttc" id="classSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00977">VFGNode.h:977</a></div></div>
219
+ <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
220
+ <div class="ttc" id="classSVF_1_1FormalParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalParmVFGNode.html">SVF::FormalParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00908">VFGNode.h:908</a></div></div>
221
+ <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html">SVF::FormalRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01035">VFGNode.h:1035</a></div></div>
222
+ <div class="ttc" id="classSVF_1_1NullPtrVFGNode_html"><div class="ttname"><a href="classSVF_1_1NullPtrVFGNode.html">SVF::NullPtrVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01164">VFGNode.h:1164</a></div></div>
223
+ <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html">SVF::FormalINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00093">SVFGNode.h:93</a></div></div>
224
224
  </div><!-- fragment -->
225
225
  </div>
226
226
  </div>
@@ -266,8 +266,8 @@ template&lt;class EdgeIter &gt; </div>
266
266
  </table>
267
267
  </div><div class="memdoc">
268
268
 
269
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l01048">1048</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
270
- <div class="fragment"><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; {</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;DirectSVFGEdge&gt;(edge))</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; {</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;CallDirSVFGEdge&gt;(edge))</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid,color=red&quot;</span>;</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetDirSVFGEdge&gt;(edge))</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid,color=blue&quot;</span>;</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid&quot;</span>;</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; }</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;IndirectSVFGEdge&gt;(edge))</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; {</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;CallIndSVFGEdge&gt;(edge))</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=dashed,color=red&quot;</span>;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetIndSVFGEdge&gt;(edge))</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=dashed,color=blue&quot;</span>;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=dashed&quot;</span>;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; }</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</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>
269
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l01057">1057</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
270
+ <div class="fragment"><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; {</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;DirectSVFGEdge&gt;(edge))</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; {</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;CallDirSVFGEdge&gt;(edge))</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid,color=red&quot;</span>;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetDirSVFGEdge&gt;(edge))</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid,color=blue&quot;</span>;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid&quot;</span>;</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; }</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;IndirectSVFGEdge&gt;(edge))</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; {</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;CallIndSVFGEdge&gt;(edge))</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=dashed,color=red&quot;</span>;</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetIndSVFGEdge&gt;(edge))</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=dashed,color=blue&quot;</span>;</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=dashed&quot;</span>;</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; }</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</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>
271
271
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
272
272
  </div><!-- fragment -->
273
273
  </div>
@@ -308,8 +308,8 @@ template&lt;class EdgeIter &gt; </div>
308
308
  </table>
309
309
  </div><div class="memdoc">
310
310
 
311
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l01074">1074</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
312
- <div class="fragment"><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; {</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; std::string str;</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallDirSVFGEdge.html">CallDirSVFGEdge</a>* dirCall = SVFUtil::dyn_cast&lt;CallDirSVFGEdge&gt;(edge))</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; rawstr &lt;&lt; dirCall-&gt;getCallSiteId();</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetDirSVFGEdge.html">RetDirSVFGEdge</a>* dirRet = SVFUtil::dyn_cast&lt;RetDirSVFGEdge&gt;(edge))</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; rawstr &lt;&lt; dirRet-&gt;getCallSiteId();</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* indCall = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(edge))</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; rawstr &lt;&lt; indCall-&gt;getCallSiteId();</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* indRet = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(edge))</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; rawstr &lt;&lt; indRet-&gt;getCallSiteId();</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; }</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00177">SVFGEdge.h:177</a></div></div>
311
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l01083">1083</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
312
+ <div class="fragment"><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; {</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; std::string str;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallDirSVFGEdge.html">CallDirSVFGEdge</a>* dirCall = SVFUtil::dyn_cast&lt;CallDirSVFGEdge&gt;(edge))</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; rawstr &lt;&lt; dirCall-&gt;getCallSiteId();</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetDirSVFGEdge.html">RetDirSVFGEdge</a>* dirRet = SVFUtil::dyn_cast&lt;RetDirSVFGEdge&gt;(edge))</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; rawstr &lt;&lt; dirRet-&gt;getCallSiteId();</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* indCall = SVFUtil::dyn_cast&lt;CallIndSVFGEdge&gt;(edge))</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; rawstr &lt;&lt; indCall-&gt;getCallSiteId();</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* indRet = SVFUtil::dyn_cast&lt;RetIndSVFGEdge&gt;(edge))</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; rawstr &lt;&lt; indRet-&gt;getCallSiteId();</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; }</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00177">SVFGEdge.h:177</a></div></div>
313
313
  <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>
314
314
  <div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00138">SVFGEdge.h:138</a></div></div>
315
315
  <div class="ttc" id="classSVF_1_1CallDirSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallDirSVFGEdge.html">SVF::CallDirSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00211">VFGEdge.h:211</a></div></div>
@@ -345,8 +345,8 @@ template&lt;class EdgeIter &gt; </div>
345
345
 
346
346
  <p>Return name of the graph. </p>
347
347
 
348
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00762">762</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
349
- <div class="fragment"><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;SVFG&quot;</span>;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; }</div></div><!-- fragment -->
348
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00771">771</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
349
+ <div class="fragment"><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; {</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;SVFG&quot;</span>;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; }</div></div><!-- fragment -->
350
350
  </div>
351
351
  </div>
352
352
  <a id="a2efe884d285b1e4a0541e022f9ed40df"></a>
@@ -384,14 +384,14 @@ template&lt;class EdgeIter &gt; </div>
384
384
  </div><div class="memdoc">
385
385
  <p>dump slice information </p>
386
386
 
387
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00929">929</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
388
- <div class="fragment"><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; {</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; std::string str;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* stmtNode = SVFUtil::dyn_cast&lt;StmtSVFGNode&gt;(node))</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; {</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = stmtNode-&gt;getPAGEdge();</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;AddrStmt&gt;(edge))</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; {</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=green&quot;</span>;</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; }</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;CopyStmt&gt;(edge))</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; {</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; }</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetPE&gt;(edge))</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; {</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black,style=dotted&quot;</span>;</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; }</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;GepStmt&gt;(edge))</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; {</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=purple&quot;</span>;</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; }</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;StoreStmt&gt;(edge))</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; {</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=blue&quot;</span>;</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; }</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;LoadStmt&gt;(edge))</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; {</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=red&quot;</span>;</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; }</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; {</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(0 &amp;&amp; <span class="stringliteral">&quot;No such kind edge!!&quot;</span>);</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; }</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; }</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;MSSAPHISVFGNode&gt;(node))</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; {</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; }</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;PHISVFGNode&gt;(node))</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; {</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; }</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;NullPtrSVFGNode&gt;(node))</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; {</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=grey&quot;</span>;</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; }</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FormalINSVFGNode&gt;(node))</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; {</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; }</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FormalOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; {</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; }</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FormalParmSVFGNode&gt;(node))</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; {</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; }</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;ActualINSVFGNode&gt;(node))</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; {</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; }</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;ActualOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; {</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; }</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;ActualParmSVFGNode&gt;(node))</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; {</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; }</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;ActualRetSVFGNode&gt;(node))</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; {</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; }</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;FormalRetSVFGNode&gt;(node))</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; {</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; }</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;BinaryOPVFGNode&gt;(node))</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; {</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black,penwidth=2&quot;</span>;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; }</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;CmpVFGNode&gt;(node))</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; {</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black,penwidth=2&quot;</span>;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; }</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;UnaryOPVFGNode&gt;(node))</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; {</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black,penwidth=2&quot;</span>;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; }</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;no such kind of node!!&quot;</span>);</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; <span class="keywordflow">if</span>(graph-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a72c93b86e95bdbe32ade33f7264f4c0a">isSource</a>(node))</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; {</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,style=filled, fillcolor=red&quot;</span>;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; }</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(graph-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#ae905f0d64db3039f8fd3c117c4624e31">isSink</a>(node))</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; {</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,style=filled, fillcolor=blue&quot;</span>;</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; }</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(graph-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a6e68486e02db81cbbedc942ace3e9590">inBackwardSlice</a>(node))</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; {</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,style=filled, fillcolor=yellow&quot;</span>;</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; }</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(graph-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#adc6a5c3e430bdf942f1462e101ac6917">inForwardSlice</a>(node))</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,style=filled, fillcolor=gray&quot;</span>;</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFG_html_a8ba934714a7f2caf2e041002fdb66137"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">SVF::SVFG::getStat</a></div><div class="ttdeci">SVFGStat * getStat() const</div><div class="ttdoc">Return statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00125">SVFG.h:125</a></div></div>
387
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00938">938</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
388
+ <div class="fragment"><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; {</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; std::string str;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* stmtNode = SVFUtil::dyn_cast&lt;StmtSVFGNode&gt;(node))</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; {</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = stmtNode-&gt;getPAGEdge();</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;AddrStmt&gt;(edge))</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; {</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=green&quot;</span>;</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; }</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;CopyStmt&gt;(edge))</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; {</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; }</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetPE&gt;(edge))</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black,style=dotted&quot;</span>;</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; }</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;GepStmt&gt;(edge))</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; {</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=purple&quot;</span>;</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; }</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;StoreStmt&gt;(edge))</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; {</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=blue&quot;</span>;</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; }</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;LoadStmt&gt;(edge))</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; {</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=red&quot;</span>;</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; }</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; {</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(0 &amp;&amp; <span class="stringliteral">&quot;No such kind edge!!&quot;</span>);</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; }</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; }</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;MSSAPHISVFGNode&gt;(node))</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; {</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; }</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;PHISVFGNode&gt;(node))</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; {</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black&quot;</span>;</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; }</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;NullPtrSVFGNode&gt;(node))</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; {</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=grey&quot;</span>;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; }</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FormalINSVFGNode&gt;(node))</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; {</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; }</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FormalOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; {</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; }</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FormalParmSVFGNode&gt;(node))</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; {</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; }</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;ActualINSVFGNode&gt;(node))</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; {</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; }</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;ActualOUTSVFGNode&gt;(node))</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; {</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; }</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;ActualParmSVFGNode&gt;(node))</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; {</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; }</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;ActualRetSVFGNode&gt;(node))</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; {</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; }</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;FormalRetSVFGNode&gt;(node))</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; {</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=yellow,penwidth=2&quot;</span>;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; }</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;BinaryOPVFGNode&gt;(node))</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; {</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black,penwidth=2&quot;</span>;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; }</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;CmpVFGNode&gt;(node))</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; {</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black,penwidth=2&quot;</span>;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; }</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;UnaryOPVFGNode&gt;(node))</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; {</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;color=black,penwidth=2&quot;</span>;</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; }</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;no such kind of node!!&quot;</span>);</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; <span class="keywordflow">if</span>(graph-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a72c93b86e95bdbe32ade33f7264f4c0a">isSource</a>(node))</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; {</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,style=filled, fillcolor=red&quot;</span>;</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; }</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(graph-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#ae905f0d64db3039f8fd3c117c4624e31">isSink</a>(node))</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; {</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,style=filled, fillcolor=blue&quot;</span>;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; }</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(graph-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a6e68486e02db81cbbedc942ace3e9590">inBackwardSlice</a>(node))</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; {</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,style=filled, fillcolor=yellow&quot;</span>;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; }</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(graph-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#adc6a5c3e430bdf942f1462e101ac6917">inForwardSlice</a>(node))</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,style=filled, fillcolor=gray&quot;</span>;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFG_html_a8ba934714a7f2caf2e041002fdb66137"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">SVF::SVFG::getStat</a></div><div class="ttdeci">SVFGStat * getStat() const</div><div class="ttdoc">Return statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00125">SVFG.h:125</a></div></div>
389
389
  <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>
390
390
  <div class="ttc" id="classSVF_1_1SVFGStat_html_a72c93b86e95bdbe32ade33f7264f4c0a"><div class="ttname"><a href="classSVF_1_1SVFGStat.html#a72c93b86e95bdbe32ade33f7264f4c0a">SVF::SVFGStat::isSource</a></div><div class="ttdeci">bool isSource(const SVFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00261">SVFGStat.h:261</a></div></div>
391
391
  <div class="ttc" id="classSVF_1_1SVFGStat_html_ae905f0d64db3039f8fd3c117c4624e31"><div class="ttname"><a href="classSVF_1_1SVFGStat.html#ae905f0d64db3039f8fd3c117c4624e31">SVF::SVFGStat::isSink</a></div><div class="ttdeci">bool isSink(const SVFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00265">SVFGStat.h:265</a></div></div>
392
392
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
393
393
  <div class="ttc" id="classSVF_1_1SVFGStat_html_a6e68486e02db81cbbedc942ace3e9590"><div class="ttname"><a href="classSVF_1_1SVFGStat.html#a6e68486e02db81cbbedc942ace3e9590">SVF::SVFGStat::inBackwardSlice</a></div><div class="ttdeci">bool inBackwardSlice(const SVFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00257">SVFGStat.h:257</a></div></div>
394
- <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00113">VFGNode.h:113</a></div></div>
394
+ <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
395
395
  <div class="ttc" id="classSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00047">SVFStatements.h:47</a></div></div>
396
396
  <div class="ttc" id="classSVF_1_1SVFGStat_html_adc6a5c3e430bdf942f1462e101ac6917"><div class="ttname"><a href="classSVF_1_1SVFGStat.html#adc6a5c3e430bdf942f1462e101ac6917">SVF::SVFGStat::inForwardSlice</a></div><div class="ttdeci">bool inForwardSlice(const SVFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00253">SVFGStat.h:253</a></div></div>
397
397
  </div><!-- fragment -->
@@ -431,8 +431,8 @@ template&lt;class EdgeIter &gt; </div>
431
431
  </table>
432
432
  </div><div class="memdoc">
433
433
 
434
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00778">778</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
435
- <div class="fragment"><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; {</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">if</span> (isSimple())</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">return</span> getSimpleNodeLabel(node, graph);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">return</span> getCompleteNodeLabel(node, graph);</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; }</div></div><!-- fragment -->
434
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00787">787</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
435
+ <div class="fragment"><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; {</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">if</span> (isSimple())</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">return</span> getSimpleNodeLabel(node, graph);</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">return</span> getCompleteNodeLabel(node, graph);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; }</div></div><!-- fragment -->
436
436
  </div>
437
437
  </div>
438
438
  <a id="a63cc361875e61f4729381b23dcee2787"></a>
@@ -471,23 +471,23 @@ template&lt;class EdgeIter &gt; </div>
471
471
 
472
472
  <p>Return label of a VFG node without MemSSA information. </p>
473
473
 
474
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00787">787</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
475
- <div class="fragment"><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; {</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; std::string str;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* stmtNode = SVFUtil::dyn_cast&lt;StmtSVFGNode&gt;(node))</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; rawstr &lt;&lt; stmtNode-&gt;toString();</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; }</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PHIVFGNode.html">PHISVFGNode</a>* tphi = SVFUtil::dyn_cast&lt;PHISVFGNode&gt;(node))</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; {</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; rawstr &lt;&lt; tphi-&gt;toString();</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; }</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalParmVFGNode.html">FormalParmSVFGNode</a>* fp = SVFUtil::dyn_cast&lt;FormalParmSVFGNode&gt;(node))</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; {</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; rawstr &lt;&lt; fp-&gt;toString();</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; }</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualParmVFGNode.html">ActualParmSVFGNode</a>* ap = SVFUtil::dyn_cast&lt;ActualParmSVFGNode&gt;(node))</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; {</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; rawstr &lt;&lt; ap-&gt;toString();</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; }</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ActualRetVFGNode.html">ActualRetSVFGNode</a>* ar = SVFUtil::dyn_cast&lt;ActualRetSVFGNode&gt;(node))</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; {</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; rawstr &lt;&lt; ar-&gt;toString();</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; }</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FormalRetVFGNode.html">FormalRetSVFGNode</a>* fr = SVFUtil::dyn_cast&lt;FormalRetSVFGNode&gt;(node))</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; rawstr &lt;&lt; fr-&gt;toString();</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; }</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* fi = SVFUtil::dyn_cast&lt;FormalINSVFGNode&gt;(node))</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; {</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; rawstr &lt;&lt; fi-&gt;toString();</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; }</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>* fo = SVFUtil::dyn_cast&lt;FormalOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; rawstr &lt;&lt; fo-&gt;toString();</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; }</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a>* ai = SVFUtil::dyn_cast&lt;ActualINSVFGNode&gt;(node))</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; {</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; rawstr &lt;&lt; ai-&gt;toString();</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; }</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* ao = SVFUtil::dyn_cast&lt;ActualOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; {</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; rawstr &lt;&lt; ao-&gt;toString();</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; }</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>* mphi = SVFUtil::dyn_cast&lt;MSSAPHISVFGNode&gt;(node))</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; {</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; rawstr &lt;&lt; mphi-&gt;toString();</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; }</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;NullPtrSVFGNode&gt;(node))</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; {</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;NullPtr&quot;</span>;</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; }</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1BinaryOPVFGNode.html">BinaryOPVFGNode</a>* bop = SVFUtil::dyn_cast&lt;BinaryOPVFGNode&gt;(node))</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; {</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; rawstr &lt;&lt; bop-&gt;toString();</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; }</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1UnaryOPVFGNode.html">UnaryOPVFGNode</a>* uop = SVFUtil::dyn_cast&lt;UnaryOPVFGNode&gt;(node))</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; {</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; rawstr &lt;&lt; uop-&gt;toString();</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; }</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CmpVFGNode.html">CmpVFGNode</a>* cmp = SVFUtil::dyn_cast&lt;CmpVFGNode&gt;(node))</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; {</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; rawstr &lt;&lt; cmp-&gt;toString();</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; }</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what else kinds of nodes do we have??&quot;</span>);</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; }</div><div class="ttc" id="classSVF_1_1BinaryOPVFGNode_html"><div class="ttname"><a href="classSVF_1_1BinaryOPVFGNode.html">SVF::BinaryOPVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00387">VFGNode.h:387</a></div></div>
476
- <div class="ttc" id="classSVF_1_1ActualParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html">SVF::ActualParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00831">VFGNode.h:831</a></div></div>
474
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00796">796</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
475
+ <div class="fragment"><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; {</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; std::string str;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* stmtNode = SVFUtil::dyn_cast&lt;StmtSVFGNode&gt;(node))</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; {</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; rawstr &lt;&lt; stmtNode-&gt;toString();</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; }</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PHIVFGNode.html">PHISVFGNode</a>* tphi = SVFUtil::dyn_cast&lt;PHISVFGNode&gt;(node))</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; {</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; rawstr &lt;&lt; tphi-&gt;toString();</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; }</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalParmVFGNode.html">FormalParmSVFGNode</a>* fp = SVFUtil::dyn_cast&lt;FormalParmSVFGNode&gt;(node))</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; {</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; rawstr &lt;&lt; fp-&gt;toString();</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; }</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualParmVFGNode.html">ActualParmSVFGNode</a>* ap = SVFUtil::dyn_cast&lt;ActualParmSVFGNode&gt;(node))</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; {</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; rawstr &lt;&lt; ap-&gt;toString();</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; }</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ActualRetVFGNode.html">ActualRetSVFGNode</a>* ar = SVFUtil::dyn_cast&lt;ActualRetSVFGNode&gt;(node))</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; {</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; rawstr &lt;&lt; ar-&gt;toString();</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; }</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FormalRetVFGNode.html">FormalRetSVFGNode</a>* fr = SVFUtil::dyn_cast&lt;FormalRetSVFGNode&gt;(node))</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; {</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; rawstr &lt;&lt; fr-&gt;toString();</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; }</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* fi = SVFUtil::dyn_cast&lt;FormalINSVFGNode&gt;(node))</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; {</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; rawstr &lt;&lt; fi-&gt;toString();</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; }</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>* fo = SVFUtil::dyn_cast&lt;FormalOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; {</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; rawstr &lt;&lt; fo-&gt;toString();</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a>* ai = SVFUtil::dyn_cast&lt;ActualINSVFGNode&gt;(node))</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; {</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; rawstr &lt;&lt; ai-&gt;toString();</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; }</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* ao = SVFUtil::dyn_cast&lt;ActualOUTSVFGNode&gt;(node))</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; {</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; rawstr &lt;&lt; ao-&gt;toString();</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; }</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1MSSAPHISVFGNode.html">MSSAPHISVFGNode</a>* mphi = SVFUtil::dyn_cast&lt;MSSAPHISVFGNode&gt;(node))</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; {</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; rawstr &lt;&lt; mphi-&gt;toString();</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; }</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;NullPtrSVFGNode&gt;(node))</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; {</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;NullPtr&quot;</span>;</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; }</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1BinaryOPVFGNode.html">BinaryOPVFGNode</a>* bop = SVFUtil::dyn_cast&lt;BinaryOPVFGNode&gt;(node))</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; {</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; rawstr &lt;&lt; bop-&gt;toString();</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; }</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1UnaryOPVFGNode.html">UnaryOPVFGNode</a>* uop = SVFUtil::dyn_cast&lt;UnaryOPVFGNode&gt;(node))</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; {</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; rawstr &lt;&lt; uop-&gt;toString();</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; }</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CmpVFGNode.html">CmpVFGNode</a>* cmp = SVFUtil::dyn_cast&lt;CmpVFGNode&gt;(node))</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; {</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; rawstr &lt;&lt; cmp-&gt;toString();</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; }</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what else kinds of nodes do we have??&quot;</span>);</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; }</div><div class="ttc" id="classSVF_1_1BinaryOPVFGNode_html"><div class="ttname"><a href="classSVF_1_1BinaryOPVFGNode.html">SVF::BinaryOPVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00399">VFGNode.h:399</a></div></div>
476
+ <div class="ttc" id="classSVF_1_1ActualParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html">SVF::ActualParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00856">VFGNode.h:856</a></div></div>
477
477
  <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>
478
- <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html">SVF::FormalOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00135">SVFGNode.h:135</a></div></div>
479
- <div class="ttc" id="classSVF_1_1PHIVFGNode_html"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html">SVF::PHIVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00624">VFGNode.h:624</a></div></div>
480
- <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html">SVF::ActualOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00226">SVFGNode.h:226</a></div></div>
481
- <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html">SVF::MSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00273">SVFGNode.h:273</a></div></div>
482
- <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html">SVF::ActualINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00177">SVFGNode.h:177</a></div></div>
483
- <div class="ttc" id="classSVF_1_1UnaryOPVFGNode_html"><div class="ttname"><a href="classSVF_1_1UnaryOPVFGNode.html">SVF::UnaryOPVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00459">VFGNode.h:459</a></div></div>
484
- <div class="ttc" id="classSVF_1_1CmpVFGNode_html"><div class="ttname"><a href="classSVF_1_1CmpVFGNode.html">SVF::CmpVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00315">VFGNode.h:315</a></div></div>
478
+ <div class="ttc" id="classSVF_1_1FormalOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html">SVF::FormalOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00138">SVFGNode.h:138</a></div></div>
479
+ <div class="ttc" id="classSVF_1_1PHIVFGNode_html"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html">SVF::PHIVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00645">VFGNode.h:645</a></div></div>
480
+ <div class="ttc" id="classSVF_1_1ActualOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html">SVF::ActualOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00229">SVFGNode.h:229</a></div></div>
481
+ <div class="ttc" id="classSVF_1_1MSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html">SVF::MSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00276">SVFGNode.h:276</a></div></div>
482
+ <div class="ttc" id="classSVF_1_1ActualINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html">SVF::ActualINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00180">SVFGNode.h:180</a></div></div>
483
+ <div class="ttc" id="classSVF_1_1UnaryOPVFGNode_html"><div class="ttname"><a href="classSVF_1_1UnaryOPVFGNode.html">SVF::UnaryOPVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00473">VFGNode.h:473</a></div></div>
484
+ <div class="ttc" id="classSVF_1_1CmpVFGNode_html"><div class="ttname"><a href="classSVF_1_1CmpVFGNode.html">SVF::CmpVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00324">VFGNode.h:324</a></div></div>
485
485
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
486
- <div class="ttc" id="classSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00948">VFGNode.h:948</a></div></div>
487
- <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00113">VFGNode.h:113</a></div></div>
488
- <div class="ttc" id="classSVF_1_1FormalParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalParmVFGNode.html">SVF::FormalParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00881">VFGNode.h:881</a></div></div>
489
- <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html">SVF::FormalRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01004">VFGNode.h:1004</a></div></div>
490
- <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html">SVF::FormalINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00090">SVFGNode.h:90</a></div></div>
486
+ <div class="ttc" id="classSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00977">VFGNode.h:977</a></div></div>
487
+ <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
488
+ <div class="ttc" id="classSVF_1_1FormalParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalParmVFGNode.html">SVF::FormalParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00908">VFGNode.h:908</a></div></div>
489
+ <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html">SVF::FormalRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01035">VFGNode.h:1035</a></div></div>
490
+ <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html">SVF::FormalINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00093">SVFGNode.h:93</a></div></div>
491
491
  </div><!-- fragment -->
492
492
  </div>
493
493
  </div>
@@ -516,8 +516,8 @@ template&lt;class EdgeIter &gt; </div>
516
516
  </div><div class="memdoc">
517
517
  <p>isNodeHidden - If the function returns true, the given node is not displayed in the graph </p>
518
518
 
519
- <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00772">772</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
520
- <div class="fragment"><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; {</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">if</span> (Options::ShowHiddenNode) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().empty() &amp;&amp; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().empty();</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; }</div><div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy &amp; getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00182">GenericGraph.h:182</a></div></div>
519
+ <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00781">781</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
520
+ <div class="fragment"><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; {</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">if</span> (Options::ShowHiddenNode) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().empty() &amp;&amp; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().empty();</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; }</div><div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy &amp; getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00182">GenericGraph.h:182</a></div></div>
521
521
  <div class="ttc" id="classSVF_1_1GenericNode_html_a2d9cd758d6f8c5189d9b90b74f43e009"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">SVF::GenericNode::getOutEdges</a></div><div class="ttdeci">const GEdgeSetTy &amp; getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00178">GenericGraph.h:178</a></div></div>
522
522
  </div><!-- fragment -->
523
523
  </div>