svf-tools 1.0.875 → 1.0.877
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.
- package/README.md +1 -1
- package/SVF-doxygen/html/AbstractExecution_8cpp.html +218 -0
- package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +2124 -0
- package/SVF-doxygen/html/AbstractExecution_8h.html +118 -0
- package/SVF-doxygen/html/AbstractExecution_8h_source.html +512 -0
- package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +81 -81
- package/SVF-doxygen/html/BufOverflowChecker_8h.html +1 -1
- package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +20 -20
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFBasicBlockGWTO_8h_source.html +2 -2
- package/SVF-doxygen/html/CFBasicBlockG_8h_source.html +318 -367
- package/SVF-doxygen/html/ae_8cpp.html +7 -7
- package/SVF-doxygen/html/ae_8cpp_source.html +7 -7
- package/SVF-doxygen/html/annotated.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1AEAPI-members.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AEAPI.html +145 -145
- package/SVF-doxygen/html/classSVF_1_1AEStat-members.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AEStat.html +53 -53
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution-members.html +137 -0
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +2884 -0
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.png +0 -0
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker-members.html +50 -50
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +117 -117
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.png +0 -0
- package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI-members.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI.html +38 -38
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph.html +92 -92
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode-members.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode.html +51 -309
- package/SVF-doxygen/html/classSVF_1_1GenericNode.html +8 -8
- package/SVF-doxygen/html/classes.html +16 -16
- package/SVF-doxygen/html/dir_81caa96ab1d3de93b353e2bbe80e6067.html +1 -1
- package/SVF-doxygen/html/dir_fbec400583b4bd6c5f2e89c86c5943a6.html +1 -1
- package/SVF-doxygen/html/files.html +2 -2
- package/SVF-doxygen/html/functions.html +21 -21
- package/SVF-doxygen/html/functions_a.html +17 -17
- package/SVF-doxygen/html/functions_b.html +1 -1
- package/SVF-doxygen/html/functions_c.html +16 -16
- package/SVF-doxygen/html/functions_d.html +7 -11
- package/SVF-doxygen/html/functions_e.html +1 -1
- package/SVF-doxygen/html/functions_func.html +13 -13
- package/SVF-doxygen/html/functions_func_c.html +11 -11
- package/SVF-doxygen/html/functions_func_d.html +7 -11
- package/SVF-doxygen/html/functions_func_e.html +1 -1
- package/SVF-doxygen/html/functions_func_g.html +1 -1
- package/SVF-doxygen/html/functions_func_h.html +11 -11
- package/SVF-doxygen/html/functions_func_i.html +8 -8
- package/SVF-doxygen/html/functions_func_m.html +1 -1
- package/SVF-doxygen/html/functions_func_n.html +1 -1
- package/SVF-doxygen/html/functions_func_r.html +2 -2
- package/SVF-doxygen/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/functions_func_w.html +1 -1
- package/SVF-doxygen/html/functions_func_~.html +3 -3
- package/SVF-doxygen/html/functions_g.html +1 -1
- package/SVF-doxygen/html/functions_h.html +11 -11
- package/SVF-doxygen/html/functions_i.html +8 -8
- package/SVF-doxygen/html/functions_m.html +1 -1
- package/SVF-doxygen/html/functions_n.html +1 -1
- package/SVF-doxygen/html/functions_p.html +7 -7
- package/SVF-doxygen/html/functions_r.html +6 -8
- package/SVF-doxygen/html/functions_rela.html +2 -2
- package/SVF-doxygen/html/functions_s.html +10 -8
- package/SVF-doxygen/html/functions_t.html +7 -7
- package/SVF-doxygen/html/functions_type_c.html +1 -1
- package/SVF-doxygen/html/functions_v.html +1 -3
- package/SVF-doxygen/html/functions_vars.html +21 -21
- package/SVF-doxygen/html/functions_w.html +1 -1
- package/SVF-doxygen/html/functions_~.html +3 -3
- package/SVF-doxygen/html/globals.html +2 -2
- package/SVF-doxygen/html/globals_defs.html +1 -1
- package/SVF-doxygen/html/globals_s.html +1 -1
- package/SVF-doxygen/html/globals_vars.html +2 -2
- package/SVF-doxygen/html/hierarchy.html +12 -12
- package/SVF-doxygen/html/namespaceSVF.html +9 -9
- package/SVF-doxygen/html/search/all_0.js +21 -21
- package/SVF-doxygen/html/search/all_1.js +503 -502
- package/SVF-doxygen/html/search/all_10.js +325 -325
- package/SVF-doxygen/html/search/all_11.js +228 -228
- package/SVF-doxygen/html/search/all_12.js +569 -569
- package/SVF-doxygen/html/search/all_13.js +208 -208
- package/SVF-doxygen/html/search/all_14.js +69 -69
- package/SVF-doxygen/html/search/all_15.js +176 -176
- package/SVF-doxygen/html/search/all_16.js +78 -78
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +26 -26
- package/SVF-doxygen/html/search/all_1a.js +182 -182
- package/SVF-doxygen/html/search/all_2.js +182 -182
- package/SVF-doxygen/html/search/all_3.js +654 -654
- package/SVF-doxygen/html/search/all_4.js +237 -237
- package/SVF-doxygen/html/search/all_5.js +128 -128
- package/SVF-doxygen/html/search/all_6.js +232 -232
- package/SVF-doxygen/html/search/all_7.js +1060 -1060
- package/SVF-doxygen/html/search/all_8.js +217 -217
- package/SVF-doxygen/html/search/all_9.js +628 -628
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +203 -203
- package/SVF-doxygen/html/search/all_e.js +209 -209
- package/SVF-doxygen/html/search/all_f.js +121 -121
- package/SVF-doxygen/html/search/classes_0.js +29 -29
- package/SVF-doxygen/html/search/classes_1.js +12 -12
- package/SVF-doxygen/html/search/classes_10.js +74 -74
- package/SVF-doxygen/html/search/classes_11.js +14 -14
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +20 -20
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +78 -78
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +38 -38
- package/SVF-doxygen/html/search/classes_8.js +58 -58
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +19 -19
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +3 -3
- package/SVF-doxygen/html/search/defines_10.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/search/defines_4.js +3 -3
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +4 -4
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +8 -8
- package/SVF-doxygen/html/search/defines_f.js +4 -4
- package/SVF-doxygen/html/search/enums_0.js +4 -4
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +4 -4
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_1.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +47 -47
- package/SVF-doxygen/html/search/files_0.js +16 -15
- package/SVF-doxygen/html/search/files_1.js +9 -9
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +58 -58
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +10 -10
- package/SVF-doxygen/html/search/files_7.js +15 -15
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +4 -4
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +13 -13
- package/SVF-doxygen/html/search/functions_1.js +374 -374
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +142 -142
- package/SVF-doxygen/html/search/functions_12.js +298 -298
- package/SVF-doxygen/html/search/functions_13.js +74 -74
- package/SVF-doxygen/html/search/functions_14.js +40 -40
- package/SVF-doxygen/html/search/functions_15.js +72 -72
- package/SVF-doxygen/html/search/functions_16.js +38 -38
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +182 -182
- package/SVF-doxygen/html/search/functions_2.js +95 -95
- package/SVF-doxygen/html/search/functions_3.js +266 -266
- package/SVF-doxygen/html/search/functions_4.js +84 -84
- package/SVF-doxygen/html/search/functions_5.js +57 -57
- package/SVF-doxygen/html/search/functions_6.js +65 -65
- package/SVF-doxygen/html/search/functions_7.js +867 -867
- package/SVF-doxygen/html/search/functions_8.js +164 -164
- package/SVF-doxygen/html/search/functions_9.js +440 -440
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +25 -25
- package/SVF-doxygen/html/search/functions_d.js +81 -81
- package/SVF-doxygen/html/search/functions_e.js +36 -36
- package/SVF-doxygen/html/search/functions_f.js +58 -58
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +4 -4
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +3 -3
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +20 -20
- package/SVF-doxygen/html/search/typedefs_1.js +27 -27
- package/SVF-doxygen/html/search/typedefs_10.js +63 -63
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +40 -40
- package/SVF-doxygen/html/search/typedefs_14.js +11 -11
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +18 -18
- package/SVF-doxygen/html/search/typedefs_5.js +42 -42
- package/SVF-doxygen/html/search/typedefs_6.js +57 -57
- package/SVF-doxygen/html/search/typedefs_7.js +47 -47
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +182 -182
- package/SVF-doxygen/html/search/variables_1.js +76 -76
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/search/variables_12.js +93 -93
- package/SVF-doxygen/html/search/variables_13.js +76 -76
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +49 -49
- package/SVF-doxygen/html/search/variables_16.js +11 -11
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +17 -17
- package/SVF-doxygen/html/search/variables_2.js +41 -41
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +51 -51
- package/SVF-doxygen/html/search/variables_5.js +39 -39
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +8 -8
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +57 -57
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +31 -31
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +102 -102
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
- package/build.sh +1 -1
- package/package.json +1 -1
- package/svf/include/AE/Svfexe/{AE.h → AbstractExecution.h} +13 -14
- package/svf/include/AE/Svfexe/BufOverflowChecker.h +5 -5
- package/svf/include/Graphs/CFBasicBlockG.h +0 -43
- package/svf/lib/AE/Svfexe/{AE.cpp → AbstractExecution.cpp} +33 -33
- package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +2 -2
- package/svf-llvm/tools/AE/ae.cpp +1 -1
|
@@ -320,358 +320,317 @@ $(function() {
|
|
|
320
320
|
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div>
|
|
321
321
|
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  </div>
|
|
322
322
|
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  </div>
|
|
323
|
-
<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#
|
|
323
|
+
<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#abb240b6d11fb9fb08a2ea3d093cf800f"> 263</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#abb240b6d11fb9fb08a2ea3d093cf800f">addIncomingEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *inEdge)</div>
|
|
324
324
|
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  {</div>
|
|
325
|
-
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#
|
|
325
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.insert(inEdge).second;</div>
|
|
326
326
|
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div>
|
|
327
327
|
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  </div>
|
|
328
|
-
<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#
|
|
328
|
+
<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#a59dc0f5017e4f1949e1cbf0b4f4b3a0b"> 268</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a59dc0f5017e4f1949e1cbf0b4f4b3a0b">addOutgoingEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *outEdge)</div>
|
|
329
329
|
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  {</div>
|
|
330
|
-
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.
|
|
330
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.insert(outEdge).second;</div>
|
|
331
331
|
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  }</div>
|
|
332
|
-
<div class="line"><a name="
|
|
333
|
-
<div class="line"><a name="
|
|
334
|
-
<div class="line"><a name="
|
|
335
|
-
<div class="line"><a name="
|
|
336
|
-
<div class="line"><a name="
|
|
337
|
-
<div class="line"><a name="
|
|
338
|
-
<div class="line"><a name="
|
|
339
|
-
<div class="line"><a name="
|
|
340
|
-
<div class="line"><a name="
|
|
341
|
-
<div class="line"><a name="
|
|
342
|
-
<div class="line"><a name="
|
|
343
|
-
<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#ace9c6976879aaa8c1609a3773de6eec7"> 283</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#ace9c6976879aaa8c1609a3773de6eec7">directOutEdgeBegin</a>()<span class="keyword"> const</span></div>
|
|
344
|
-
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keyword"> </span>{</div>
|
|
345
|
-
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.begin();</div>
|
|
332
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  </div>
|
|
333
|
+
<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#a1595d3b9c142ae3bfeb144b3deb88935"> 276</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a1595d3b9c142ae3bfeb144b3deb88935">removeIncomingEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)</div>
|
|
334
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  {</div>
|
|
335
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  assert(<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.find(edge) != <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.end() && <span class="stringliteral">"can not find in edge in SVFG node"</span>);</div>
|
|
336
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.erase(edge);</div>
|
|
337
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  }</div>
|
|
338
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  </div>
|
|
339
|
+
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#a2e09d431bbe6a9a70c04db17d89eda2c"> 282</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a2e09d431bbe6a9a70c04db17d89eda2c">removeOutgoingEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)</div>
|
|
340
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  {</div>
|
|
341
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  assert(<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.find(edge) != <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.end() && <span class="stringliteral">"can not find out edge in SVFG node"</span>);</div>
|
|
342
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.erase(edge);</div>
|
|
346
343
|
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  }</div>
|
|
347
|
-
<div class="line"><a name="
|
|
348
|
-
<div class="line"><a name="
|
|
349
|
-
<div class="line"><a name="
|
|
350
|
-
<div class="line"><a name="
|
|
351
|
-
<div class="line"><a name="
|
|
352
|
-
<div class="line"><a name="
|
|
353
|
-
<div class="line"><a name="
|
|
354
|
-
<div class="line"><a name="
|
|
355
|
-
<div class="line"><a name="
|
|
356
|
-
<div class="line"><a name="
|
|
357
|
-
<div class="line"><a name="
|
|
358
|
-
<div class="line"><a name="
|
|
359
|
-
<div class="line"><a name="
|
|
360
|
-
<div class="line"><a name="
|
|
361
|
-
<div class="line"><a name="
|
|
362
|
-
<div class="line"><a name="
|
|
363
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  </div>
|
|
364
|
-
<div class="line"><a name="l00306"></a><span class="lineno"
|
|
365
|
-
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> 
|
|
366
|
-
<div class="line"><a name="
|
|
367
|
-
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  }</div>
|
|
344
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  </div>
|
|
345
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  </div>
|
|
346
|
+
<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#a039e122b9bceabeb0b3e687b6ee14d5c"> 291</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a039e122b9bceabeb0b3e687b6ee14d5c">hasIncomingEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)<span class="keyword"> const</span></div>
|
|
347
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keyword"> </span>{</div>
|
|
348
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> it = <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.find(edge);</div>
|
|
349
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">InEdges</a>.end())</div>
|
|
350
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">return</span> *it;</div>
|
|
351
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">else</span></div>
|
|
352
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
353
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  }</div>
|
|
354
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  </div>
|
|
355
|
+
<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#a802b138a587dae6eaf2787eb2fd30f21"> 300</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a802b138a587dae6eaf2787eb2fd30f21">hasOutgoingEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)<span class="keyword"> const</span></div>
|
|
356
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keyword"> </span>{</div>
|
|
357
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">const_iterator</a> it = <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.find(edge);</div>
|
|
358
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.end())</div>
|
|
359
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">return</span> *it;</div>
|
|
360
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">else</span></div>
|
|
361
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
362
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div>
|
|
363
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> };</div>
|
|
368
364
|
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  </div>
|
|
369
|
-
<div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="
|
|
370
|
-
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> 
|
|
371
|
-
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> 
|
|
372
|
-
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> 
|
|
373
|
-
<div class="line"><a name="
|
|
374
|
-
<div class="line"><a name="
|
|
375
|
-
<div class="line"><a name="
|
|
376
|
-
<div class="line"><a name="
|
|
377
|
-
<div class="line"><a name="
|
|
378
|
-
<div class="line"><a name="
|
|
365
|
+
<div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a6184b09dcc733e3f35945076aa2781fe"> 311</a></span> <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph<CFBasicBlockNode, CFBasicBlockEdge></a> <a class="code" href="namespaceSVF.html#a6184b09dcc733e3f35945076aa2781fe">GenericCFBasicBlockGTy</a>;</div>
|
|
366
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  </div>
|
|
367
|
+
<div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html"> 313</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1GenericGraph.html">GenericCFBasicBlockGTy</a></div>
|
|
368
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> {</div>
|
|
369
|
+
<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a7ce096ffa0d05b095e3dbb649917265f"> 315</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html">CFBasicBlockGBuilder</a>;</div>
|
|
370
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keyword">private</span>:</div>
|
|
371
|
+
<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9"> 317</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>{0};</div>
|
|
372
|
+
<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b"> 318</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>{0};</div>
|
|
373
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keyword">public</span>:</div>
|
|
374
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  </div>
|
|
375
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#afad7ee1f21bf2983d4aa40cccf368137">CFBasicBlockGraph</a>() = <span class="keywordflow">default</span>;</div>
|
|
376
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  </div>
|
|
377
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af025ac00db2493720d8170fb08f237d4">~CFBasicBlockGraph</a>() <span class="keyword">override</span> = <span class="keywordflow">default</span>;</div>
|
|
379
378
|
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  </div>
|
|
380
|
-
<div class="line"><a name="
|
|
381
|
-
<div class="line"><a name="
|
|
382
|
-
<div class="line"><a name="
|
|
383
|
-
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">OutEdges</a>.erase(edge);</div>
|
|
379
|
+
<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a41494b39a562ee1788f91bc39776604f"> 326</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a41494b39a562ee1788f91bc39776604f">dump</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &filename)</div>
|
|
380
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  {</div>
|
|
381
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>(), filename, <span class="keyword">this</span>);</div>
|
|
384
382
|
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  }</div>
|
|
385
|
-
<div class="line"><a name="
|
|
386
|
-
<div class="line"><a name="
|
|
387
|
-
<div class="line"><a name="
|
|
388
|
-
<div class="line"><a name="
|
|
389
|
-
<div class="line"><a name="
|
|
390
|
-
<div class="line"><a name="
|
|
391
|
-
<div class="line"><a name="
|
|
392
|
-
<div class="line"><a name="
|
|
393
|
-
<div class="line"><a name="
|
|
394
|
-
<div class="line"><a name="
|
|
383
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  </div>
|
|
384
|
+
<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81"> 331</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
|
|
385
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="keyword"> </span>{</div>
|
|
386
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>)) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
387
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div>
|
|
388
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div>
|
|
389
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  </div>
|
|
390
|
+
<div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#aa2110611126556090763024828dbc516"> 337</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#aa2110611126556090763024828dbc516">hasCFBasicBlockNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
|
|
391
|
+
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keyword"> </span>{</div>
|
|
392
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>);</div>
|
|
393
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div>
|
|
394
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  </div>
|
|
395
395
|
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  </div>
|
|
396
|
-
<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="
|
|
397
|
-
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> 
|
|
398
|
-
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="
|
|
399
|
-
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <
|
|
400
|
-
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> 
|
|
401
|
-
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">
|
|
402
|
-
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> 
|
|
403
|
-
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> 
|
|
404
|
-
<div class="line"><a name="
|
|
405
|
-
<div class="line"><a name="
|
|
406
|
-
<div class="line"><a name="
|
|
407
|
-
<div class="line"><a name="
|
|
408
|
-
<div class="line"><a name="
|
|
409
|
-
<div class="line"><a name="
|
|
410
|
-
<div class="line"><a name="
|
|
411
|
-
<div class="line"><a name="
|
|
412
|
-
<div class="line"><a name="
|
|
413
|
-
<div class="line"><a name="
|
|
414
|
-
<div class="line"><a name="
|
|
415
|
-
<div class="line"><a name="
|
|
416
|
-
<div class="line"><a name="
|
|
417
|
-
<div class="line"><a name="
|
|
418
|
-
<div class="line"><a name="
|
|
419
|
-
<div class="line"><a name="
|
|
420
|
-
<div class="line"><a name="
|
|
421
|
-
<div class="line"><a name="
|
|
422
|
-
<div class="line"><a name="
|
|
423
|
-
<div class="line"><a name="
|
|
424
|
-
<div class="line"><a name="
|
|
425
|
-
<div class="line"><a name="
|
|
426
|
-
<div class="line"><a name="
|
|
427
|
-
<div class="line"><a name="
|
|
428
|
-
<div class="line"><a name="
|
|
429
|
-
<div class="line"><a name="
|
|
430
|
-
<div class="line"><a name="
|
|
431
|
-
<div class="line"><a name="
|
|
432
|
-
<div class="line"><a name="
|
|
433
|
-
<div class="line"><a name="
|
|
434
|
-
<div class="line"><a name="
|
|
435
|
-
<div class="line"><a name="
|
|
396
|
+
<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a8e41d155ded9f4527adf8f1644600839"> 343</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a8e41d155ded9f4527adf8f1644600839">hasCFBasicBlockEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst, <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *icfgEdge)</div>
|
|
397
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  {</div>
|
|
398
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> edge(src, dst, icfgEdge);</div>
|
|
399
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *outEdge = src-><a class="code" href="classSVF_1_1CFBasicBlockNode.html#a1b02680eb7b603ffaed3eecd2f09455e">hasOutgoingEdge</a>(&edge);</div>
|
|
400
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *inEdge = dst-><a class="code" href="classSVF_1_1CFBasicBlockNode.html#ac468c52cc443f1137f6d5fb510a8ac46">hasIncomingEdge</a>(&edge);</div>
|
|
401
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">if</span> (outEdge && inEdge)</div>
|
|
402
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  {</div>
|
|
403
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  assert(outEdge == inEdge && <span class="stringliteral">"edges not match"</span>);</div>
|
|
404
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
405
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div>
|
|
406
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">else</span></div>
|
|
407
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
408
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  }</div>
|
|
409
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  </div>
|
|
410
|
+
<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a154d9dae860b441b1653e0afb90f1da3"> 357</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a154d9dae860b441b1653e0afb90f1da3">hasCFBasicBlockEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst)<span class="keyword"> const</span></div>
|
|
411
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="keyword"> </span>{</div>
|
|
412
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &e: src-><a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>())</div>
|
|
413
|
+
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  {</div>
|
|
414
|
+
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">if</span> (e->getDstNode() == dst)</div>
|
|
415
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
416
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div>
|
|
417
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
418
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div>
|
|
419
|
+
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  </div>
|
|
420
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a5feb9a73d517a2be4eac0d7dddfedef8">getCFBasicBlockEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *icfgEdge);</div>
|
|
421
|
+
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  </div>
|
|
422
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  std::vector<CFBasicBlockEdge*> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a5feb9a73d517a2be4eac0d7dddfedef8">getCFBasicBlockEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst);</div>
|
|
423
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  </div>
|
|
424
|
+
<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af"> 372</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">removeCFBBEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)</div>
|
|
425
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  {</div>
|
|
426
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->hasIncomingEdge(edge))</div>
|
|
427
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  {</div>
|
|
428
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->removeIncomingEdge(edge);</div>
|
|
429
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  }</div>
|
|
430
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->hasOutgoingEdge(edge))</div>
|
|
431
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  {</div>
|
|
432
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->removeOutgoingEdge(edge);</div>
|
|
433
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  }</div>
|
|
434
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keyword">delete</span> edge;</div>
|
|
435
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>--;</div>
|
|
436
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div>
|
|
436
437
|
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  </div>
|
|
437
|
-
<div class="line"><a name="
|
|
438
|
-
<div class="line"><a name="
|
|
439
|
-
<div class="line"><a name="
|
|
440
|
-
<div class="line"><a name="
|
|
441
|
-
<div class="line"><a name="
|
|
442
|
-
<div class="line"><a name="
|
|
443
|
-
<div class="line"><a name="
|
|
444
|
-
<div class="line"><a name="
|
|
445
|
-
<div class="line"><a name="
|
|
446
|
-
<div class="line"><a name="
|
|
447
|
-
<div class="line"><a name="
|
|
448
|
-
<div class="line"><a name="
|
|
449
|
-
<div class="line"><a name="
|
|
450
|
-
<div class="line"><a name="
|
|
451
|
-
<div class="line"><a name="
|
|
452
|
-
<div class="line"><a name="
|
|
453
|
-
<div class="line"><a name="
|
|
454
|
-
<div class="line"><a name="
|
|
455
|
-
<div class="line"><a name="
|
|
456
|
-
<div class="line"><a name="
|
|
457
|
-
<div class="line"><a name="
|
|
458
|
-
<div class="line"><a name="
|
|
459
|
-
<div class="line"><a name="
|
|
460
|
-
<div class="line"><a name="
|
|
461
|
-
<div class="line"><a name="
|
|
462
|
-
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  </div>
|
|
463
|
-
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  std::vector<CFBasicBlockEdge*> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a5feb9a73d517a2be4eac0d7dddfedef8">getCFBasicBlockEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst);</div>
|
|
438
|
+
<div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18"> 387</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">removeCFBBNode</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)</div>
|
|
439
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  {</div>
|
|
440
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  std::set<CFBasicBlockEdge *> temp;</div>
|
|
441
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *e: node-><a class="code" href="classSVF_1_1CFBasicBlockNode.html#a6bfafe540f83e097370ca0dc66422214">getInEdges</a>())</div>
|
|
442
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  temp.insert(e);</div>
|
|
443
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *e: node-><a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>())</div>
|
|
444
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  temp.insert(e);</div>
|
|
445
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *e: temp)</div>
|
|
446
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  {</div>
|
|
447
|
+
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">removeCFBBEdge</a>(e);</div>
|
|
448
|
+
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  }</div>
|
|
449
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <a class="code" href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">removeGNode</a>(node);</div>
|
|
450
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>--;</div>
|
|
451
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  }</div>
|
|
452
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  </div>
|
|
453
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  </div>
|
|
454
|
+
<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a9b9d1a149ad405f1b64020a41402583e"> 404</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9b9d1a149ad405f1b64020a41402583e">removeCFBBNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div>
|
|
455
|
+
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  {</div>
|
|
456
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>))</div>
|
|
457
|
+
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  {</div>
|
|
458
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">removeCFBBNode</a>(<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>));</div>
|
|
459
|
+
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
460
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  }</div>
|
|
461
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
462
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  }</div>
|
|
464
463
|
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  </div>
|
|
465
|
-
<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#
|
|
464
|
+
<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#acd6a4b291c9aab8abdc466f985975d0d"> 415</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#acd6a4b291c9aab8abdc466f985975d0d">addCFBBEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge)</div>
|
|
466
465
|
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  {</div>
|
|
467
|
-
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="
|
|
468
|
-
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> 
|
|
469
|
-
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> 
|
|
470
|
-
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> 
|
|
471
|
-
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">
|
|
472
|
-
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> 
|
|
473
|
-
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> 
|
|
474
|
-
<div class="line"><a name="
|
|
475
|
-
<div class="line"><a name="
|
|
476
|
-
<div class="line"><a name="
|
|
477
|
-
<div class="line"><a name="
|
|
478
|
-
<div class="line"><a name="
|
|
479
|
-
<div class="line"><a name="l00430"></a><span class="lineno"
|
|
480
|
-
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> 
|
|
481
|
-
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> 
|
|
482
|
-
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> 
|
|
483
|
-
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> 
|
|
484
|
-
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> 
|
|
485
|
-
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> 
|
|
486
|
-
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> 
|
|
487
|
-
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> 
|
|
488
|
-
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> 
|
|
489
|
-
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> 
|
|
490
|
-
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> 
|
|
491
|
-
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> 
|
|
492
|
-
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> 
|
|
493
|
-
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> 
|
|
494
|
-
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> 
|
|
495
|
-
<div class="line"><a name="
|
|
496
|
-
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> 
|
|
497
|
-
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> 
|
|
498
|
-
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> 
|
|
499
|
-
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> 
|
|
500
|
-
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> 
|
|
501
|
-
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> 
|
|
502
|
-
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> 
|
|
503
|
-
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> 
|
|
504
|
-
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  </div>
|
|
505
|
-
<div class="line"><a name="
|
|
506
|
-
<div class="line"><a name="
|
|
507
|
-
<div class="line"><a name="
|
|
508
|
-
<div class="line"><a name="
|
|
509
|
-
<div class="line"><a name="
|
|
510
|
-
<div class="line"><a name="
|
|
511
|
-
<div class="line"><a name="
|
|
512
|
-
<div class="line"><a name="
|
|
513
|
-
<div class="line"><a name="
|
|
514
|
-
<div class="line"><a name="
|
|
515
|
-
<div class="line"><a name="
|
|
516
|
-
<div class="line"><a name="
|
|
517
|
-
<div class="line"><a name="
|
|
518
|
-
<div class="line"><a name="
|
|
519
|
-
<div class="line"><a name="
|
|
520
|
-
<div class="line"><a name="
|
|
521
|
-
<div class="line"><a name="
|
|
522
|
-
<div class="line"><a name="
|
|
523
|
-
<div class="line"><a name="
|
|
524
|
-
<div class="line"><a name="
|
|
525
|
-
<div class="line"><a name="
|
|
526
|
-
<div class="line"><a name="
|
|
527
|
-
<div class="line"><a name="
|
|
528
|
-
<div class="line"><a name="
|
|
529
|
-
<div class="line"><a name="
|
|
530
|
-
<div class="line"><a name="
|
|
531
|
-
<div class="line"><a name="
|
|
532
|
-
<div class="line"><a name="
|
|
533
|
-
<div class="line"><a name="
|
|
534
|
-
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> 
|
|
535
|
-
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> 
|
|
536
|
-
<div class="line"><a name="
|
|
537
|
-
<div class="line"><a name="
|
|
538
|
-
<div class="line"><a name="
|
|
539
|
-
<div class="line"><a name="
|
|
540
|
-
<div class="line"><a name="
|
|
541
|
-
<div class="line"><a name="
|
|
542
|
-
<div class="line"><a name="
|
|
543
|
-
<div class="line"><a name="
|
|
544
|
-
<div class="line"><a name="
|
|
545
|
-
<div class="line"><a name="
|
|
546
|
-
<div class="line"><a name="
|
|
547
|
-
<div class="line"><a name="
|
|
548
|
-
<div class="line"><a name="
|
|
549
|
-
<div class="line"><a name="
|
|
550
|
-
<div class="line"><a name="
|
|
551
|
-
<div class="line"><a name="
|
|
552
|
-
<div class="line"><a name="
|
|
553
|
-
<div class="line"><a name="
|
|
554
|
-
<div class="line"><a name="
|
|
555
|
-
<div class="line"><a name="
|
|
556
|
-
<div class="line"><a name="
|
|
557
|
-
<div class="line"><a name="
|
|
558
|
-
<div class="line"><a name="
|
|
559
|
-
<div class="line"><a name="
|
|
560
|
-
<div class="line"><a name="
|
|
561
|
-
<div class="line"><a name="
|
|
562
|
-
<div class="line"><a name="
|
|
563
|
-
<div class="line"><a name="
|
|
564
|
-
<div class="line"><a name="
|
|
565
|
-
<div class="line"><a name="
|
|
566
|
-
<div class="line"><a name="
|
|
567
|
-
<div class="line"><a name="
|
|
568
|
-
<div class="line"><a name="
|
|
569
|
-
<div class="line"><a name="
|
|
570
|
-
<div class="line"><a name="
|
|
571
|
-
<div class="line"><a name="
|
|
572
|
-
<div class="line"><a name="
|
|
573
|
-
<div class="line"><a name="
|
|
574
|
-
<div class="line"><a name="
|
|
575
|
-
<div class="line"><a name="
|
|
576
|
-
<div class="line"><a name="
|
|
577
|
-
<div class="line"><a name="
|
|
578
|
-
<div class="line"><a name="
|
|
579
|
-
<div class="line"><a name="
|
|
580
|
-
<div class="line"><a name="
|
|
581
|
-
<div class="line"><a name="
|
|
582
|
-
<div class="line"><a name="
|
|
583
|
-
<div class="line"><a name="
|
|
584
|
-
<div class="line"><a name="
|
|
466
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordtype">bool</span> added1 = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->addIncomingEdge(edge);</div>
|
|
467
|
+
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordtype">bool</span> added2 = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->addOutgoingEdge(edge);</div>
|
|
468
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  assert(added1 && added2 && <span class="stringliteral">"edge not added??"</span>);</div>
|
|
469
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>++;</div>
|
|
470
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">return</span> added1 && added2;</div>
|
|
471
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  }</div>
|
|
472
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  </div>
|
|
473
|
+
<div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a4a7a6e00d13b4099c34a3015b4f06a67"> 425</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a4a7a6e00d13b4099c34a3015b4f06a67">addCFBBNode</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)</div>
|
|
474
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  {</div>
|
|
475
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), node);</div>
|
|
476
|
+
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>++;</div>
|
|
477
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  }</div>
|
|
478
|
+
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> };</div>
|
|
479
|
+
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  </div>
|
|
480
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div>
|
|
481
|
+
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  </div>
|
|
482
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  </div>
|
|
483
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
|
|
484
|
+
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> {</div>
|
|
485
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment">/* !</span></div>
|
|
486
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="comment"> * GenericGraphTraits specializations for generic graph algorithms.</span></div>
|
|
487
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment"> * Provide graph traits for traversing from a constraint node using standard graph ICFGTraversals.</span></div>
|
|
488
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment"> */</span></div>
|
|
489
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keyword">template</span><></div>
|
|
490
|
+
<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html"> 442</a></span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *></div>
|
|
491
|
+
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  : <span class="keyword">public</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><SVF::GenericNode<SVF::CFBasicBlockNode, SVF::CFBasicBlockEdge> *></div>
|
|
492
|
+
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> {</div>
|
|
493
|
+
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> };</div>
|
|
494
|
+
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  </div>
|
|
495
|
+
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="keyword">template</span><></div>
|
|
496
|
+
<div class="line"><a name="l00449"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html"> 449</a></span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><<a class="code" href="structSVF_1_1Inverse.html">Inverse</a>< <a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *> > : <span class="keyword">public</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><</div>
|
|
497
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  Inverse<SVF::GenericNode<SVF::CFBasicBlockNode, SVF::CFBasicBlockEdge> *> ></div>
|
|
498
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> {</div>
|
|
499
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> };</div>
|
|
500
|
+
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  </div>
|
|
501
|
+
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keyword">template</span><></div>
|
|
502
|
+
<div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html"> 455</a></span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a> *></div>
|
|
503
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  : <span class="keyword">public</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><SVF::GenericGraph<SVF::CFBasicBlockNode, SVF::CFBasicBlockEdge> *></div>
|
|
504
|
+
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> {</div>
|
|
505
|
+
<div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0d7eb2f1c00f0499d99f5508ce5055f5"> 458</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">SVF::CFBasicBlockNode</a> *<a class="code" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0d7eb2f1c00f0499d99f5508ce5055f5">NodeRef</a>;</div>
|
|
506
|
+
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> };</div>
|
|
507
|
+
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  </div>
|
|
508
|
+
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> } <span class="comment">// End namespace SVF</span></div>
|
|
509
|
+
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  </div>
|
|
510
|
+
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
|
|
511
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> {</div>
|
|
512
|
+
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keyword">template</span><></div>
|
|
513
|
+
<div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html"> 466</a></span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1DOTGraphTraits.html">DOTGraphTraits</a><<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a> *> : <span class="keyword">public</span> <a class="code" href="structSVF_1_1DOTGraphTraits.html">DOTGraphTraits</a><SVF::SVFIR *></div>
|
|
514
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> {</div>
|
|
515
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  </div>
|
|
516
|
+
<div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a10af45bcbdbb34263454107c0e5184d4"> 469</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">SVF::CFBasicBlockNode</a> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a10af45bcbdbb34263454107c0e5184d4">NodeType</a>;</div>
|
|
517
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  </div>
|
|
518
|
+
<div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a8b20aa3687b959574334d55646db4418"> 471</a></span>  <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a8b20aa3687b959574334d55646db4418">DOTGraphTraits</a>(<span class="keywordtype">bool</span> <a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#acc82bc6228128e5bb98a6b00d6dc5f77">isSimple</a> = <span class="keyword">false</span>) :</div>
|
|
519
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <a class="code" href="structSVF_1_1DOTGraphTraits.html">DOTGraphTraits</a><<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *>(<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#acc82bc6228128e5bb98a6b00d6dc5f77">isSimple</a>)</div>
|
|
520
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  {</div>
|
|
521
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  }</div>
|
|
522
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  </div>
|
|
523
|
+
<div class="line"><a name="l00477"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a68b94951ed25f24c455a6c6fb8cc7a1f"> 477</a></span>  <span class="keyword">static</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a68b94951ed25f24c455a6c6fb8cc7a1f">getGraphName</a>(<a class="code" href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a> *)</div>
|
|
524
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  {</div>
|
|
525
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CFBasicBlockGraph"</span>;</div>
|
|
526
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  }</div>
|
|
527
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  </div>
|
|
528
|
+
<div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a120207fca1bca1b08817bdec4ff39610"> 482</a></span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a120207fca1bca1b08817bdec4ff39610">getNodeLabel</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">NodeType</a> *node, <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a> *graph)</div>
|
|
529
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  {</div>
|
|
530
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keywordflow">return</span> getSimpleNodeLabel(node, graph);</div>
|
|
531
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  }</div>
|
|
532
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  </div>
|
|
533
|
+
<div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0"> 488</a></span>  <span class="keyword">static</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">getSimpleNodeLabel</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">NodeType</a> *node, <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a> *)</div>
|
|
534
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  {</div>
|
|
535
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
536
|
+
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  std::stringstream rawstr(str);</div>
|
|
537
|
+
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  rawstr << <span class="stringliteral">"NodeID: "</span> << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">"\n"</span>;</div>
|
|
538
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  rawstr << node-><a class="code" href="classSVF_1_1CFBasicBlockNode.html#a727f0ef59605adf99af4babee90eb8a8">toString</a>();</div>
|
|
539
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  </div>
|
|
540
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
541
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  }</div>
|
|
542
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  </div>
|
|
543
|
+
<div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a97e3cbb530c0b4c0dcb9aa0de9406ed3"> 498</a></span>  <span class="keyword">static</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a97e3cbb530c0b4c0dcb9aa0de9406ed3">getNodeAttributes</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">NodeType</a> *node, <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a> *)</div>
|
|
544
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  {</div>
|
|
545
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
546
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  std::stringstream rawstr(str);</div>
|
|
547
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">if</span>(node-><a class="code" href="classSVF_1_1CFBasicBlockNode.html#afdad57a83c392a8b14b838ecb58f9ff7">getICFGNodes</a>().size() == 1)</div>
|
|
548
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  {</div>
|
|
549
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a> = node-><a class="code" href="classSVF_1_1CFBasicBlockNode.html#afdad57a83c392a8b14b838ecb58f9ff7">getICFGNodes</a>()[0];</div>
|
|
550
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">if</span>(SVFUtil::isa<IntraICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
551
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  {</div>
|
|
552
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  rawstr << <span class="stringliteral">"color=black"</span>;</div>
|
|
553
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  }</div>
|
|
554
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<FunEntryICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
555
|
+
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  {</div>
|
|
556
|
+
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  rawstr << <span class="stringliteral">"color=yellow"</span>;</div>
|
|
557
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  }</div>
|
|
558
|
+
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<FunExitICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
559
|
+
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  {</div>
|
|
560
|
+
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  rawstr << <span class="stringliteral">"color=green"</span>;</div>
|
|
561
|
+
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  }</div>
|
|
562
|
+
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<CallICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
563
|
+
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  {</div>
|
|
564
|
+
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  rawstr << <span class="stringliteral">"color=red"</span>;</div>
|
|
565
|
+
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  }</div>
|
|
566
|
+
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<RetICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
567
|
+
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  {</div>
|
|
568
|
+
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  rawstr << <span class="stringliteral">"color=blue"</span>;</div>
|
|
569
|
+
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  }</div>
|
|
570
|
+
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<GlobalICFGNode>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>))</div>
|
|
571
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  {</div>
|
|
572
|
+
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  rawstr << <span class="stringliteral">"color=purple"</span>;</div>
|
|
573
|
+
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  }</div>
|
|
574
|
+
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="keywordflow">else</span></div>
|
|
575
|
+
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no such kind of node!!"</span>);</div>
|
|
576
|
+
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  }</div>
|
|
577
|
+
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">else</span></div>
|
|
578
|
+
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  {</div>
|
|
579
|
+
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  rawstr << <span class="stringliteral">"color=black"</span>;</div>
|
|
580
|
+
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  }</div>
|
|
581
|
+
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  rawstr << <span class="stringliteral">""</span>;</div>
|
|
582
|
+
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
583
|
+
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  }</div>
|
|
584
|
+
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  </div>
|
|
585
|
+
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keyword">template</span><<span class="keyword">class</span> EdgeIter></div>
|
|
586
|
+
<div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0722462dfd91b70ee09cec6f511dd644"> 541</a></span>  <span class="keyword">static</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0722462dfd91b70ee09cec6f511dd644">getEdgeAttributes</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">NodeType</a> *, EdgeIter EI, <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a> *)</div>
|
|
585
587
|
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  {</div>
|
|
586
|
-
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="
|
|
587
|
-
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> 
|
|
588
|
-
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">if</span>(
|
|
588
|
+
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* edge = *(EI.getCurrent());</div>
|
|
589
|
+
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div>
|
|
590
|
+
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>())</div>
|
|
589
591
|
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  {</div>
|
|
590
|
-
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="
|
|
591
|
-
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> 
|
|
592
|
-
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> 
|
|
593
|
-
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> 
|
|
594
|
-
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> 
|
|
595
|
-
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> 
|
|
596
|
-
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> 
|
|
597
|
-
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> 
|
|
598
|
-
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> 
|
|
599
|
-
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> 
|
|
600
|
-
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> 
|
|
601
|
-
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> 
|
|
602
|
-
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> 
|
|
603
|
-
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> 
|
|
604
|
-
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> 
|
|
605
|
-
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> 
|
|
606
|
-
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> 
|
|
607
|
-
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> 
|
|
608
|
-
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> 
|
|
609
|
-
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> 
|
|
610
|
-
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> 
|
|
611
|
-
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> 
|
|
612
|
-
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> 
|
|
613
|
-
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> 
|
|
614
|
-
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> 
|
|
615
|
-
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">
|
|
616
|
-
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> 
|
|
617
|
-
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> 
|
|
618
|
-
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> 
|
|
619
|
-
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> 
|
|
620
|
-
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> 
|
|
621
|
-
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> 
|
|
622
|
-
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> 
|
|
623
|
-
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> 
|
|
624
|
-
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> 
|
|
625
|
-
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  </div>
|
|
626
|
-
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keyword">template</span><<span class="keyword">class</span> EdgeIter></div>
|
|
627
|
-
<div class="line"><a name="l00584"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0722462dfd91b70ee09cec6f511dd644"> 584</a></span>  <span class="keyword">static</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0722462dfd91b70ee09cec6f511dd644">getEdgeAttributes</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">NodeType</a> *, EdgeIter EI, <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a> *)</div>
|
|
628
|
-
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  {</div>
|
|
629
|
-
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* edge = *(EI.getCurrent());</div>
|
|
630
|
-
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div>
|
|
631
|
-
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>())</div>
|
|
632
|
-
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  {</div>
|
|
633
|
-
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <span class="keywordflow">if</span> (SVFUtil::isa<CallCFGEdge>(edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>()))</div>
|
|
634
|
-
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  {</div>
|
|
635
|
-
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid,color=red"</span>;</div>
|
|
636
|
-
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  }</div>
|
|
637
|
-
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<RetCFGEdge>(edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>()))</div>
|
|
638
|
-
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid,color=blue"</span>;</div>
|
|
639
|
-
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordflow">else</span></div>
|
|
640
|
-
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid"</span>;</div>
|
|
641
|
-
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  }</div>
|
|
642
|
-
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordflow">else</span></div>
|
|
643
|
-
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  {</div>
|
|
644
|
-
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid"</span>;</div>
|
|
645
|
-
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  }</div>
|
|
646
|
-
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  }</div>
|
|
647
|
-
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  </div>
|
|
648
|
-
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <span class="keyword">template</span><<span class="keyword">class</span> EdgeIter></div>
|
|
649
|
-
<div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a18996409976ff870789803b76a0c04f7"> 606</a></span>  <span class="keyword">static</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a18996409976ff870789803b76a0c04f7">getEdgeSourceLabel</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">NodeType</a> *, EdgeIter EI)</div>
|
|
650
|
-
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  {</div>
|
|
651
|
-
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* edge = *(EI.getCurrent());</div>
|
|
652
|
-
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div>
|
|
653
|
-
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  </div>
|
|
654
|
-
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
655
|
-
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  std::stringstream rawstr(str);</div>
|
|
656
|
-
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>())</div>
|
|
657
|
-
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  {</div>
|
|
658
|
-
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* dirCall = SVFUtil::dyn_cast<CallCFGEdge>(edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>()))</div>
|
|
659
|
-
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  rawstr << dirCall->getCallSite();</div>
|
|
660
|
-
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* dirRet = SVFUtil::dyn_cast<RetCFGEdge>(edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>()))</div>
|
|
661
|
-
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  rawstr << dirRet->getCallSite();</div>
|
|
662
|
-
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  }</div>
|
|
663
|
-
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
664
|
-
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  }</div>
|
|
665
|
-
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> };</div>
|
|
666
|
-
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> }</div>
|
|
667
|
-
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor">#endif //SVF_CFBASICBLOCKG_H</span></div>
|
|
592
|
+
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordflow">if</span> (SVFUtil::isa<CallCFGEdge>(edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>()))</div>
|
|
593
|
+
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  {</div>
|
|
594
|
+
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid,color=red"</span>;</div>
|
|
595
|
+
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  }</div>
|
|
596
|
+
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<RetCFGEdge>(edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>()))</div>
|
|
597
|
+
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid,color=blue"</span>;</div>
|
|
598
|
+
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keywordflow">else</span></div>
|
|
599
|
+
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid"</span>;</div>
|
|
600
|
+
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  }</div>
|
|
601
|
+
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keywordflow">else</span></div>
|
|
602
|
+
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  {</div>
|
|
603
|
+
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordflow">return</span> <span class="stringliteral">"style=solid"</span>;</div>
|
|
604
|
+
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  }</div>
|
|
605
|
+
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  }</div>
|
|
606
|
+
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  </div>
|
|
607
|
+
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="keyword">template</span><<span class="keyword">class</span> EdgeIter></div>
|
|
608
|
+
<div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a18996409976ff870789803b76a0c04f7"> 563</a></span>  <span class="keyword">static</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a18996409976ff870789803b76a0c04f7">getEdgeSourceLabel</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">NodeType</a> *, EdgeIter EI)</div>
|
|
609
|
+
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  {</div>
|
|
610
|
+
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* edge = *(EI.getCurrent());</div>
|
|
611
|
+
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div>
|
|
612
|
+
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  </div>
|
|
613
|
+
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
614
|
+
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  std::stringstream rawstr(str);</div>
|
|
615
|
+
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>())</div>
|
|
616
|
+
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  {</div>
|
|
617
|
+
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* dirCall = SVFUtil::dyn_cast<CallCFGEdge>(edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>()))</div>
|
|
618
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  rawstr << dirCall->getCallSite();</div>
|
|
619
|
+
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* dirRet = SVFUtil::dyn_cast<RetCFGEdge>(edge-><a class="code" href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">getICFGEdge</a>()))</div>
|
|
620
|
+
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  rawstr << dirRet->getCallSite();</div>
|
|
621
|
+
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  }</div>
|
|
622
|
+
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
623
|
+
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  }</div>
|
|
624
|
+
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> };</div>
|
|
625
|
+
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> }</div>
|
|
626
|
+
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="preprocessor">#endif //SVF_CFBASICBLOCKG_H</span></div>
|
|
668
627
|
</div><!-- fragment --></div><!-- contents -->
|
|
669
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a154d9dae860b441b1653e0afb90f1da3"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a154d9dae860b441b1653e0afb90f1da3">SVF::CFBasicBlockGraph::hasCFBasicBlockEdge</a></div><div class="ttdeci">bool hasCFBasicBlockEdge(CFBasicBlockNode *src, CFBasicBlockNode *dst) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
628
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a154d9dae860b441b1653e0afb90f1da3"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a154d9dae860b441b1653e0afb90f1da3">SVF::CFBasicBlockGraph::hasCFBasicBlockEdge</a></div><div class="ttdeci">bool hasCFBasicBlockEdge(CFBasicBlockNode *src, CFBasicBlockNode *dst) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00357">CFBasicBlockG.h:357</a></div></div>
|
|
670
629
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_afbf1bb58613f86e4761db3ccc16a9401"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#afbf1bb58613f86e4761db3ccc16a9401">SVF::CFBasicBlockNode::getICFGNodeNum</a></div><div class="ttdeci">u32_t getICFGNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00186">CFBasicBlockG.h:186</a></div></div>
|
|
671
|
-
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a18996409976ff870789803b76a0c04f7"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a18996409976ff870789803b76a0c04f7">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getEdgeSourceLabel</a></div><div class="ttdeci">static std::string getEdgeSourceLabel(NodeType *, EdgeIter EI)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
630
|
+
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a18996409976ff870789803b76a0c04f7"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a18996409976ff870789803b76a0c04f7">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getEdgeSourceLabel</a></div><div class="ttdeci">static std::string getEdgeSourceLabel(NodeType *, EdgeIter EI)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00563">CFBasicBlockG.h:563</a></div></div>
|
|
672
631
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a8a9df60ba644f5387506c8bec1fea61d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a8a9df60ba644f5387506c8bec1fea61d">SVF::CFBasicBlockNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00235">CFBasicBlockG.h:235</a></div></div>
|
|
673
632
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_aa41cb7482bdab1ba328f4b94f30f3ee4"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aa41cb7482bdab1ba328f4b94f30f3ee4">SVF::GenericEdge::dst</a></div><div class="ttdeci">NodeTy * dst</div><div class="ttdoc">destination node</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00065">GenericGraph.h:65</a></div></div>
|
|
674
|
-
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a68b94951ed25f24c455a6c6fb8cc7a1f"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a68b94951ed25f24c455a6c6fb8cc7a1f">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getGraphName</a></div><div class="ttdeci">static std::string getGraphName(SVF::CFBasicBlockGraph *)</div><div class="ttdoc">Return name of the graph.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
633
|
+
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a68b94951ed25f24c455a6c6fb8cc7a1f"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a68b94951ed25f24c455a6c6fb8cc7a1f">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getGraphName</a></div><div class="ttdeci">static std::string getGraphName(SVF::CFBasicBlockGraph *)</div><div class="ttdoc">Return name of the graph.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00477">CFBasicBlockG.h:477</a></div></div>
|
|
675
634
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a1b02680eb7b603ffaed3eecd2f09455e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a1b02680eb7b603ffaed3eecd2f09455e">SVF::CFBasicBlockNode::hasOutgoingEdge</a></div><div class="ttdeci">bool hasOutgoingEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00212">CFBasicBlockG.h:212</a></div></div>
|
|
676
635
|
<div class="ttc" id="aclassSVF_1_1CallCFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallCFGEdge.html">SVF::CallCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00176">ICFGEdge.h:176</a></div></div>
|
|
677
636
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_aad38e58364301dafed7a3ee46f812cd9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#aad38e58364301dafed7a3ee46f812cd9">SVF::CFBasicBlockNode::OutEdgeEnd</a></div><div class="ttdeci">const_iterator OutEdgeEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00245">CFBasicBlockG.h:245</a></div></div>
|
|
@@ -679,16 +638,16 @@ $(function() {
|
|
|
679
638
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGBuilder_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockGBuilder_8h_source.html#l00035">CFBasicBlockGBuilder.h:35</a></div></div>
|
|
680
639
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00097">GenericGraph.h:97</a></div></div>
|
|
681
640
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_a19282dcbe8b0cb22471f72cfc8469f45"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#a19282dcbe8b0cb22471f72cfc8469f45">SVF::CFBasicBlockEdge::CFBasicBlockEdge</a></div><div class="ttdeci">CFBasicBlockEdge(CFBasicBlockNode *src, CFBasicBlockNode *dst, const ICFGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00068">CFBasicBlockG.h:68</a></div></div>
|
|
682
|
-
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a97e3cbb530c0b4c0dcb9aa0de9406ed3"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a97e3cbb530c0b4c0dcb9aa0de9406ed3">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getNodeAttributes</a></div><div class="ttdeci">static std::string getNodeAttributes(NodeType *node, SVF::CFBasicBlockGraph *)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
641
|
+
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a97e3cbb530c0b4c0dcb9aa0de9406ed3"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a97e3cbb530c0b4c0dcb9aa0de9406ed3">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getNodeAttributes</a></div><div class="ttdeci">static std::string getNodeAttributes(NodeType *node, SVF::CFBasicBlockGraph *)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00498">CFBasicBlockG.h:498</a></div></div>
|
|
683
642
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a48c0b6643c481afb15d4c4f89d00eecb"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">SVF::CFBasicBlockNode::getOutEdges</a></div><div class="ttdeci">const CFBBEdgeSetTy & getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00194">CFBasicBlockG.h:194</a></div></div>
|
|
684
643
|
<div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
|
|
685
644
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_ac468c52cc443f1137f6d5fb510a8ac46"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#ac468c52cc443f1137f6d5fb510a8ac46">SVF::CFBasicBlockNode::hasIncomingEdge</a></div><div class="ttdeci">bool hasIncomingEdge() const</div><div class="ttdoc">Has incoming/outgoing edge set.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00207">CFBasicBlockG.h:207</a></div></div>
|
|
686
645
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a72e47a6254620d0b65a8d1182777440a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">SVF::CFBasicBlockNode::_icfgNodes</a></div><div class="ttdeci">std::vector< const ICFGNode * > _icfgNodes</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00122">CFBasicBlockG.h:122</a></div></div>
|
|
687
646
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a34ef44c3ffad24255a72c8ecf2f2919e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a34ef44c3ffad24255a72c8ecf2f2919e">SVF::CFBasicBlockNode::CFBasicBlockNode</a></div><div class="ttdeci">CFBasicBlockNode(std::vector< const ICFGNode * > icfgNodes)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00127">CFBasicBlockG.h:127</a></div></div>
|
|
688
647
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a1c88d2e9723ae23fb5afb3d3374c3ebe"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a1c88d2e9723ae23fb5afb3d3374c3ebe">SVF::CFBasicBlockNode::operator<<</a></div><div class="ttdeci">friend std::ostream & operator<<(std::ostream &o, const CFBasicBlockNode &node)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00139">CFBasicBlockG.h:139</a></div></div>
|
|
689
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a9d7ebedc25848db79b551cb8a1ef11af"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">SVF::CFBasicBlockGraph::removeCFBBEdge</a></div><div class="ttdeci">void removeCFBBEdge(CFBasicBlockEdge *edge)</div><div class="ttdoc">Remove a ICFGEdgeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
690
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a2e09d431bbe6a9a70c04db17d89eda2c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a2e09d431bbe6a9a70c04db17d89eda2c">SVF::CFBasicBlockNode::removeOutgoingEdge</a></div><div class="ttdeci">u32_t removeOutgoingEdge(CFBasicBlockEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
691
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a59dc0f5017e4f1949e1cbf0b4f4b3a0b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a59dc0f5017e4f1949e1cbf0b4f4b3a0b">SVF::CFBasicBlockNode::addOutgoingEdge</a></div><div class="ttdeci">bool addOutgoingEdge(CFBasicBlockEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
648
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a9d7ebedc25848db79b551cb8a1ef11af"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">SVF::CFBasicBlockGraph::removeCFBBEdge</a></div><div class="ttdeci">void removeCFBBEdge(CFBasicBlockEdge *edge)</div><div class="ttdoc">Remove a ICFGEdgeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00372">CFBasicBlockG.h:372</a></div></div>
|
|
649
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a2e09d431bbe6a9a70c04db17d89eda2c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a2e09d431bbe6a9a70c04db17d89eda2c">SVF::CFBasicBlockNode::removeOutgoingEdge</a></div><div class="ttdeci">u32_t removeOutgoingEdge(CFBasicBlockEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00282">CFBasicBlockG.h:282</a></div></div>
|
|
650
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a59dc0f5017e4f1949e1cbf0b4f4b3a0b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a59dc0f5017e4f1949e1cbf0b4f4b3a0b">SVF::CFBasicBlockNode::addOutgoingEdge</a></div><div class="ttdeci">bool addOutgoingEdge(CFBasicBlockEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00268">CFBasicBlockG.h:268</a></div></div>
|
|
692
651
|
<div class="ttc" id="aICFG_8h_html"><div class="ttname"><a href="ICFG_8h.html">ICFG.h</a></div></div>
|
|
693
652
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a36e13381f80af68ba51a038314ae8b39"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a36e13381f80af68ba51a038314ae8b39">SVF::CFBasicBlockNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00230">CFBasicBlockG.h:230</a></div></div>
|
|
694
653
|
<div class="ttc" id="astructSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge_html"><div class="ttname"><a href="structSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge.html">SVF::CFBasicBlockEdge::equalCFBBEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00046">CFBasicBlockG.h:46</a></div></div>
|
|
@@ -699,57 +658,54 @@ $(function() {
|
|
|
699
658
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html">SVF::CFBasicBlockEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00043">CFBasicBlockG.h:43</a></div></div>
|
|
700
659
|
<div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
|
|
701
660
|
<div class="ttc" id="aclassSVF_1_1RetCFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetCFGEdge.html">SVF::RetCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00227">ICFGEdge.h:227</a></div></div>
|
|
702
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a039e122b9bceabeb0b3e687b6ee14d5c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a039e122b9bceabeb0b3e687b6ee14d5c">SVF::CFBasicBlockNode::hasIncomingEdge</a></div><div class="ttdeci">CFBasicBlockEdge * hasIncomingEdge(CFBasicBlockEdge *edge) const</div><div class="ttdoc">Find incoming and outgoing edges.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
703
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_af26009309b28b1d9f3f31f802307f6e9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">SVF::CFBasicBlockGraph::_totalCFBasicBlockNode</a></div><div class="ttdeci">u32_t _totalCFBasicBlockNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
661
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a039e122b9bceabeb0b3e687b6ee14d5c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a039e122b9bceabeb0b3e687b6ee14d5c">SVF::CFBasicBlockNode::hasIncomingEdge</a></div><div class="ttdeci">CFBasicBlockEdge * hasIncomingEdge(CFBasicBlockEdge *edge) const</div><div class="ttdoc">Find incoming and outgoing edges.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00291">CFBasicBlockG.h:291</a></div></div>
|
|
662
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_af26009309b28b1d9f3f31f802307f6e9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">SVF::CFBasicBlockGraph::_totalCFBasicBlockNode</a></div><div class="ttdeci">u32_t _totalCFBasicBlockNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00317">CFBasicBlockG.h:317</a></div></div>
|
|
704
663
|
<div class="ttc" id="astructSVF_1_1GenericGraphTraits_html"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits.html">SVF::GenericGraphTraits</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphTraits_8h_source.html#l00036">GraphTraits.h:36</a></div></div>
|
|
705
664
|
<div class="ttc" id="acJSON_8cpp_html_ab6e2ea6dc7bd57d1483413449998230a"><div class="ttname"><a href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a></div><div class="ttdeci">cJSON * n</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02558">cJSON.cpp:2558</a></div></div>
|
|
706
665
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
|
|
707
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_abb240b6d11fb9fb08a2ea3d093cf800f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#abb240b6d11fb9fb08a2ea3d093cf800f">SVF::CFBasicBlockNode::addIncomingEdge</a></div><div class="ttdeci">bool addIncomingEdge(CFBasicBlockEdge *inEdge)</div><div class="ttdoc">Add incoming and outgoing edges.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
666
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_abb240b6d11fb9fb08a2ea3d093cf800f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#abb240b6d11fb9fb08a2ea3d093cf800f">SVF::CFBasicBlockNode::addIncomingEdge</a></div><div class="ttdeci">bool addIncomingEdge(CFBasicBlockEdge *inEdge)</div><div class="ttdoc">Add incoming and outgoing edges.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00263">CFBasicBlockG.h:263</a></div></div>
|
|
708
667
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00085">GenericGraph.h:85</a></div></div>
|
|
709
668
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a0a8831a5429005ff9d71adbd6bf3994f"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">SVF::GenericGraph::addGNode</a></div><div class="ttdeci">void addGNode(NodeID id, NodeType *node)</div><div class="ttdoc">Add a Node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00399">GenericGraph.h:399</a></div></div>
|
|
710
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a29971b81bdf81bb079718ac15b387ead"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a29971b81bdf81bb079718ac15b387ead">SVF::CFBasicBlockNode::directInEdgeEnd</a></div><div class="ttdeci">virtual iterator directInEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00278">CFBasicBlockG.h:278</a></div></div>
|
|
711
669
|
<div class="ttc" id="anamespaceSVF_html_add130ff635b1364201548469c28c0572"><div class="ttname"><a href="namespaceSVF.html#add130ff635b1364201548469c28c0572">SVF::GenericCFBasicBlockEdgeTy</a></div><div class="ttdeci">GenericEdge< CFBasicBlockNode > GenericCFBasicBlockEdgeTy</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00039">CFBasicBlockG.h:39</a></div></div>
|
|
712
|
-
<div class="ttc" id="anamespaceSVF_html_a6184b09dcc733e3f35945076aa2781fe"><div class="ttname"><a href="namespaceSVF.html#a6184b09dcc733e3f35945076aa2781fe">SVF::GenericCFBasicBlockGTy</a></div><div class="ttdeci">GenericGraph< CFBasicBlockNode, CFBasicBlockEdge > GenericCFBasicBlockGTy</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
670
|
+
<div class="ttc" id="anamespaceSVF_html_a6184b09dcc733e3f35945076aa2781fe"><div class="ttname"><a href="namespaceSVF.html#a6184b09dcc733e3f35945076aa2781fe">SVF::GenericCFBasicBlockGTy</a></div><div class="ttdeci">GenericGraph< CFBasicBlockNode, CFBasicBlockEdge > GenericCFBasicBlockGTy</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00311">CFBasicBlockG.h:311</a></div></div>
|
|
713
671
|
<div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
714
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a9b9d1a149ad405f1b64020a41402583e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a9b9d1a149ad405f1b64020a41402583e">SVF::CFBasicBlockGraph::removeCFBBNode</a></div><div class="ttdeci">bool removeCFBBNode(NodeID id)</div><div class="ttdoc">Remove node from nodeID.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
672
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a9b9d1a149ad405f1b64020a41402583e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a9b9d1a149ad405f1b64020a41402583e">SVF::CFBasicBlockGraph::removeCFBBNode</a></div><div class="ttdeci">bool removeCFBBNode(NodeID id)</div><div class="ttdoc">Remove node from nodeID.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00404">CFBasicBlockG.h:404</a></div></div>
|
|
715
673
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_a9385587148475626fba07d2cc13d0488"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#a9385587148475626fba07d2cc13d0488">SVF::CFBasicBlockEdge::operator<<</a></div><div class="ttdeci">friend std::ostream & operator<<(std::ostream &o, const CFBasicBlockEdge &edge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00079">CFBasicBlockG.h:79</a></div></div>
|
|
716
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_acd6a4b291c9aab8abdc466f985975d0d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#acd6a4b291c9aab8abdc466f985975d0d">SVF::CFBasicBlockGraph::addCFBBEdge</a></div><div class="ttdeci">bool addCFBBEdge(CFBasicBlockEdge *edge)</div><div class="ttdoc">Add ICFGEdgeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
717
|
-
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a0722462dfd91b70ee09cec6f511dd644"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0722462dfd91b70ee09cec6f511dd644">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getEdgeAttributes</a></div><div class="ttdeci">static std::string getEdgeAttributes(NodeType *, EdgeIter EI, SVF::CFBasicBlockGraph *)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
674
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_acd6a4b291c9aab8abdc466f985975d0d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#acd6a4b291c9aab8abdc466f985975d0d">SVF::CFBasicBlockGraph::addCFBBEdge</a></div><div class="ttdeci">bool addCFBBEdge(CFBasicBlockEdge *edge)</div><div class="ttdoc">Add ICFGEdgeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00415">CFBasicBlockG.h:415</a></div></div>
|
|
675
|
+
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a0722462dfd91b70ee09cec6f511dd644"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0722462dfd91b70ee09cec6f511dd644">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getEdgeAttributes</a></div><div class="ttdeci">static std::string getEdgeAttributes(NodeType *, EdgeIter EI, SVF::CFBasicBlockGraph *)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00541">CFBasicBlockG.h:541</a></div></div>
|
|
718
676
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a1817b65e76052f11e36a67d6b9efd915"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">SVF::GenericGraph::removeGNode</a></div><div class="ttdeci">void removeGNode(NodeType *node)</div><div class="ttdoc">Delete a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00421">GenericGraph.h:421</a></div></div>
|
|
719
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a4a7a6e00d13b4099c34a3015b4f06a67"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a4a7a6e00d13b4099c34a3015b4f06a67">SVF::CFBasicBlockGraph::addCFBBNode</a></div><div class="ttdeci">virtual void addCFBBNode(CFBasicBlockNode *node)</div><div class="ttdoc">Add a ICFGNodeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
720
|
-
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a120207fca1bca1b08817bdec4ff39610"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a120207fca1bca1b08817bdec4ff39610">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getNodeLabel</a></div><div class="ttdeci">std::string getNodeLabel(NodeType *node, SVF::CFBasicBlockGraph *graph)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
677
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a4a7a6e00d13b4099c34a3015b4f06a67"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a4a7a6e00d13b4099c34a3015b4f06a67">SVF::CFBasicBlockGraph::addCFBBNode</a></div><div class="ttdeci">virtual void addCFBBNode(CFBasicBlockNode *node)</div><div class="ttdoc">Add a ICFGNodeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00425">CFBasicBlockG.h:425</a></div></div>
|
|
678
|
+
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a120207fca1bca1b08817bdec4ff39610"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a120207fca1bca1b08817bdec4ff39610">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getNodeLabel</a></div><div class="ttdeci">std::string getNodeLabel(NodeType *node, SVF::CFBasicBlockGraph *graph)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00482">CFBasicBlockG.h:482</a></div></div>
|
|
721
679
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00081">GenericGraph.h:81</a></div></div>
|
|
722
680
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
723
681
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a145051f43e03acd6ce9923a5c06150bc"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a145051f43e03acd6ce9923a5c06150bc">SVF::CFBasicBlockNode::const_iterator</a></div><div class="ttdeci">CFBasicBlockEdge::CFBBEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00119">CFBasicBlockG.h:119</a></div></div>
|
|
724
682
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_a91416cbac7ad797a9b4ee67f93fbd8f4"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#a91416cbac7ad797a9b4ee67f93fbd8f4">SVF::CFBasicBlockEdge::CFBBEdgeSetTy</a></div><div class="ttdeci">OrderedSet< CFBasicBlockEdge *, equalICFGEdgeWrapper > CFBBEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00060">CFBasicBlockG.h:60</a></div></div>
|
|
725
683
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_ad33fdf14d9334bd468d9eb541e0e8a31"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#ad33fdf14d9334bd468d9eb541e0e8a31">SVF::CFBasicBlockNode::iterator</a></div><div class="ttdeci">CFBasicBlockEdge::CFBBEdgeSetTy ::iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00118">CFBasicBlockG.h:118</a></div></div>
|
|
726
|
-
<div class="ttc" id="astructSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a0d7eb2f1c00f0499d99f5508ce5055f5"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0d7eb2f1c00f0499d99f5508ce5055f5">SVF::GenericGraphTraits< SVF::CFBasicBlockGraph * >::NodeRef</a></div><div class="ttdeci">SVF::CFBasicBlockNode * NodeRef</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
684
|
+
<div class="ttc" id="astructSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a0d7eb2f1c00f0499d99f5508ce5055f5"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a0d7eb2f1c00f0499d99f5508ce5055f5">SVF::GenericGraphTraits< SVF::CFBasicBlockGraph * >::NodeRef</a></div><div class="ttdeci">SVF::CFBasicBlockNode * NodeRef</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00458">CFBasicBlockG.h:458</a></div></div>
|
|
727
685
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_ad3c5860db2e113dd4142ae3b352cece3"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#ad3c5860db2e113dd4142ae3b352cece3">SVF::CFBasicBlockNode::InEdgeBegin</a></div><div class="ttdeci">const_iterator InEdgeBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00250">CFBasicBlockG.h:250</a></div></div>
|
|
728
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a1595d3b9c142ae3bfeb144b3deb88935"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a1595d3b9c142ae3bfeb144b3deb88935">SVF::CFBasicBlockNode::removeIncomingEdge</a></div><div class="ttdeci">u32_t removeIncomingEdge(CFBasicBlockEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
686
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a1595d3b9c142ae3bfeb144b3deb88935"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a1595d3b9c142ae3bfeb144b3deb88935">SVF::CFBasicBlockNode::removeIncomingEdge</a></div><div class="ttdeci">u32_t removeIncomingEdge(CFBasicBlockEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00276">CFBasicBlockG.h:276</a></div></div>
|
|
729
687
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_aefd060ec49a9e2146a7aebdc5e8dfbf6"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#aefd060ec49a9e2146a7aebdc5e8dfbf6">SVF::CFBasicBlockNode::CFBBEdgeSetTy</a></div><div class="ttdeci">CFBasicBlockEdge::CFBBEdgeSetTy CFBBEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00117">CFBasicBlockG.h:117</a></div></div>
|
|
730
688
|
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_html"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits.html">SVF::DOTGraphTraits</a></div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00181">DOTGraphTraits.h:181</a></div></div>
|
|
731
689
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
|
|
732
|
-
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a8b20aa3687b959574334d55646db4418"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a8b20aa3687b959574334d55646db4418">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::DOTGraphTraits</a></div><div class="ttdeci">DOTGraphTraits(bool isSimple=false)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
690
|
+
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a8b20aa3687b959574334d55646db4418"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a8b20aa3687b959574334d55646db4418">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::DOTGraphTraits</a></div><div class="ttdeci">DOTGraphTraits(bool isSimple=false)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00471">CFBasicBlockG.h:471</a></div></div>
|
|
733
691
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_a90d4a0b67bea812b4258719906ba03ab"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#a90d4a0b67bea812b4258719906ba03ab">SVF::CFBasicBlockEdge::_icfgEdge</a></div><div class="ttdeci">const ICFGEdge * _icfgEdge</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00065">CFBasicBlockG.h:65</a></div></div>
|
|
734
692
|
<div class="ttc" id="astructSVF_1_1Inverse_html"><div class="ttname"><a href="structSVF_1_1Inverse.html">SVF::Inverse</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphTraits_8h_source.html#l00097">GraphTraits.h:97</a></div></div>
|
|
735
693
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_ad37525807d9c8d7c12e7166af068134e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#ad37525807d9c8d7c12e7166af068134e">SVF::CFBasicBlockNode::OutEdgeBegin</a></div><div class="ttdeci">const_iterator OutEdgeBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00240">CFBasicBlockG.h:240</a></div></div>
|
|
736
694
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html"><div class="ttname"><a href="classSVF_1_1GenericEdge.html">SVF::GenericEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00049">GenericGraph.h:49</a></div></div>
|
|
737
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a54200b5a7c41c2ba19660da34c295e81"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">SVF::CFBasicBlockGraph::getCFBasicBlockNode</a></div><div class="ttdeci">CFBasicBlockNode * getCFBasicBlockNode(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
695
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a54200b5a7c41c2ba19660da34c295e81"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">SVF::CFBasicBlockGraph::getCFBasicBlockNode</a></div><div class="ttdeci">CFBasicBlockNode * getCFBasicBlockNode(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00331">CFBasicBlockG.h:331</a></div></div>
|
|
738
696
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_afdad57a83c392a8b14b838ecb58f9ff7"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#afdad57a83c392a8b14b838ecb58f9ff7">SVF::CFBasicBlockNode::getICFGNodes</a></div><div class="ttdeci">const std::vector< const ICFGNode * > & getICFGNodes() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00153">CFBasicBlockG.h:153</a></div></div>
|
|
739
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_accc815b1ebcf66eb596d17a2e7e75403"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#accc815b1ebcf66eb596d17a2e7e75403">SVF::CFBasicBlockNode::directInEdgeBegin</a></div><div class="ttdeci">virtual iterator directInEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00273">CFBasicBlockG.h:273</a></div></div>
|
|
740
697
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_a0bb3c8008c17e12ad2e17363f9257e23"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#a0bb3c8008c17e12ad2e17363f9257e23">SVF::CFBasicBlockEdge::equalICFGEdgeWrapper</a></div><div class="ttdeci">struct SVF::CFBasicBlockEdge::equalCFBBEdge equalICFGEdgeWrapper</div></div>
|
|
741
698
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_ab76d16c6799ccd45575f8d30728832ad"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#ab76d16c6799ccd45575f8d30728832ad">SVF::CFBasicBlockEdge::getICFGEdge</a></div><div class="ttdeci">const ICFGEdge * getICFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00093">CFBasicBlockG.h:93</a></div></div>
|
|
742
|
-
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a10af45bcbdbb34263454107c0e5184d4"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a10af45bcbdbb34263454107c0e5184d4">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::NodeType</a></div><div class="ttdeci">SVF::CFBasicBlockNode NodeType</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
699
|
+
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a10af45bcbdbb34263454107c0e5184d4"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a10af45bcbdbb34263454107c0e5184d4">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::NodeType</a></div><div class="ttdeci">SVF::CFBasicBlockNode NodeType</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00469">CFBasicBlockG.h:469</a></div></div>
|
|
743
700
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_a0e8736f88ee75da025d874f92328ca71"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#a0e8736f88ee75da025d874f92328ca71">SVF::GenericEdge::src</a></div><div class="ttdeci">NodeTy * src</div><div class="ttdoc">source node</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00064">GenericGraph.h:64</a></div></div>
|
|
744
701
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a439a84d7181616f62d8ebac945dbbd59"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a439a84d7181616f62d8ebac945dbbd59">SVF::CFBasicBlockNode::begin</a></div><div class="ttdeci">std::vector< const ICFGNode * >::const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00164">CFBasicBlockG.h:164</a></div></div>
|
|
745
702
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_ad8afed175964dc0b90f98dbf68fdf1c8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#ad8afed175964dc0b90f98dbf68fdf1c8">SVF::CFBasicBlockNode::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00158">CFBasicBlockG.h:158</a></div></div>
|
|
746
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a802b138a587dae6eaf2787eb2fd30f21"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a802b138a587dae6eaf2787eb2fd30f21">SVF::CFBasicBlockNode::hasOutgoingEdge</a></div><div class="ttdeci">CFBasicBlockEdge * hasOutgoingEdge(CFBasicBlockEdge *edge) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
703
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a802b138a587dae6eaf2787eb2fd30f21"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a802b138a587dae6eaf2787eb2fd30f21">SVF::CFBasicBlockNode::hasOutgoingEdge</a></div><div class="ttdeci">CFBasicBlockEdge * hasOutgoingEdge(CFBasicBlockEdge *edge) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00300">CFBasicBlockG.h:300</a></div></div>
|
|
747
704
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
|
|
748
705
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
|
|
749
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a9c989d41ad6b2a92422b1cce15121ec2"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a9c989d41ad6b2a92422b1cce15121ec2">SVF::CFBasicBlockNode::directInEdgeEnd</a></div><div class="ttdeci">virtual const_iterator directInEdgeEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00298">CFBasicBlockG.h:298</a></div></div>
|
|
750
706
|
<div class="ttc" id="aGenericGraph_8h_html"><div class="ttname"><a href="GenericGraph_8h.html">GenericGraph.h</a></div></div>
|
|
751
707
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html">SVF::CFBasicBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00114">CFBasicBlockG.h:114</a></div></div>
|
|
752
|
-
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a66e6c63670681d78c6bd42f828b274c0"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getSimpleNodeLabel</a></div><div class="ttdeci">static std::string getSimpleNodeLabel(NodeType *node, SVF::CFBasicBlockGraph *)</div><div class="ttdoc">Return the label of an ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
708
|
+
<div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4_html_a66e6c63670681d78c6bd42f828b274c0"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html#a66e6c63670681d78c6bd42f828b274c0">SVF::DOTGraphTraits< SVF::CFBasicBlockGraph * >::getSimpleNodeLabel</a></div><div class="ttdeci">static std::string getSimpleNodeLabel(NodeType *node, SVF::CFBasicBlockGraph *)</div><div class="ttdoc">Return the label of an ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00488">CFBasicBlockG.h:488</a></div></div>
|
|
753
709
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_a8dcfa5b748916c61392f340c68c769a8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#a8dcfa5b748916c61392f340c68c769a8">SVF::CFBasicBlockEdge::operator==</a></div><div class="ttdeci">virtual bool operator==(const CFBasicBlockEdge *rhs) const</div><div class="ttdoc">Add the hash function for std::set (we also can overload operator< to implement this)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00103">CFBasicBlockG.h:103</a></div></div>
|
|
754
710
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a046a15f230ab41d50b04f0390df179f1"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a046a15f230ab41d50b04f0390df179f1">SVF::CFBasicBlockNode::OutEdges</a></div><div class="ttdeci">CFBBEdgeSetTy OutEdges</div><div class="ttdoc">all outgoing edge of this node</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00124">CFBasicBlockG.h:124</a></div></div>
|
|
755
711
|
<div class="ttc" id="anamespaceSVF_html_a4f21e91ff8eaea5207afe5c60dbd78d7"><div class="ttname"><a href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">SVF::OrderedSet</a></div><div class="ttdeci">std::set< Key, Compare, Allocator > OrderedSet</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00101">GeneralType.h:101</a></div></div>
|
|
@@ -758,33 +714,28 @@ $(function() {
|
|
|
758
714
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a4eb0886ab2538dbe2a3dcf8ab7fc615e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a4eb0886ab2538dbe2a3dcf8ab7fc615e">SVF::CFBasicBlockNode::end</a></div><div class="ttdeci">std::vector< const ICFGNode * >::const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00169">CFBasicBlockG.h:169</a></div></div>
|
|
759
715
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_a99f9b76dce6bdbfca228273eece2b923"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#a99f9b76dce6bdbfca228273eece2b923">SVF::CFBasicBlockEdge::const_iterator</a></div><div class="ttdeci">CFBBEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00062">CFBasicBlockG.h:62</a></div></div>
|
|
760
716
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
|
|
761
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a307a47681c72267f6e90d7009d1b3c6b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">SVF::CFBasicBlockGraph::_totalCFBasicBlockEdge</a></div><div class="ttdeci">u32_t _totalCFBasicBlockEdge</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
717
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a307a47681c72267f6e90d7009d1b3c6b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">SVF::CFBasicBlockGraph::_totalCFBasicBlockEdge</a></div><div class="ttdeci">u32_t _totalCFBasicBlockEdge</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00318">CFBasicBlockG.h:318</a></div></div>
|
|
762
718
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00414">GenericGraph.h:414</a></div></div>
|
|
763
719
|
<div class="ttc" id="aclassSVF_1_1GraphPrinter_html_a014217fb0d05c8f2a2f1a6c5b19d3e10"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">SVF::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(SVF::OutStream &O, const std::string &GraphName, const GraphType &GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00056">GraphPrinter.h:56</a></div></div>
|
|
764
720
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a6bfafe540f83e097370ca0dc66422214"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a6bfafe540f83e097370ca0dc66422214">SVF::CFBasicBlockNode::getInEdges</a></div><div class="ttdeci">const CFBBEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00199">CFBasicBlockG.h:199</a></div></div>
|
|
765
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_abea5a96ff067636ae8d3766329695055"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#abea5a96ff067636ae8d3766329695055">SVF::CFBasicBlockNode::directOutEdgeBegin</a></div><div class="ttdeci">virtual iterator directOutEdgeBegin()</div><div class="ttdoc">Iterators used for SCC detection, overwrite it in child class if necessory.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00263">CFBasicBlockG.h:263</a></div></div>
|
|
766
721
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_af025ac00db2493720d8170fb08f237d4"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#af025ac00db2493720d8170fb08f237d4">SVF::CFBasicBlockGraph::~CFBasicBlockGraph</a></div><div class="ttdeci">~CFBasicBlockGraph() override=default</div></div>
|
|
767
722
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
768
723
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html"><div class="ttname"><a href="classSVF_1_1GenericNode.html">SVF::GenericNode</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00141">GenericGraph.h:141</a></div></div>
|
|
769
724
|
<div class="ttc" id="astructSVF_1_1DefaultDOTGraphTraits_html_acc82bc6228128e5bb98a6b00d6dc5f77"><div class="ttname"><a href="structSVF_1_1DefaultDOTGraphTraits.html#acc82bc6228128e5bb98a6b00d6dc5f77">SVF::DefaultDOTGraphTraits::isSimple</a></div><div class="ttdeci">bool isSimple()</div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00035">DOTGraphTraits.h:35</a></div></div>
|
|
770
725
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a727f0ef59605adf99af4babee90eb8a8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a727f0ef59605adf99af4babee90eb8a8">SVF::CFBasicBlockNode::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00036">CFBasicBlockG.cpp:36</a></div></div>
|
|
771
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
772
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a8e41d155ded9f4527adf8f1644600839"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a8e41d155ded9f4527adf8f1644600839">SVF::CFBasicBlockGraph::hasCFBasicBlockEdge</a></div><div class="ttdeci">bool hasCFBasicBlockEdge(CFBasicBlockNode *src, CFBasicBlockNode *dst, ICFGEdge *icfgEdge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
726
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00313">CFBasicBlockG.h:313</a></div></div>
|
|
727
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a8e41d155ded9f4527adf8f1644600839"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a8e41d155ded9f4527adf8f1644600839">SVF::CFBasicBlockGraph::hasCFBasicBlockEdge</a></div><div class="ttdeci">bool hasCFBasicBlockEdge(CFBasicBlockNode *src, CFBasicBlockNode *dst, ICFGEdge *icfgEdge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00343">CFBasicBlockG.h:343</a></div></div>
|
|
773
728
|
<div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
774
729
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a727211a748a2cdee4835884b2710e0d4"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a727211a748a2cdee4835884b2710e0d4">SVF::CFBasicBlockNode::~CFBasicBlockNode</a></div><div class="ttdeci">virtual ~CFBasicBlockNode()</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00133">CFBasicBlockG.h:133</a></div></div>
|
|
775
730
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a5374f4567cee38325f61940f4edbb142"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a5374f4567cee38325f61940f4edbb142">SVF::CFBasicBlockNode::addNode</a></div><div class="ttdeci">void addNode(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00181">CFBasicBlockG.h:181</a></div></div>
|
|
776
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_aa2110611126556090763024828dbc516"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#aa2110611126556090763024828dbc516">SVF::CFBasicBlockGraph::hasCFBasicBlockNode</a></div><div class="ttdeci">bool hasCFBasicBlockNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
777
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a41494b39a562ee1788f91bc39776604f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a41494b39a562ee1788f91bc39776604f">SVF::CFBasicBlockGraph::dump</a></div><div class="ttdeci">void dump(const std::string &filename)</div><div class="ttdoc">Dump graph into dot file.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#
|
|
778
|
-
<div class="ttc" id="
|
|
779
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a0ed78b8098e84845a500979d52bb8d18"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">SVF::CFBasicBlockGraph::removeCFBBNode</a></div><div class="ttdeci">void removeCFBBNode(CFBasicBlockNode *node)</div><div class="ttdoc">Remove a ICFGNodeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00430">CFBasicBlockG.h:430</a></div></div>
|
|
731
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_aa2110611126556090763024828dbc516"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#aa2110611126556090763024828dbc516">SVF::CFBasicBlockGraph::hasCFBasicBlockNode</a></div><div class="ttdeci">bool hasCFBasicBlockNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00337">CFBasicBlockG.h:337</a></div></div>
|
|
732
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a41494b39a562ee1788f91bc39776604f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a41494b39a562ee1788f91bc39776604f">SVF::CFBasicBlockGraph::dump</a></div><div class="ttdeci">void dump(const std::string &filename)</div><div class="ttdoc">Dump graph into dot file.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00326">CFBasicBlockG.h:326</a></div></div>
|
|
733
|
+
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a0ed78b8098e84845a500979d52bb8d18"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">SVF::CFBasicBlockGraph::removeCFBBNode</a></div><div class="ttdeci">void removeCFBBNode(CFBasicBlockNode *node)</div><div class="ttdoc">Remove a ICFGNodeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00387">CFBasicBlockG.h:387</a></div></div>
|
|
780
734
|
<div class="ttc" id="astructSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge_html_a98d11fc92ce13e41762ad33cddd77e07"><div class="ttname"><a href="structSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge.html#a98d11fc92ce13e41762ad33cddd77e07">SVF::CFBasicBlockEdge::equalCFBBEdge::operator()</a></div><div class="ttdeci">bool operator()(const CFBasicBlockEdge *lhs, const CFBasicBlockEdge *rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00049">CFBasicBlockG.h:49</a></div></div>
|
|
781
735
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_abb9b3f9a5464f40e6d4d0cd2def08906"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#abb9b3f9a5464f40e6d4d0cd2def08906">SVF::CFBasicBlockEdge::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00085">CFBasicBlockG.h:85</a></div></div>
|
|
782
736
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a7b1db0644849e066137c162e24026b67"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a7b1db0644849e066137c162e24026b67">SVF::CFBasicBlockNode::InEdges</a></div><div class="ttdeci">CFBBEdgeSetTy InEdges</div><div class="ttdoc">Every CBFGNode holds a vector of ICFGNodes.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00123">CFBasicBlockG.h:123</a></div></div>
|
|
783
737
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html_a00cb890f5d3b51654bc7fe98d19406a4"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html#a00cb890f5d3b51654bc7fe98d19406a4">SVF::CFBasicBlockEdge::iterator</a></div><div class="ttdeci">CFBBEdgeSetTy::iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00061">CFBasicBlockG.h:61</a></div></div>
|
|
784
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_aeb06f080cd085dbae0d23315311ff952"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#aeb06f080cd085dbae0d23315311ff952">SVF::CFBasicBlockNode::directOutEdgeEnd</a></div><div class="ttdeci">virtual const_iterator directOutEdgeEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00288">CFBasicBlockG.h:288</a></div></div>
|
|
785
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a63bfa2866dac843cf8a177055676ffff"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a63bfa2866dac843cf8a177055676ffff">SVF::CFBasicBlockNode::directInEdgeBegin</a></div><div class="ttdeci">virtual const_iterator directInEdgeBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00293">CFBasicBlockG.h:293</a></div></div>
|
|
786
738
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html"><div class="ttname"><a href="classSVF_1_1GenericGraph.html">SVF::GenericGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00344">GenericGraph.h:344</a></div></div>
|
|
787
|
-
<div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_ace9c6976879aaa8c1609a3773de6eec7"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#ace9c6976879aaa8c1609a3773de6eec7">SVF::CFBasicBlockNode::directOutEdgeBegin</a></div><div class="ttdeci">virtual const_iterator directOutEdgeBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00283">CFBasicBlockG.h:283</a></div></div>
|
|
788
739
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00101">GenericGraph.h:101</a></div></div>
|
|
789
740
|
<div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
|
|
790
741
|
<div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_afad7ee1f21bf2983d4aa40cccf368137"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#afad7ee1f21bf2983d4aa40cccf368137">SVF::CFBasicBlockGraph::CFBasicBlockGraph</a></div><div class="ttdeci">CFBasicBlockGraph()=default</div></div>
|