svf-tools 1.0.620 → 1.0.621

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 (163) hide show
  1. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -2
  2. package/SVF-doxygen/html/html/CFLAlias_8h.html +4 -0
  3. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +19 -10
  4. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/CFLBase_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/CFLDataBuilder_8h.html +96 -0
  7. package/SVF-doxygen/html/html/CFLDataBuilder_8h_source.html +99 -0
  8. package/SVF-doxygen/html/html/CFLData_8h.html +106 -0
  9. package/SVF-doxygen/html/html/CFLData_8h_source.html +136 -0
  10. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +7 -7
  11. package/SVF-doxygen/html/html/CFLSolver_8h.html +4 -0
  12. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +22 -16
  13. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +2 -1
  15. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +2 -1
  16. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -3
  18. package/SVF-doxygen/html/html/Options_8h_source.html +4 -3
  19. package/SVF-doxygen/html/html/annotated.html +357 -351
  20. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  21. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -0
  23. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
  24. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +27 -24
  25. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
  26. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +2 -1
  27. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.png +0 -0
  28. package/SVF-doxygen/html/html/classSVF_1_1CFLData-members.html +110 -0
  29. package/SVF-doxygen/html/html/classSVF_1_1CFLData.html +1126 -0
  30. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder-members.html +88 -0
  31. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder.html +380 -0
  32. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +48 -39
  33. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.png +0 -0
  34. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +1 -1
  35. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +3 -2
  36. package/SVF-doxygen/html/html/classSVF_1_1HybridData-members.html +89 -0
  37. package/SVF-doxygen/html/html/classSVF_1_1HybridData.html +449 -0
  38. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  39. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +45 -44
  40. package/SVF-doxygen/html/html/classSVF_1_1Options.html +28 -2
  41. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +281 -0
  42. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +828 -0
  43. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.png +0 -0
  44. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver-members.html +98 -0
  45. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.html +245 -0
  46. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.png +0 -0
  47. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -1
  48. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
  49. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +1 -1
  50. package/SVF-doxygen/html/html/classes.html +110 -109
  51. package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +4 -0
  52. package/SVF-doxygen/html/html/files.html +9 -7
  53. package/SVF-doxygen/html/html/functions.html +7 -1
  54. package/SVF-doxygen/html/html/functions_0x7e.html +18 -0
  55. package/SVF-doxygen/html/html/functions_a.html +38 -14
  56. package/SVF-doxygen/html/html/functions_b.html +9 -4
  57. package/SVF-doxygen/html/html/functions_c.html +59 -38
  58. package/SVF-doxygen/html/html/functions_d.html +7 -1
  59. package/SVF-doxygen/html/html/functions_e.html +5 -1
  60. package/SVF-doxygen/html/html/functions_func.html +35 -11
  61. package/SVF-doxygen/html/html/functions_func_0x7e.html +18 -0
  62. package/SVF-doxygen/html/html/functions_func_b.html +8 -3
  63. package/SVF-doxygen/html/html/functions_func_c.html +42 -27
  64. package/SVF-doxygen/html/html/functions_func_e.html +2 -1
  65. package/SVF-doxygen/html/html/functions_func_g.html +20 -7
  66. package/SVF-doxygen/html/html/functions_func_h.html +10 -3
  67. package/SVF-doxygen/html/html/functions_func_i.html +14 -10
  68. package/SVF-doxygen/html/html/functions_func_m.html +3 -2
  69. package/SVF-doxygen/html/html/functions_func_o.html +13 -11
  70. package/SVF-doxygen/html/html/functions_func_p.html +6 -3
  71. package/SVF-doxygen/html/html/functions_func_t.html +3 -0
  72. package/SVF-doxygen/html/html/functions_g.html +22 -9
  73. package/SVF-doxygen/html/html/functions_h.html +12 -5
  74. package/SVF-doxygen/html/html/functions_i.html +20 -11
  75. package/SVF-doxygen/html/html/functions_l.html +3 -3
  76. package/SVF-doxygen/html/html/functions_m.html +2 -1
  77. package/SVF-doxygen/html/html/functions_n.html +3 -3
  78. package/SVF-doxygen/html/html/functions_o.html +26 -24
  79. package/SVF-doxygen/html/html/functions_p.html +23 -14
  80. package/SVF-doxygen/html/html/functions_r.html +3 -5
  81. package/SVF-doxygen/html/html/functions_s.html +11 -10
  82. package/SVF-doxygen/html/html/functions_t.html +13 -4
  83. package/SVF-doxygen/html/html/functions_type_c.html +2 -1
  84. package/SVF-doxygen/html/html/functions_type_d.html +3 -0
  85. package/SVF-doxygen/html/html/functions_type_i.html +2 -1
  86. package/SVF-doxygen/html/html/functions_type_t.html +3 -0
  87. package/SVF-doxygen/html/html/functions_v.html +3 -3
  88. package/SVF-doxygen/html/html/functions_vars.html +7 -1
  89. package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
  90. package/SVF-doxygen/html/html/functions_vars_d.html +3 -0
  91. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  92. package/SVF-doxygen/html/html/functions_vars_i.html +4 -0
  93. package/SVF-doxygen/html/html/functions_vars_p.html +6 -0
  94. package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
  95. package/SVF-doxygen/html/html/functions_vars_t.html +3 -0
  96. package/SVF-doxygen/html/html/hierarchy.html +517 -511
  97. package/SVF-doxygen/html/html/namespaceSVF.html +29 -0
  98. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +3 -2
  99. package/SVF-doxygen/html/html/namespacemembers_l.html +3 -0
  100. package/SVF-doxygen/html/html/namespacemembers_type_l.html +3 -0
  101. package/SVF-doxygen/html/html/search/all_0.js +2 -1
  102. package/SVF-doxygen/html/html/search/all_1.js +8 -1
  103. package/SVF-doxygen/html/html/search/all_10.js +8 -5
  104. package/SVF-doxygen/html/html/search/all_11.js +3 -3
  105. package/SVF-doxygen/html/html/search/all_12.js +7 -6
  106. package/SVF-doxygen/html/html/search/all_13.js +7 -4
  107. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  108. package/SVF-doxygen/html/html/search/all_19.js +6 -0
  109. package/SVF-doxygen/html/html/search/all_2.js +3 -2
  110. package/SVF-doxygen/html/html/search/all_3.js +11 -6
  111. package/SVF-doxygen/html/html/search/all_4.js +2 -1
  112. package/SVF-doxygen/html/html/search/all_5.js +2 -1
  113. package/SVF-doxygen/html/html/search/all_7.js +5 -1
  114. package/SVF-doxygen/html/html/search/all_8.js +4 -2
  115. package/SVF-doxygen/html/html/search/all_9.js +7 -5
  116. package/SVF-doxygen/html/html/search/all_c.js +3 -2
  117. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  118. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  119. package/SVF-doxygen/html/html/search/all_f.js +4 -4
  120. package/SVF-doxygen/html/html/search/classes_10.js +1 -0
  121. package/SVF-doxygen/html/html/search/classes_2.js +2 -0
  122. package/SVF-doxygen/html/html/search/classes_7.js +2 -1
  123. package/SVF-doxygen/html/html/search/classes_d.js +2 -0
  124. package/SVF-doxygen/html/html/search/files_2.js +2 -0
  125. package/SVF-doxygen/html/html/search/functions_0.js +8 -1
  126. package/SVF-doxygen/html/html/search/functions_1.js +3 -2
  127. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  128. package/SVF-doxygen/html/html/search/functions_12.js +1 -0
  129. package/SVF-doxygen/html/html/search/functions_17.js +6 -0
  130. package/SVF-doxygen/html/html/search/functions_2.js +4 -1
  131. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  132. package/SVF-doxygen/html/html/search/functions_6.js +5 -1
  133. package/SVF-doxygen/html/html/search/functions_7.js +4 -2
  134. package/SVF-doxygen/html/html/search/functions_8.js +3 -2
  135. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  136. package/SVF-doxygen/html/html/search/functions_e.js +2 -2
  137. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  138. package/SVF-doxygen/html/html/search/typedefs_11.js +2 -1
  139. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  140. package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
  141. package/SVF-doxygen/html/html/search/typedefs_7.js +1 -1
  142. package/SVF-doxygen/html/html/search/typedefs_a.js +1 -0
  143. package/SVF-doxygen/html/html/search/variables_0.js +2 -1
  144. package/SVF-doxygen/html/html/search/variables_10.js +2 -0
  145. package/SVF-doxygen/html/html/search/variables_12.js +1 -0
  146. package/SVF-doxygen/html/html/search/variables_13.js +2 -1
  147. package/SVF-doxygen/html/html/search/variables_3.js +1 -0
  148. package/SVF-doxygen/html/html/search/variables_4.js +1 -0
  149. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  150. package/SVF-doxygen/html/html/search/variables_9.js +2 -1
  151. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  152. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  153. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode-members.html +86 -0
  154. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode.html +255 -0
  155. package/include/CFL/CFLAlias.h +34 -0
  156. package/include/CFL/CFLData.h +316 -0
  157. package/include/CFL/CFLDataBuilder.h +91 -0
  158. package/include/CFL/CFLSolver.h +21 -0
  159. package/include/Util/Options.h +1 -0
  160. package/lib/CFL/CFLAlias.cpp +36 -0
  161. package/lib/Util/Options.cpp +5 -0
  162. package/package.json +1 -1
  163. package/tools/CFL/cfl.cpp +2 -0
