svf-tools 1.0.460 → 1.0.461
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/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +35 -41
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +20 -22
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +16 -20
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +31 -34
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +12 -100
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +17 -19
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +11 -15
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +19 -21
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +17 -21
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +17 -19
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +12 -16
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
- package/SVF-doxygen/html/html/functions_a.html +5 -8
- package/SVF-doxygen/html/html/functions_c.html +9 -5
- package/SVF-doxygen/html/html/functions_f.html +6 -4
- package/SVF-doxygen/html/html/functions_func.html +10 -13
- package/SVF-doxygen/html/html/functions_func_g.html +5 -6
- package/SVF-doxygen/html/html/functions_g.html +5 -6
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +1 -4
- package/SVF-doxygen/html/html/functions_n.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +14 -14
- package/SVF-doxygen/html/html/functions_p.html +11 -11
- package/SVF-doxygen/html/html/functions_r.html +7 -5
- package/SVF-doxygen/html/html/functions_s.html +6 -6
- package/SVF-doxygen/html/html/functions_t.html +6 -4
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_m.html +0 -3
- package/SVF-doxygen/html/html/search/all_1.js +0 -1
- package/SVF-doxygen/html/html/search/all_10.js +8 -8
- package/SVF-doxygen/html/html/search/all_12.js +3 -3
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_14.js +6 -6
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +0 -1
- package/SVF-doxygen/html/html/search/all_e.js +6 -6
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/functions_0.js +0 -1
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_d.js +0 -1
- package/SVF-doxygen/html/html/search/variables_e.js +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
- package/include/Graphs/SVFGEdge.h +0 -12
- package/package.json +1 -1
|
@@ -69,27 +69,25 @@ $(function() {
|
|
|
69
69
|
|
|
70
70
|
<p>This is the complete list of members for <a class="el" href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a>, including all inherited members.</p>
|
|
71
71
|
<table class="directory">
|
|
72
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#
|
|
73
|
-
<tr><td class="entry"><a class="el" href="
|
|
74
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html#
|
|
75
|
-
<tr><td class="entry"><a class="el" href="
|
|
76
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#
|
|
77
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#
|
|
78
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#
|
|
79
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#
|
|
80
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
81
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
82
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
83
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
84
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
85
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
86
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
87
|
-
<tr><td class="entry"><a class="el" href="
|
|
88
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
89
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
90
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
91
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a20d8b844fc4bb0bb776d290b4e477fc5">getEdgeKindWithoutMask</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
92
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#ac08d8b88c44881d87c1299d18c943ace">getMRVer</a>()</td><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
72
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(const NodeBS &c)</td><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
73
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a">CallDirVF</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></td><td class="entry"></td></tr>
|
|
74
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a978c857fcc06d2f988bc9ce16ce10145">CallIndVF</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></td><td class="entry"></td></tr>
|
|
75
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#a436d46d2a475a291ecc56cc2f26b910f">classof</a>(const RetIndSVFGEdge *)</td><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
|
76
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#ae3cedf9206a460394f761c8b785fb1f8">classof</a>(const IndirectSVFGEdge *edge)</td><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
|
77
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#a4b9b7308ea5e74ff175f6b1fedc873e2">classof</a>(const VFGEdge *edge)</td><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
|
78
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#a0c7696c378afe92f8cf1612564ab98c3">classof</a>(const GenericVFGEdgeTy *edge)</td><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
|
79
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#a49e231a4606fda4429d0bae5656fa3e1">csId</a></td><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
80
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a93dec4c27088242a4b1b6aa82cea46b9">EdgeKindMask</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
|
|
81
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#af1c2fd4b5ef1d7b7605572bf2489c298">EdgeKindMaskBits</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
|
|
82
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
83
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
84
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
85
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a6764973569c281d483afab17a75cb4dc">GenericEdge</a>(NodeTy *s, NodeTy *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
86
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html#a04f211a0e3e21f60a299a744d3d1e452">getCallSiteId</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
87
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
88
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
89
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
90
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a20d8b844fc4bb0bb776d290b4e477fc5">getEdgeKindWithoutMask</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
93
91
|
<tr><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
94
92
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
95
93
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
@@ -101,10 +101,6 @@ Public Member Functions</h2></td></tr>
|
|
|
101
101
|
<tr class="separator:a50ac2e33c6a4a41291c0a476ed07de53 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
102
102
|
<tr class="memitem:a30aca718d25924f1babdf348bb0ace71 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a> () const</td></tr>
|
|
103
103
|
<tr class="separator:a30aca718d25924f1babdf348bb0ace71 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
104
|
-
<tr class="memitem:ac08d8b88c44881d87c1299d18c943ace inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a0df62e44e394d4b4cc30b5012308eb11">MRVerSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#ac08d8b88c44881d87c1299d18c943ace">getMRVer</a> ()</td></tr>
|
|
105
|
-
<tr class="separator:ac08d8b88c44881d87c1299d18c943ace inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
106
|
-
<tr class="memitem:a7ac57ccfe31b6cd6bbc6f15ed22a6531 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IndirectSVFGEdge.html#a7ac57ccfe31b6cd6bbc6f15ed22a6531">addMrVer</a> (const <a class="el" href="classSVF_1_1MRVer.html">MRVer</a> *mr)</td></tr>
|
|
107
|
-
<tr class="separator:a7ac57ccfe31b6cd6bbc6f15ed22a6531 inherit pub_methods_classSVF_1_1IndirectSVFGEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
108
104
|
<tr class="inherit_header pub_methods_classSVF_1_1VFGEdge"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1VFGEdge')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></td></tr>
|
|
109
105
|
<tr class="memitem:a9a29abd99da3465e07bd62470bd9bb56 inherit pub_methods_classSVF_1_1VFGEdge"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFGEdge.html#a9a29abd99da3465e07bd62470bd9bb56">VFGEdge</a> (<a class="el" href="classSVF_1_1VFGNode.html">VFGNode</a> *s, <a class="el" href="classSVF_1_1VFGNode.html">VFGNode</a> *d, <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> k)</td></tr>
|
|
110
106
|
<tr class="memdesc:a9a29abd99da3465e07bd62470bd9bb56 inherit pub_methods_classSVF_1_1VFGEdge"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1VFGEdge.html#a9a29abd99da3465e07bd62470bd9bb56">More...</a><br /></td></tr>
|
|
@@ -230,7 +226,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
230
226
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
231
227
|
<div class="textblock"><p><a class="el" href="classSVF_1_1SVFG.html">SVFG</a> return edge representing direct value-flows from a callee to its caller at a callsite </p>
|
|
232
228
|
|
|
233
|
-
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#
|
|
229
|
+
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00165">165</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
|
|
234
230
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
235
231
|
<a id="ae07d99d4156d999512e75b5d5fa207c4"></a>
|
|
236
232
|
<h2 class="memtitle"><span class="permalink"><a href="#ae07d99d4156d999512e75b5d5fa207c4">◆ </a></span>RetIndSVFGEdge()</h2>
|
|
@@ -272,10 +268,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
272
268
|
</table>
|
|
273
269
|
</div><div class="memdoc">
|
|
274
270
|
|
|
275
|
-
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#
|
|
276
|
-
<div class="fragment"><div class="line"><a name="
|
|
277
|
-
<div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html_a49e231a4606fda4429d0bae5656fa3e1"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html#a49e231a4606fda4429d0bae5656fa3e1">SVF::RetIndSVFGEdge::csId</a></div><div class="ttdeci">CallSiteID csId</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
278
|
-
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a6d40ccc9b99aec6515c2ef1df5a7b18f"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a6d40ccc9b99aec6515c2ef1df5a7b18f">SVF::IndirectSVFGEdge::IndirectSVFGEdge</a></div><div class="ttdeci">IndirectSVFGEdge(VFGNode *s, VFGNode *d, GEdgeFlag k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
271
|
+
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00171">171</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
|
|
272
|
+
<div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  :</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a6d40ccc9b99aec6515c2ef1df5a7b18f">IndirectSVFGEdge</a>(s,d,<a class="code" href="classSVF_1_1VFGEdge.html#a30c07e8afb0853d4b46cfa722d912650">makeEdgeFlagWithInvokeID</a>(<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">RetIndVF</a>,<span class="keywordtype">id</span>)),<a class="code" href="classSVF_1_1RetIndSVFGEdge.html#a49e231a4606fda4429d0bae5656fa3e1">csId</a>(<span class="keywordtype">id</span>)</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a30c07e8afb0853d4b46cfa722d912650"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a30c07e8afb0853d4b46cfa722d912650">SVF::VFGEdge::makeEdgeFlagWithInvokeID</a></div><div class="ttdeci">static GEdgeFlag makeEdgeFlagWithInvokeID(GEdgeKind k, CallSiteID cs)</div><div class="ttdoc">Compute the unique edgeFlag value from edge kind and CallSiteID. </div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00120">VFGEdge.h:120</a></div></div>
|
|
273
|
+
<div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html_a49e231a4606fda4429d0bae5656fa3e1"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html#a49e231a4606fda4429d0bae5656fa3e1">SVF::RetIndSVFGEdge::csId</a></div><div class="ttdeci">CallSiteID csId</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00169">SVFGEdge.h:169</a></div></div>
|
|
274
|
+
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a6d40ccc9b99aec6515c2ef1df5a7b18f"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a6d40ccc9b99aec6515c2ef1df5a7b18f">SVF::IndirectSVFGEdge::IndirectSVFGEdge</a></div><div class="ttdeci">IndirectSVFGEdge(VFGNode *s, VFGNode *d, GEdgeFlag k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00051">SVFGEdge.h:51</a></div></div>
|
|
279
275
|
<div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">SVF::VFGEdge::RetIndVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00058">VFGEdge.h:58</a></div></div>
|
|
280
276
|
</div><!-- fragment -->
|
|
281
277
|
</div>
|
|
@@ -305,8 +301,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
305
301
|
</table>
|
|
306
302
|
</div><div class="memdoc">
|
|
307
303
|
|
|
308
|
-
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#
|
|
309
|
-
<div class="fragment"><div class="line"><a name="
|
|
304
|
+
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00180">180</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
|
|
305
|
+
<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div></div><!-- fragment -->
|
|
310
306
|
</div>
|
|
311
307
|
</div>
|
|
312
308
|
<a id="ae3cedf9206a460394f761c8b785fb1f8"></a>
|
|
@@ -333,8 +329,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
333
329
|
</table>
|
|
334
330
|
</div><div class="memdoc">
|
|
335
331
|
|
|
336
|
-
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#
|
|
337
|
-
<div class="fragment"><div class="line"><a name="
|
|
332
|
+
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00184">184</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
|
|
333
|
+
<div class="fragment"><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">return</span> edge->getEdgeKind() == <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">RetIndVF</a>;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">SVF::VFGEdge::RetIndVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00058">VFGEdge.h:58</a></div></div>
|
|
338
334
|
</div><!-- fragment -->
|
|
339
335
|
</div>
|
|
340
336
|
</div>
|
|
@@ -362,8 +358,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
362
358
|
</table>
|
|
363
359
|
</div><div class="memdoc">
|
|
364
360
|
|
|
365
|
-
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#
|
|
366
|
-
<div class="fragment"><div class="line"><a name="
|
|
361
|
+
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00188">188</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
|
|
362
|
+
<div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  {</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">return</span> edge->getEdgeKind() == <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">RetIndVF</a>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">SVF::VFGEdge::RetIndVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00058">VFGEdge.h:58</a></div></div>
|
|
367
363
|
</div><!-- fragment -->
|
|
368
364
|
</div>
|
|
369
365
|
</div>
|
|
@@ -391,8 +387,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
391
387
|
</table>
|
|
392
388
|
</div><div class="memdoc">
|
|
393
389
|
|
|
394
|
-
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#
|
|
395
|
-
<div class="fragment"><div class="line"><a name="
|
|
390
|
+
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00192">192</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
|
|
391
|
+
<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">return</span> edge->getEdgeKind() == <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">RetIndVF</a>;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">SVF::VFGEdge::RetIndVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00058">VFGEdge.h:58</a></div></div>
|
|
396
392
|
</div><!-- fragment -->
|
|
397
393
|
</div>
|
|
398
394
|
</div>
|
|
@@ -419,8 +415,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
419
415
|
</table>
|
|
420
416
|
</div><div class="memdoc">
|
|
421
417
|
|
|
422
|
-
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#
|
|
423
|
-
<div class="fragment"><div class="line"><a name="
|
|
418
|
+
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00175">175</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
|
|
419
|
+
<div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html#a49e231a4606fda4429d0bae5656fa3e1">csId</a>;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  }</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html_a49e231a4606fda4429d0bae5656fa3e1"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html#a49e231a4606fda4429d0bae5656fa3e1">SVF::RetIndSVFGEdge::csId</a></div><div class="ttdeci">CallSiteID csId</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00169">SVFGEdge.h:169</a></div></div>
|
|
424
420
|
</div><!-- fragment -->
|
|
425
421
|
</div>
|
|
426
422
|
</div>
|
|
@@ -453,7 +449,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
453
449
|
<div class="fragment"><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  std::string str;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  rawstr << <span class="stringliteral">"RetIndSVFGEdge CallSite ID: "</span> << <a class="code" href="classSVF_1_1RetIndSVFGEdge.html#a04f211a0e3e21f60a299a744d3d1e452">getCallSiteId</a>() << <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  rawstr << <a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() << <span class="stringliteral">"<--"</span> << <a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div><div class="ttc" id="classSVF_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#l00077">GenericGraph.h:77</a></div></div>
|
|
454
450
|
<div class="ttc" id="classSVF_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#l00073">GenericGraph.h:73</a></div></div>
|
|
455
451
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
|
|
456
|
-
<div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html_a04f211a0e3e21f60a299a744d3d1e452"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html#a04f211a0e3e21f60a299a744d3d1e452">SVF::RetIndSVFGEdge::getCallSiteId</a></div><div class="ttdeci">CallSiteID getCallSiteId() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
452
|
+
<div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html_a04f211a0e3e21f60a299a744d3d1e452"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html#a04f211a0e3e21f60a299a744d3d1e452">SVF::RetIndSVFGEdge::getCallSiteId</a></div><div class="ttdeci">CallSiteID getCallSiteId() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00175">SVFGEdge.h:175</a></div></div>
|
|
457
453
|
</div><!-- fragment -->
|
|
458
454
|
</div>
|
|
459
455
|
</div>
|
|
@@ -478,7 +474,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
478
474
|
</table>
|
|
479
475
|
</div><div class="memdoc">
|
|
480
476
|
|
|
481
|
-
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#
|
|
477
|
+
<p class="definition">Definition at line <a class="el" href="SVFGEdge_8h_source.html#l00169">169</a> of file <a class="el" href="SVFGEdge_8h_source.html">SVFGEdge.h</a>.</p>
|
|
482
478
|
|
|
483
479
|
</div>
|
|
484
480
|
</div>
|
|
@@ -1309,9 +1309,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1309
1309
|
<p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00498">498</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
|
|
1310
1310
|
<div class="fragment"><div class="line"><a name="l00499"></a><span class="lineno"> 499</span> {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a978c857fcc06d2f988bc9ce16ce10145">SVFGEdge::CallIndVF</a>,csId))</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<CallIndSVFGEdge>(edge) && <span class="stringliteral">"this should be a indirect value flow edge!"</span>);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">return</span> (SVFUtil::cast<CallIndSVFGEdge>(edge)->addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* callEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>(srcNode,dstNode,csId);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  callEdge-><a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(callEdge) ? callEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span> }</div><div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00892">VFG.cpp:892</a></div></div>
|
|
1311
1311
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1312
|
-
<div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
1312
|
+
<div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00126">SVFGEdge.h:126</a></div></div>
|
|
1313
1313
|
<div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
|
|
1314
|
-
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
1314
|
+
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00056">SVFGEdge.h:56</a></div></div>
|
|
1315
1315
|
<div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
1316
1316
|
<div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a978c857fcc06d2f988bc9ce16ce10145"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a978c857fcc06d2f988bc9ce16ce10145">SVF::VFGEdge::CallIndVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00057">VFGEdge.h:57</a></div></div>
|
|
1317
1317
|
<div class="ttc" id="classSVF_1_1SVFG_html_a67750c461e3543f6b75d2dd510d67297"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">SVF::SVFG::addSVFGEdge</a></div><div class="ttdeci">bool addSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Add SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00243">SVFG.h:243</a></div></div>
|
|
@@ -1607,10 +1607,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1607
1607
|
<p>Add indirect def-use edges of a memory region between two statements,. </p>
|
|
1608
1608
|
|
|
1609
1609
|
<p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00456">456</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
|
|
1610
|
-
<div class="fragment"><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> {</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <a class="code" href="classSVF_1_1VFG.html#a43b0c126c2e32cb3d286a78b14e09a96">checkIntraEdgeParents</a>(srcNode, dstNode);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ac34c4529229404617c346f81cc6c141f">hasIntraVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aa80551154bcfbfa84f02df32ead6b1b0">SVFGEdge::IntraIndirectVF</a>))</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  {</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<IndirectSVFGEdge>(edge) && <span class="stringliteral">"this should be a indirect value flow edge!"</span>);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">return</span> (SVFUtil::cast<IndirectSVFGEdge>(edge)->addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  {</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <a class="code" href="classSVF_1_1IntraIndSVFGEdge.html">IntraIndSVFGEdge</a>* indirectEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraIndSVFGEdge.html">IntraIndSVFGEdge</a>(srcNode,dstNode);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  indirectEdge-><a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(indirectEdge) ? indirectEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  }</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div><div class="ttc" id="classSVF_1_1IntraIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IntraIndSVFGEdge.html">SVF::IntraIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
1610
|
+
<div class="fragment"><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> {</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <a class="code" href="classSVF_1_1VFG.html#a43b0c126c2e32cb3d286a78b14e09a96">checkIntraEdgeParents</a>(srcNode, dstNode);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ac34c4529229404617c346f81cc6c141f">hasIntraVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aa80551154bcfbfa84f02df32ead6b1b0">SVFGEdge::IntraIndirectVF</a>))</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  {</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<IndirectSVFGEdge>(edge) && <span class="stringliteral">"this should be a indirect value flow edge!"</span>);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">return</span> (SVFUtil::cast<IndirectSVFGEdge>(edge)->addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  {</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <a class="code" href="classSVF_1_1IntraIndSVFGEdge.html">IntraIndSVFGEdge</a>* indirectEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraIndSVFGEdge.html">IntraIndSVFGEdge</a>(srcNode,dstNode);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  indirectEdge-><a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(indirectEdge) ? indirectEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  }</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div><div class="ttc" id="classSVF_1_1IntraIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IntraIndSVFGEdge.html">SVF::IntraIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00094">SVFGEdge.h:94</a></div></div>
|
|
1611
1611
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1612
1612
|
<div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
|
|
1613
|
-
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
1613
|
+
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00056">SVFGEdge.h:56</a></div></div>
|
|
1614
1614
|
<div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
1615
1615
|
<div class="ttc" id="classSVF_1_1SVFG_html_a67750c461e3543f6b75d2dd510d67297"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">SVF::SVFG::addSVFGEdge</a></div><div class="ttdeci">bool addSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Add SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00243">SVFG.h:243</a></div></div>
|
|
1616
1616
|
<div class="ttc" id="classSVF_1_1VFG_html_ac34c4529229404617c346f81cc6c141f"><div class="ttname"><a href="classSVF_1_1VFG.html#ac34c4529229404617c346f81cc6c141f">SVF::VFG::hasIntraVFGEdge</a></div><div class="ttdeci">VFGEdge * hasIntraVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00857">VFG.cpp:857</a></div></div>
|
|
@@ -1727,11 +1727,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1727
1727
|
</div><div class="memdoc">
|
|
1728
1728
|
|
|
1729
1729
|
<p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00518">518</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
|
|
1730
|
-
<div class="fragment"><div class="line"><a name="l00519"></a><span class="lineno"> 519</span> {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">SVFGEdge::RetIndVF</a>,csId))</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  {</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<RetIndSVFGEdge>(edge) && <span class="stringliteral">"this should be a indirect value flow edge!"</span>);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">return</span> (SVFUtil::cast<RetIndSVFGEdge>(edge)->addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  }</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  {</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* retEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>(srcNode,dstNode,csId);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  retEdge-><a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(retEdge) ? retEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  }</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span> }</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
1730
|
+
<div class="fragment"><div class="line"><a name="l00519"></a><span class="lineno"> 519</span> {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">SVFGEdge::RetIndVF</a>,csId))</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  {</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<RetIndSVFGEdge>(edge) && <span class="stringliteral">"this should be a indirect value flow edge!"</span>);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">return</span> (SVFUtil::cast<RetIndSVFGEdge>(edge)->addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  }</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  {</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* retEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>(srcNode,dstNode,csId);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  retEdge-><a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(retEdge) ? retEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  }</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span> }</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00165">SVFGEdge.h:165</a></div></div>
|
|
1731
1731
|
<div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00892">VFG.cpp:892</a></div></div>
|
|
1732
1732
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1733
1733
|
<div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
|
|
1734
|
-
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
1734
|
+
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00056">SVFGEdge.h:56</a></div></div>
|
|
1735
1735
|
<div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
1736
1736
|
<div class="ttc" id="classSVF_1_1SVFG_html_a67750c461e3543f6b75d2dd510d67297"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">SVF::SVFG::addSVFGEdge</a></div><div class="ttdeci">bool addSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Add SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00243">SVFG.h:243</a></div></div>
|
|
1737
1737
|
<div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">SVF::VFGEdge::RetIndVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00058">VFGEdge.h:58</a></div></div>
|
|
@@ -1929,10 +1929,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1929
1929
|
<div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno"> 479</span> {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#aead3b463d9aa2fae5845d97896bd18ba">hasThreadVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVFGEdge::TheadMHPIndirectVF</a>))</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  {</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<IndirectSVFGEdge>(edge) && <span class="stringliteral">"this should be a indirect value flow edge!"</span>);</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">return</span> (SVFUtil::cast<IndirectSVFGEdge>(edge)->addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  }</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <a class="code" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">ThreadMHPIndSVFGEdge</a>* indirectEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">ThreadMHPIndSVFGEdge</a>(srcNode,dstNode);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  indirectEdge-><a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(indirectEdge) ? indirectEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  }</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span> }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1930
1930
|
<div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
|
|
1931
1931
|
<div class="ttc" id="classSVF_1_1VFG_html_aead3b463d9aa2fae5845d97896bd18ba"><div class="ttname"><a href="classSVF_1_1VFG.html#aead3b463d9aa2fae5845d97896bd18ba">SVF::VFG::hasThreadVFGEdge</a></div><div class="ttdeci">VFGEdge * hasThreadVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00875">VFG.cpp:875</a></div></div>
|
|
1932
|
-
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
1932
|
+
<div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00056">SVFGEdge.h:56</a></div></div>
|
|
1933
1933
|
<div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
1934
1934
|
<div class="ttc" id="classSVF_1_1SVFG_html_a67750c461e3543f6b75d2dd510d67297"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">SVF::SVFG::addSVFGEdge</a></div><div class="ttdeci">bool addSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Add SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00243">SVFG.h:243</a></div></div>
|
|
1935
|
-
<div class="ttc" id="classSVF_1_1ThreadMHPIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#
|
|
1935
|
+
<div class="ttc" id="classSVF_1_1ThreadMHPIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1ThreadMHPIndSVFGEdge.html">SVF::ThreadMHPIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00206">SVFGEdge.h:206</a></div></div>
|
|
1936
1936
|
<div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVF::VFGEdge::TheadMHPIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00059">VFGEdge.h:59</a></div></div>
|
|
1937
1937
|
<div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
|
|
1938
1938
|
</div><!-- fragment -->
|