@@ -0,0 +1,98 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.13"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: Member List</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.13 -->
33
+ <script type="text/javascript">
34
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
+ </script>
36
+ <script type="text/javascript" src="menudata.js"></script>
37
+ <script type="text/javascript" src="menu.js"></script>
38
+ <script type="text/javascript">
39
+ $(function() {
40
+ initMenu('',true,false,'search.php','Search');
41
+ $(document).ready(function() { init_search(); });
42
+ });
43
+ </script>
44
+ <div id="main-nav"></div>
45
+ <!-- window showing the filter options -->
46
+ <div id="MSearchSelectWindow"
47
+ onmouseover="return searchBox.OnSearchSelectShow()"
48
+ onmouseout="return searchBox.OnSearchSelectHide()"
49
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
50
+ </div>
51
+
52
+ <!-- iframe showing the search results (closed by default) -->
53
+ <div id="MSearchResultsWindow">
54
+ <iframe src="javascript:void(0)" frameborder="0"
55
+ name="MSearchResults" id="MSearchResults">
56
+ </iframe>
57
+ </div>
58
+
59
+ <div id="nav-path" class="navpath">
60
+ <ul>
61
+ <li class="navelem"><a class="el" href="namespaceSVF.html">SVF</a></li><li class="navelem"><a class="el" href="classSVF_1_1POCRSolver.html">POCRSolver</a></li> </ul>
62
+ </div>
63
+ </div><!-- top -->
64
+ <div class="header">
65
+ <div class="headertitle">
66
+ <div class="title">SVF::POCRSolver Member List</div> </div>
67
+ </div><!--header-->
68
+ <div class="contents">
69
+
70
+ <p>This is the complete list of members for <a class="el" href="classSVF_1_1POCRSolver.html">SVF::POCRSolver</a>, including all inherited members.</p>
71
+ <table class="directory">
72
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1POCRSolver.html#a3ed67db7c5bbddee09b7fefdec3ca538">_cflData</a></td><td class="entry"><a class="el" href="classSVF_1_1POCRSolver.html">SVF::POCRSolver</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
73
+ <tr><td class="entry"><a class="el" href="classSVF_1_1POCRSolver.html#a5e82e65d4e7bec0031d06b41902fae54">cflData</a>()</td><td class="entry"><a class="el" href="classSVF_1_1POCRSolver.html">SVF::POCRSolver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
74
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a394ecf58da040648dda4adb8d0e7d75b">CFLSolver</a>(CFLGraph *_graph, CFLGrammar *_grammar)</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
75
+ <tr><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a99c0a6a2c55bb6eb7f8232399374c827">getGrammar</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
76
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a2c6bce1f73bcf5937a26e91a7daba33c">getGraph</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
77
+ <tr><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a5e94324ee4137610d5513ed11b36f4ba">initialize</a>()</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"></td></tr>
78
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a0e112c2290b3ba4e61da6b1fe9ac506d">isInWorklist</a>(const CFLEdge *item)</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
79
+ <tr><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#ac1fe4563081c29f8a715bd67d454c8bb">isWorklistEmpty</a>()</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
80
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a46ded0b18821a2ade0ee151ac2b2d520">numOfChecks</a></td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
81
+ <tr><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a95573e91816f426ff7b45afb7b7c821e">popFromWorklist</a>()</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
82
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a53c873a9243d2ef3e8d5eff1b8081102">processCFLEdge</a>(const CFLEdge *Y_edge)</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"></td></tr>
83
+ <tr><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">Production</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"></td></tr>
84
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(const CFLEdge *item)</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
85
+ <tr><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">solve</a>()</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"></td></tr>
86
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">Symbol</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"></td></tr>
87
+ <tr><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a194d2c4c801799b0ba9562e33ca5b695">WorkList</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"></td></tr>
88
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html#a59bb656e9fc0f5c29feb2200bc198e41">~CFLSolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
89
+ <tr><td class="entry"><a class="el" href="classSVF_1_1POCRSolver.html#a5149116e1dbcffcf656f5a63fa0e0c25">~POCRSolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1POCRSolver.html">SVF::POCRSolver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">virtual</span></td></tr>
90
+ </table></div><!-- contents -->
91
+ <!-- start footer part -->
92
+ <hr class="footer"/><address class="footer"><small>
93
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
94
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
95
+ </a> 1.8.13
96
+ </small></address>
97
+ </body>
98
+ </html>
@@ -0,0 +1,245 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.13"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: SVF::POCRSolver Class Reference</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.13 -->
33
+ <script type="text/javascript">
34
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
+ </script>
36
+ <script type="text/javascript" src="menudata.js"></script>
37
+ <script type="text/javascript" src="menu.js"></script>
38
+ <script type="text/javascript">
39
+ $(function() {
40
+ initMenu('',true,false,'search.php','Search');
41
+ $(document).ready(function() { init_search(); });
42
+ });
43
+ </script>
44
+ <div id="main-nav"></div>
45
+ <!-- window showing the filter options -->
46
+ <div id="MSearchSelectWindow"
47
+ onmouseover="return searchBox.OnSearchSelectShow()"
48
+ onmouseout="return searchBox.OnSearchSelectHide()"
49
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
50
+ </div>
51
+
52
+ <!-- iframe showing the search results (closed by default) -->
53
+ <div id="MSearchResultsWindow">
54
+ <iframe src="javascript:void(0)" frameborder="0"
55
+ name="MSearchResults" id="MSearchResults">
56
+ </iframe>
57
+ </div>
58
+
59
+ <div id="nav-path" class="navpath">
60
+ <ul>
61
+ <li class="navelem"><a class="el" href="namespaceSVF.html">SVF</a></li><li class="navelem"><a class="el" href="classSVF_1_1POCRSolver.html">POCRSolver</a></li> </ul>
62
+ </div>
63
+ </div><!-- top -->
64
+ <div class="header">
65
+ <div class="summary">
66
+ <a href="#pri-methods">Private Member Functions</a> &#124;
67
+ <a href="#pri-attribs">Private Attributes</a> &#124;
68
+ <a href="classSVF_1_1POCRSolver-members.html">List of all members</a> </div>
69
+ <div class="headertitle">
70
+ <div class="title">SVF::POCRSolver Class Reference</div> </div>
71
+ </div><!--header-->
72
+ <div class="contents">
73
+
74
+ <p>Solver Utilize <a class="el" href="classSVF_1_1CFLData.html">CFLData</a>.
75
+ <a href="classSVF_1_1POCRSolver.html#details">More...</a></p>
76
+
77
+ <p><code>#include &lt;<a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>&gt;</code></p>
78
+ <div class="dynheader">
79
+ Inheritance diagram for SVF::POCRSolver:</div>
80
+ <div class="dyncontent">
81
+ <div class="center">
82
+ <img src="classSVF_1_1POCRSolver.png" usemap="#SVF::POCRSolver_map" alt=""/>
83
+ <map id="SVF::POCRSolver_map" name="SVF::POCRSolver_map">
84
+ <area href="classSVF_1_1CFLSolver.html" alt="SVF::CFLSolver" shape="rect" coords="0,0,115,24"/>
85
+ </map>
86
+ </div></div>
87
+ <table class="memberdecls">
88
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
89
+ Private Member Functions</h2></td></tr>
90
+ <tr class="memitem:a5149116e1dbcffcf656f5a63fa0e0c25"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1POCRSolver.html#a5149116e1dbcffcf656f5a63fa0e0c25">~POCRSolver</a> ()</td></tr>
91
+ <tr class="memdesc:a5149116e1dbcffcf656f5a63fa0e0c25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#a5149116e1dbcffcf656f5a63fa0e0c25">More...</a><br /></td></tr>
92
+ <tr class="separator:a5149116e1dbcffcf656f5a63fa0e0c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
93
+ <tr class="memitem:a5e82e65d4e7bec0031d06b41902fae54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLData.html">CFLData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1POCRSolver.html#a5e82e65d4e7bec0031d06b41902fae54">cflData</a> ()</td></tr>
94
+ <tr class="separator:a5e82e65d4e7bec0031d06b41902fae54"><td class="memSeparator" colspan="2">&#160;</td></tr>
95
+ </table><table class="memberdecls">
96
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
97
+ Private Attributes</h2></td></tr>
98
+ <tr class="memitem:a3ed67db7c5bbddee09b7fefdec3ca538"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLData.html">CFLData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1POCRSolver.html#a3ed67db7c5bbddee09b7fefdec3ca538">_cflData</a></td></tr>
99
+ <tr class="separator:a3ed67db7c5bbddee09b7fefdec3ca538"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+ </table><table class="memberdecls">
101
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
102
+ Additional Inherited Members</h2></td></tr>
103
+ <tr class="inherit_header pub_types_classSVF_1_1CFLSolver"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1CFLSolver')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td></tr>
104
+ <tr class="memitem:a194d2c4c801799b0ba9562e33ca5b695 inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList</a>&lt; const <a class="el" href="classSVF_1_1CFLEdge.html">CFLEdge</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a194d2c4c801799b0ba9562e33ca5b695">WorkList</a></td></tr>
105
+ <tr class="memdesc:a194d2c4c801799b0ba9562e33ca5b695 inherit pub_types_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define worklist. <a href="classSVF_1_1CFLSolver.html#a194d2c4c801799b0ba9562e33ca5b695">More...</a><br /></td></tr>
106
+ <tr class="separator:a194d2c4c801799b0ba9562e33ca5b695 inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ <tr class="memitem:a0ade6e3827c629c3cc3d22a101df7288 inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1GrammarBase.html#af384c960a5edc576cbfb60a869e346ec">CFLGrammar::Production</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">Production</a></td></tr>
108
+ <tr class="separator:a0ade6e3827c629c3cc3d22a101df7288 inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
+ <tr class="memitem:a06e64c18559b4f311717203ac3fe1fcd inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">CFLGrammar::Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">Symbol</a></td></tr>
110
+ <tr class="separator:a06e64c18559b4f311717203ac3fe1fcd inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
+ <tr class="inherit_header pub_methods_classSVF_1_1CFLSolver"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1CFLSolver')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td></tr>
112
+ <tr class="memitem:a394ecf58da040648dda4adb8d0e7d75b inherit pub_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a394ecf58da040648dda4adb8d0e7d75b">CFLSolver</a> (<a class="el" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *_graph, <a class="el" href="classSVF_1_1CFLGrammar.html">CFLGrammar</a> *_grammar)</td></tr>
113
+ <tr class="separator:a394ecf58da040648dda4adb8d0e7d75b inherit pub_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
114
+ <tr class="memitem:a59bb656e9fc0f5c29feb2200bc198e41 inherit pub_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a59bb656e9fc0f5c29feb2200bc198e41">~CFLSolver</a> ()</td></tr>
115
+ <tr class="separator:a59bb656e9fc0f5c29feb2200bc198e41 inherit pub_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
116
+ <tr class="memitem:a5e94324ee4137610d5513ed11b36f4ba inherit pub_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a5e94324ee4137610d5513ed11b36f4ba">initialize</a> ()</td></tr>
117
+ <tr class="memdesc:a5e94324ee4137610d5513ed11b36f4ba inherit pub_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize worklist. <a href="classSVF_1_1CFLSolver.html#a5e94324ee4137610d5513ed11b36f4ba">More...</a><br /></td></tr>
118
+ <tr class="separator:a5e94324ee4137610d5513ed11b36f4ba inherit pub_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
119
+ <tr class="memitem:a53c873a9243d2ef3e8d5eff1b8081102 inherit pub_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a53c873a9243d2ef3e8d5eff1b8081102">processCFLEdge</a> (const <a class="el" href="classSVF_1_1CFLEdge.html">CFLEdge</a> *Y_edge)</td></tr>
120
+ <tr class="memdesc:a53c873a9243d2ef3e8d5eff1b8081102 inherit pub_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process <a class="el" href="classSVF_1_1CFLEdge.html">CFLEdge</a>. <a href="classSVF_1_1CFLSolver.html#a53c873a9243d2ef3e8d5eff1b8081102">More...</a><br /></td></tr>
121
+ <tr class="separator:a53c873a9243d2ef3e8d5eff1b8081102 inherit pub_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
122
+ <tr class="memitem:a2ee3436c26ebdb2aaf790c25b1d8b5a6 inherit pub_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">solve</a> ()</td></tr>
123
+ <tr class="memdesc:a2ee3436c26ebdb2aaf790c25b1d8b5a6 inherit pub_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start solving. <a href="classSVF_1_1CFLSolver.html#a2ee3436c26ebdb2aaf790c25b1d8b5a6">More...</a><br /></td></tr>
124
+ <tr class="separator:a2ee3436c26ebdb2aaf790c25b1d8b5a6 inherit pub_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
+ <tr class="memitem:a2c6bce1f73bcf5937a26e91a7daba33c inherit pub_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a2c6bce1f73bcf5937a26e91a7daba33c">getGraph</a> () const</td></tr>
126
+ <tr class="memdesc:a2c6bce1f73bcf5937a26e91a7daba33c inherit pub_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return CFL Graph. <a href="classSVF_1_1CFLSolver.html#a2c6bce1f73bcf5937a26e91a7daba33c">More...</a><br /></td></tr>
127
+ <tr class="separator:a2c6bce1f73bcf5937a26e91a7daba33c inherit pub_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
128
+ <tr class="memitem:a99c0a6a2c55bb6eb7f8232399374c827 inherit pub_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1CFLGrammar.html">CFLGrammar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a99c0a6a2c55bb6eb7f8232399374c827">getGrammar</a> () const</td></tr>
129
+ <tr class="memdesc:a99c0a6a2c55bb6eb7f8232399374c827 inherit pub_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return CFL Grammar. <a href="classSVF_1_1CFLSolver.html#a99c0a6a2c55bb6eb7f8232399374c827">More...</a><br /></td></tr>
130
+ <tr class="separator:a99c0a6a2c55bb6eb7f8232399374c827 inherit pub_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
+ <tr class="memitem:afc745dc72fd0572a145a78fe6a93ae5c inherit pub_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a> (const <a class="el" href="classSVF_1_1CFLEdge.html">CFLEdge</a> *<a class="el" href="cJSON_8cpp.html#ac011de571ff16ba220d2e0d757e4e8b0">item</a>)</td></tr>
132
+ <tr class="separator:afc745dc72fd0572a145a78fe6a93ae5c inherit pub_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
+ <tr class="memitem:ac1fe4563081c29f8a715bd67d454c8bb inherit pub_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#ac1fe4563081c29f8a715bd67d454c8bb">isWorklistEmpty</a> ()</td></tr>
134
+ <tr class="separator:ac1fe4563081c29f8a715bd67d454c8bb inherit pub_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
+ <tr class="inherit_header pub_static_attribs_classSVF_1_1CFLSolver"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classSVF_1_1CFLSolver')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td></tr>
136
+ <tr class="memitem:a46ded0b18821a2ade0ee151ac2b2d520 inherit pub_static_attribs_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a46ded0b18821a2ade0ee151ac2b2d520">numOfChecks</a> = 0</td></tr>
137
+ <tr class="separator:a46ded0b18821a2ade0ee151ac2b2d520 inherit pub_static_attribs_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
138
+ <tr class="inherit_header pro_methods_classSVF_1_1CFLSolver"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1CFLSolver')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></td></tr>
139
+ <tr class="memitem:a95573e91816f426ff7b45afb7b7c821e inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1CFLEdge.html">CFLEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a95573e91816f426ff7b45afb7b7c821e">popFromWorklist</a> ()</td></tr>
140
+ <tr class="memdesc:a95573e91816f426ff7b45afb7b7c821e inherit pro_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Worklist operations. <a href="classSVF_1_1CFLSolver.html#a95573e91816f426ff7b45afb7b7c821e">More...</a><br /></td></tr>
141
+ <tr class="separator:a95573e91816f426ff7b45afb7b7c821e inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
142
+ <tr class="memitem:a0e112c2290b3ba4e61da6b1fe9ac506d inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a0e112c2290b3ba4e61da6b1fe9ac506d">isInWorklist</a> (const <a class="el" href="classSVF_1_1CFLEdge.html">CFLEdge</a> *<a class="el" href="cJSON_8cpp.html#ac011de571ff16ba220d2e0d757e4e8b0">item</a>)</td></tr>
143
+ <tr class="separator:a0e112c2290b3ba4e61da6b1fe9ac506d inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
144
+ </table>
145
+ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
146
+ <div class="textblock"><p>Solver Utilize <a class="el" href="classSVF_1_1CFLData.html">CFLData</a>. </p>
147
+
148
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00115">115</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
149
+ </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
150
+ <a id="a5149116e1dbcffcf656f5a63fa0e0c25"></a>
151
+ <h2 class="memtitle"><span class="permalink"><a href="#a5149116e1dbcffcf656f5a63fa0e0c25">&#9670;&nbsp;</a></span>~POCRSolver()</h2>
152
+
153
+ <div class="memitem">
154
+ <div class="memproto">
155
+ <table class="mlabels">
156
+ <tr>
157
+ <td class="mlabels-left">
158
+ <table class="memname">
159
+ <tr>
160
+ <td class="memname">virtual SVF::POCRSolver::~POCRSolver </td>
161
+ <td>(</td>
162
+ <td class="paramname"></td><td>)</td>
163
+ <td></td>
164
+ </tr>
165
+ </table>
166
+ </td>
167
+ <td class="mlabels-right">
168
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span> </td>
169
+ </tr>
170
+ </table>
171
+ </div><div class="memdoc">
172
+
173
+ <p>Destructor. </p>
174
+
175
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00118">118</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
176
+ <div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1POCRSolver.html#a3ed67db7c5bbddee09b7fefdec3ca538">_cflData</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div><div class="ttc" id="classSVF_1_1POCRSolver_html_a3ed67db7c5bbddee09b7fefdec3ca538"><div class="ttname"><a href="classSVF_1_1POCRSolver.html#a3ed67db7c5bbddee09b7fefdec3ca538">SVF::POCRSolver::_cflData</a></div><div class="ttdeci">CFLData * _cflData</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00131">CFLSolver.h:131</a></div></div>
177
+ </div><!-- fragment -->
178
+ </div>
179
+ </div>
180
+ <h2 class="groupheader">Member Function Documentation</h2>
181
+ <a id="a5e82e65d4e7bec0031d06b41902fae54"></a>
182
+ <h2 class="memtitle"><span class="permalink"><a href="#a5e82e65d4e7bec0031d06b41902fae54">&#9670;&nbsp;</a></span>cflData()</h2>
183
+
184
+ <div class="memitem">
185
+ <div class="memproto">
186
+ <table class="mlabels">
187
+ <tr>
188
+ <td class="mlabels-left">
189
+ <table class="memname">
190
+ <tr>
191
+ <td class="memname"><a class="el" href="classSVF_1_1CFLData.html">CFLData</a>* SVF::POCRSolver::cflData </td>
192
+ <td>(</td>
193
+ <td class="paramname"></td><td>)</td>
194
+ <td></td>
195
+ </tr>
196
+ </table>
197
+ </td>
198
+ <td class="mlabels-right">
199
+ <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
200
+ </tr>
201
+ </table>
202
+ </div><div class="memdoc">
203
+
204
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00123">123</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
205
+ <div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1POCRSolver.html#a3ed67db7c5bbddee09b7fefdec3ca538">_cflData</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div><div class="ttc" id="classSVF_1_1POCRSolver_html_a3ed67db7c5bbddee09b7fefdec3ca538"><div class="ttname"><a href="classSVF_1_1POCRSolver.html#a3ed67db7c5bbddee09b7fefdec3ca538">SVF::POCRSolver::_cflData</a></div><div class="ttdeci">CFLData * _cflData</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00131">CFLSolver.h:131</a></div></div>
206
+ </div><!-- fragment -->
207
+ </div>
208
+ </div>
209
+ <h2 class="groupheader">Member Data Documentation</h2>
210
+ <a id="a3ed67db7c5bbddee09b7fefdec3ca538"></a>
211
+ <h2 class="memtitle"><span class="permalink"><a href="#a3ed67db7c5bbddee09b7fefdec3ca538">&#9670;&nbsp;</a></span>_cflData</h2>
212
+
213
+ <div class="memitem">
214
+ <div class="memproto">
215
+ <table class="mlabels">
216
+ <tr>
217
+ <td class="mlabels-left">
218
+ <table class="memname">
219
+ <tr>
220
+ <td class="memname"><a class="el" href="classSVF_1_1CFLData.html">CFLData</a>* SVF::POCRSolver::_cflData</td>
221
+ </tr>
222
+ </table>
223
+ </td>
224
+ <td class="mlabels-right">
225
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
226
+ </tr>
227
+ </table>
228
+ </div><div class="memdoc">
229
+
230
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00131">131</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
231
+
232
+ </div>
233
+ </div>
234
+ <hr/>The documentation for this class was generated from the following file:<ul>
235
+ <li>/home/runner/work/SVF/SVF/include/CFL/<a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a></li>
236
+ </ul>
237
+ </div><!-- contents -->
238
+ <!-- start footer part -->
239
+ <hr class="footer"/><address class="footer"><small>
240
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
241
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
242
+ </a> 1.8.13
243
+ </small></address>
244
+ </body>
245
+ </html>
@@ -100,6 +100,7 @@ Inheritance diagram for SVF::PointerAnalysis:</div>
100
100
  <area href="classSVF_1_1VersionedFlowSensitive.html" alt="SVF::VersionedFlowSensitive" shape="rect" coords="1462,168,1677,192"/>
101
101
  <area href="classSVF_1_1AndersenSCD.html" alt="SVF::AndersenSCD" shape="rect" coords="0,224,215,248"/>
102
102
  <area href="classSVF_1_1AndersenWaveDiff.html" alt="SVF::AndersenWaveDiff" shape="rect" coords="225,224,440,248"/>
103
+ <area href="classSVF_1_1POCRAlias.html" alt="SVF::POCRAlias" shape="rect" coords="787,224,1002,248"/>
103
104
  <area href="classSVF_1_1AndersenSFR.html" alt="SVF::AndersenSFR" shape="rect" coords="0,280,215,304"/>
104
105
  </map>
105
106
  </div></div>
@@ -2201,7 +2202,7 @@ Private Member Functions</h2></td></tr>
2201
2202
  <p>Initialization of pointer analysis </p>
2202
2203
  <p>initialise pta call graph for every pointer analysis instance </p>
2203
2204
 
2204
- <p>Reimplemented in <a class="el" href="classSVF_1_1AndersenWaveDiff.html#a40514a439869d0c025afb4f6b6fb4071">SVF::AndersenWaveDiff</a>, <a class="el" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen</a>, <a class="el" href="classSVF_1_1AndersenSFR.html#a3b255068b3ea53041af94fd373a53bd4">SVF::AndersenSFR</a>, <a class="el" href="classSVF_1_1FlowSensitive.html#ad3566c57f8456e98542f5a0b765e3cc6">SVF::FlowSensitive</a>, <a class="el" href="classSVF_1_1FlowDDA.html#af1fcf058a9feefeda63f07d4189513a1">SVF::FlowDDA</a>, <a class="el" href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">SVF::AndersenBase</a>, <a class="el" href="classSVF_1_1ContextDDA.html#adb9f21a86daeb2dd79537f3939c393cf">SVF::ContextDDA</a>, <a class="el" href="classSVF_1_1TypeAnalysis.html#a34177236a41f7a2b432243062f829985">SVF::TypeAnalysis</a>, <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#a81d3528fd082018e4345f0b026bf3584">SVF::VersionedFlowSensitive</a>, <a class="el" href="classSVF_1_1CFLAlias.html#aef129edd61d7f15947c6539f8d0c36a0">SVF::CFLAlias</a>, and <a class="el" href="classSVF_1_1CFLVF.html#a852ed935576ca426287cf4afa6a585e3">SVF::CFLVF</a>.</p>
2205
+ <p>Reimplemented in <a class="el" href="classSVF_1_1AndersenWaveDiff.html#a40514a439869d0c025afb4f6b6fb4071">SVF::AndersenWaveDiff</a>, <a class="el" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen</a>, <a class="el" href="classSVF_1_1POCRAlias.html#aad3e90950c4393abddb52afd68cb9f89">SVF::POCRAlias</a>, <a class="el" href="classSVF_1_1AndersenSFR.html#a3b255068b3ea53041af94fd373a53bd4">SVF::AndersenSFR</a>, <a class="el" href="classSVF_1_1FlowSensitive.html#ad3566c57f8456e98542f5a0b765e3cc6">SVF::FlowSensitive</a>, <a class="el" href="classSVF_1_1FlowDDA.html#af1fcf058a9feefeda63f07d4189513a1">SVF::FlowDDA</a>, <a class="el" href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">SVF::AndersenBase</a>, <a class="el" href="classSVF_1_1ContextDDA.html#adb9f21a86daeb2dd79537f3939c393cf">SVF::ContextDDA</a>, <a class="el" href="classSVF_1_1TypeAnalysis.html#a34177236a41f7a2b432243062f829985">SVF::TypeAnalysis</a>, <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#a81d3528fd082018e4345f0b026bf3584">SVF::VersionedFlowSensitive</a>, <a class="el" href="classSVF_1_1CFLAlias.html#aef129edd61d7f15947c6539f8d0c36a0">SVF::CFLAlias</a>, and <a class="el" href="classSVF_1_1CFLVF.html#a852ed935576ca426287cf4afa6a585e3">SVF::CFLVF</a>.</p>
2205
2206
 
2206
2207
  <p class="definition">Definition at line <a class="el" href="PointerAnalysis_8cpp_source.html#l00105">105</a> of file <a class="el" href="PointerAnalysis_8cpp_source.html">PointerAnalysis.cpp</a>.</p>
2207
2208
  <div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; assert(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a> &amp;&amp; <span class="stringliteral">&quot;SVFIR has not been built!&quot;</span>);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">svfMod</a> = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>();</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33">chgraph</a> = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a7e8059ebd9bdeed8891fb231d148316d">getCHG</a>();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a1daf36a755523519187c3a8e9a19b58d">Options::EnableThreadCallGraph</a>())</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>* cg = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classSVF_1_1ThreadCallGraphBuilder.html">ThreadCallGraphBuilder</a> bd(cg, <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>());</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">ptaCallGraph</a> = bd.buildThreadCallGraph(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>());</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* cg = <span class="keyword">new</span> <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1CallGraphBuilder.html">CallGraphBuilder</a> bd(cg,<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>());</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; ptaCallGraph = bd.<a class="code" href="classSVF_1_1CallGraphBuilder.html#aa64a27e99434908a203e566074c66ebc">buildCallGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>());</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#aafa5df4aa576a144476e547b1da35795">callGraphSCCDetection</a>();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// dump callgraph</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a0a998c2e1d701b2052985691babc4567">Options::CallGraphDotGraph</a>())</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a841be22581a7896d8924564e7199f62b">dump</a>(<span class="stringliteral">&quot;callgraph_initial&quot;</span>);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFIR_html_a7e8059ebd9bdeed8891fb231d148316d"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7e8059ebd9bdeed8891fb231d148316d">SVF::SVFIR::getCHG</a></div><div class="ttdeci">CommonCHGraph * getCHG()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00173">SVFIR.h:173</a></div></div>
@@ -1547,7 +1547,7 @@ Private Attributes</h2></td></tr>
1547
1547
  <div class="ttc" id="classSVF_1_1SVFIR_html_a236b4fefd16e9c793c5bd6d576290841"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a236b4fefd16e9c793c5bd6d576290841">SVF::SVFIR::print</a></div><div class="ttdeci">void print()</div><div class="ttdoc">Print SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00570">SVFIR.cpp:570</a></div></div>
1548
1548
  <div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00047">ICFG.h:47</a></div></div>
1549
1549
  <div class="ttc" id="classSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00442">ICFG.cpp:442</a></div></div>
1550
- <div class="ttc" id="classSVF_1_1Options_html_abfd13c7d998333290b39354178739f2c"><div class="ttname"><a href="classSVF_1_1Options.html#abfd13c7d998333290b39354178739f2c">SVF::Options::LoopAnalysis</a></div><div class="ttdeci">static const Option&lt; bool &gt; LoopAnalysis</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00260">Options.h:260</a></div></div>
1550
+ <div class="ttc" id="classSVF_1_1Options_html_abfd13c7d998333290b39354178739f2c"><div class="ttname"><a href="classSVF_1_1Options.html#abfd13c7d998333290b39354178739f2c">SVF::Options::LoopAnalysis</a></div><div class="ttdeci">static const Option&lt; bool &gt; LoopAnalysis</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00261">Options.h:261</a></div></div>
1551
1551
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00095">LLVMModule.h:95</a></div></div>
1552
1552
  <div class="ttc" id="classSVF_1_1LLVMLoopAnalysis_html_a17e4805c2db146430c58af35625a388d"><div class="ttname"><a href="classSVF_1_1LLVMLoopAnalysis.html#a17e4805c2db146430c58af35625a388d">SVF::LLVMLoopAnalysis::build</a></div><div class="ttdeci">virtual void build(ICFG *icfg)</div><div class="ttdoc">Start from here. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMLoopAnalysis_8cpp_source.html#l00084">LLVMLoopAnalysis.cpp:84</a></div></div>
1553
1553
  <div class="ttc" id="classSVF_1_1SVFIR_html_ad6e18f520f6b559f2304002792f6b701"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">SVF::SVFIR::getModule</a></div><div class="ttdeci">SVFModule * getModule()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00153">SVFIR.h:153</a></div></div>