svf-tools 1.0.367 → 1.0.371
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/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +9 -7
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +51 -41
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +22 -19
- package/SVF-doxygen/html/html/ICFG_8h_source.html +6 -5
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +10 -6
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +40 -40
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +40 -40
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +38 -38
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +73 -75
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/VFG_8h_source.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +42 -43
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +15 -18
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge-members.html +28 -25
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +108 -15
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +42 -43
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +16 -19
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +30 -26
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +22 -17
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +27 -26
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +121 -82
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +45 -46
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +8 -46
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +47 -48
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +32 -33
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge-members.html +23 -20
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +110 -15
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +87 -86
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +87 -76
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt-members.html +44 -45
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +21 -24
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/functions_a.html +12 -10
- package/SVF-doxygen/html/html/functions_b.html +7 -12
- package/SVF-doxygen/html/html/functions_c.html +22 -18
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func.html +13 -11
- package/SVF-doxygen/html/html/functions_func_g.html +19 -17
- package/SVF-doxygen/html/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/html/functions_g.html +20 -18
- package/SVF-doxygen/html/html/functions_n.html +6 -6
- package/SVF-doxygen/html/html/functions_p.html +15 -15
- package/SVF-doxygen/html/html/functions_r.html +5 -2
- package/SVF-doxygen/html/html/functions_s.html +11 -11
- package/SVF-doxygen/html/html/functions_type_b.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_b.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_c.html +5 -1
- package/SVF-doxygen/html/html/functions_vars_r.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +5 -9
- package/SVF-doxygen/html/html/namespaceSVF.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +3 -3
- package/SVF-doxygen/html/html/search/all_10.js +7 -7
- package/SVF-doxygen/html/html/search/all_12.js +3 -3
- package/SVF-doxygen/html/html/search/all_13.js +8 -8
- package/SVF-doxygen/html/html/search/all_14.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +2 -3
- package/SVF-doxygen/html/html/search/all_3.js +2 -1
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +7 -7
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +6 -6
- package/SVF-doxygen/html/html/search/functions_0.js +3 -3
- package/SVF-doxygen/html/html/search/functions_10.js +2 -2
- package/SVF-doxygen/html/html/search/functions_6.js +7 -7
- package/SVF-doxygen/html/html/search/typedefs_1.js +0 -1
- package/SVF-doxygen/html/html/search/variables_12.js +1 -0
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +2 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +18 -18
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/Graphs/ICFG.h +1 -1
- package/include/Graphs/ICFGEdge.h +39 -17
- package/include/Graphs/ICFGNode.h +1 -1
- package/include/MemoryModel/SVFStatements.h +2 -11
- package/include/SVF-FE/SVFIRBuilder.h +3 -1
- package/include/Util/ExtAPI.h +1 -1
- package/lib/Graphs/ICFG.cpp +22 -7
- package/lib/MemoryModel/SVFIR.cpp +2 -1
- package/lib/MemoryModel/SVFStatements.cpp +6 -6
- package/lib/MemoryModel/SymbolTableInfo.cpp +1 -1
- package/lib/SVF-FE/ICFGBuilder.cpp +8 -3
- package/lib/SVF-FE/SVFIRBuilder.cpp +15 -3
- package/lib/Util/ExtAPI.cpp +0 -1
- package/package.json +1 -1
|
@@ -248,8 +248,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
248
248
|
<tr class="memitem:adafd8bbb91507a9a78a3f16305812afc inherit pro_methods_classSVF_1_1ICFG"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">addIntraEdge</a> (<a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *srcNode, <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *dstNode)</td></tr>
|
|
249
249
|
<tr class="memdesc:adafd8bbb91507a9a78a3f16305812afc inherit pro_methods_classSVF_1_1ICFG"><td class="mdescLeft"> </td><td class="mdescRight">Add control-flow edges for top level pointers. <a href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">More...</a><br /></td></tr>
|
|
250
250
|
<tr class="separator:adafd8bbb91507a9a78a3f16305812afc inherit pro_methods_classSVF_1_1ICFG"><td class="memSeparator" colspan="2"> </td></tr>
|
|
251
|
-
<tr class="memitem:
|
|
252
|
-
<tr class="separator:
|
|
251
|
+
<tr class="memitem:a6436c2e6ab117007db80b9936fd4b5fe inherit pro_methods_classSVF_1_1ICFG"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a6436c2e6ab117007db80b9936fd4b5fe">addConditionalIntraEdge</a> (<a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *srcNode, <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *dstNode, const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *condition, <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> branchCondVal)</td></tr>
|
|
252
|
+
<tr class="separator:a6436c2e6ab117007db80b9936fd4b5fe inherit pro_methods_classSVF_1_1ICFG"><td class="memSeparator" colspan="2"> </td></tr>
|
|
253
253
|
<tr class="memitem:abde033687317d47909ee45db7501723f inherit pro_methods_classSVF_1_1ICFG"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#abde033687317d47909ee45db7501723f">addCallEdge</a> (<a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *srcNode, <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *dstNode, const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *cs)</td></tr>
|
|
254
254
|
<tr class="separator:abde033687317d47909ee45db7501723f inherit pro_methods_classSVF_1_1ICFG"><td class="memSeparator" colspan="2"> </td></tr>
|
|
255
255
|
<tr class="memitem:a4a44849b596c89ab14d2e5f18366e848 inherit pro_methods_classSVF_1_1ICFG"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a4a44849b596c89ab14d2e5f18366e848">addRetEdge</a> (<a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *srcNode, <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *dstNode, const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *cs)</td></tr>
|
|
@@ -386,7 +386,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
386
386
|
</div><div class="memdoc">
|
|
387
387
|
|
|
388
388
|
<p class="definition">Definition at line <a class="el" href="Graph2Json_8cpp_source.html#l00014">14</a> of file <a class="el" href="Graph2Json_8cpp_source.html">Graph2Json.cpp</a>.</p>
|
|
389
|
-
<div class="fragment"><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> {</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"write symbols to '"</span> << filename << <span class="stringliteral">"'..."</span>;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  std::error_code err;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <a class="code" href="namespaceSVF.html#acde6a1d496f1b655088ccbe023820277">ToolOutputFile</a> F(filename.c_str(), err, llvm::sys::fs::OF_None);</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="keywordflow">if</span> (err)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">" error opening file for writing!\n"</span>;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  F.os().clear_error();</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  }</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  llvm::json::Array root_array;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFG.html#a498f84068ef643a94970aeb171607e31">ICFG::iterator</a> it = <a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = <a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it!=eit; ++it)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node = it->second;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  llvm::json::Object ICFGNode_Obj;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  ICFGNode_Obj[<span class="stringliteral">"ICFG_ID"</span>] = id;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  ICFGNode_Obj[<span class="stringliteral">"Node Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03">getICFGKind</a>(node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* bNode = SVFUtil::dyn_cast<IntraICFGNode>(node))</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(bNode->getInst());</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="classSVF_1_1SVFIR.html#a6bc360d2604ae4a0af74530b263b10d9">SVFIR::SVFStmtList</a>& edges = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#abb91ed47d5c13d0ad7eec35164e37988">getPTASVFStmtList</a>(bNode);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  llvm::json::Array PAGEdge_array;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="comment">//dump pag edges</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">for</span> (SVFIR::SVFStmtList::iterator it = edges.begin(),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  eit = edges.end(); it != eit; ++it)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *it;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  llvm::json::Object edge_obj;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  edge_obj[<span class="stringliteral">"Source Node"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  edge_obj[<span class="stringliteral">"Destination Node"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  edge_obj[<span class="stringliteral">"Source Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getNodeKind());</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  edge_obj[<span class="stringliteral">"Destination Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getNodeKind());</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  edge_obj[<span class="stringliteral">"Edge Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a38aa67e172459a72d8fc92a6172903be">getPAGEdgeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>());</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  edge_obj[<span class="stringliteral">"srcValueName"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getValueName();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  edge_obj[<span class="stringliteral">"dstValueName"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getValueName();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>()==<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">SVFStmt::Gep</a>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a>* gepEdge = SVFUtil::cast<GepStmt>(edge);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  edge_obj[<span class="stringliteral">"offset"</span>] = gepEdge-><a class="code" href="classSVF_1_1GepStmt.html#adf6912f8ddae4f765b685a4f9d3be602">getConstantFieldIdx</a>();</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> edge_value = llvm::json::Object{edge_obj};</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  PAGEdge_array.push_back(edge_value);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> PagEdge_value = llvm::json::Array{PAGEdge_array};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  ICFGNode_Obj[<span class="stringliteral">"SVFIR Edges"</span>] = PagEdge_value;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a> = SVFUtil::dyn_cast<FunEntryICFGNode>(node))</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()->getLLVMFun());</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  ICFGNode_Obj[<span class="stringliteral">"Function Name"</span>] = <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()->getName();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a> = SVFUtil::dyn_cast<FunExitICFGNode>(node))</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()))</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(&(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()->getLLVMFun()->back()));</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  ICFGNode_Obj[<span class="stringliteral">"Function Name"</span>] = <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()->getName();</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* call = SVFUtil::dyn_cast<CallICFGNode>(node))</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(call->getCallSite());</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* ret = SVFUtil::dyn_cast<RetICFGNode>(node))</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(ret->getCallSite());</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"what else kinds of nodes do we have??"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  llvm::json::Array ICFGEdges_array;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">ICFGNode::iterator</a> sit = node-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), esit = node-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); sit!=esit; ++sit)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = *sit;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  llvm::json::Object ICFGEdge_obj;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">if</span> (SVFUtil::isa<CallCFGEdge>(edge))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>>(edge);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"CallCFGEdge"</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<RetCFGEdge>(edge))</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>>(edge);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"RetCFGEdge"</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<IntraCFGEdge>(edge))</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraCFGEdge = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>>(edge);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"IntraCFGEdge"</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = intraCFGEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = intraCFGEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdge_Val = llvm::json::Object{ICFGEdge_obj};</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  ICFGEdges_array.push_back(ICFGEdge_Val);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdges_val = llvm::json::Array{ICFGEdges_array};</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  ICFGNode_Obj[<span class="stringliteral">"ICFGEdges"</span>] = ICFGEdges_val;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGNode_val = llvm::json::Object{ICFGNode_Obj};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  root_array.push_back(ICFGNode_val);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> root_value = llvm::json::Array{root_array};</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="namespaceSVF.html#ac5a03512613828c2fab8930f38c2d485">llvm::json::operator<<</a>(F.os(),root_value);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  F.os().close();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">if</span> (!F.os().has_error())</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  F.keep();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div><div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00042">ICFGEdge.h:42</a></div></div>
|
|
389
|
+
<div class="fragment"><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> {</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"write symbols to '"</span> << filename << <span class="stringliteral">"'..."</span>;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  std::error_code err;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <a class="code" href="namespaceSVF.html#acde6a1d496f1b655088ccbe023820277">ToolOutputFile</a> F(filename.c_str(), err, llvm::sys::fs::OF_None);</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="keywordflow">if</span> (err)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">" error opening file for writing!\n"</span>;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  F.os().clear_error();</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  }</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  llvm::json::Array root_array;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFG.html#a498f84068ef643a94970aeb171607e31">ICFG::iterator</a> it = <a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = <a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it!=eit; ++it)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node = it->second;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  llvm::json::Object ICFGNode_Obj;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  ICFGNode_Obj[<span class="stringliteral">"ICFG_ID"</span>] = id;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  ICFGNode_Obj[<span class="stringliteral">"Node Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03">getICFGKind</a>(node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* bNode = SVFUtil::dyn_cast<IntraICFGNode>(node))</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(bNode->getInst());</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="classSVF_1_1SVFIR.html#a6bc360d2604ae4a0af74530b263b10d9">SVFIR::SVFStmtList</a>& edges = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#abb91ed47d5c13d0ad7eec35164e37988">getPTASVFStmtList</a>(bNode);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  llvm::json::Array PAGEdge_array;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="comment">//dump pag edges</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">for</span> (SVFIR::SVFStmtList::iterator it = edges.begin(),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  eit = edges.end(); it != eit; ++it)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *it;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  llvm::json::Object edge_obj;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  edge_obj[<span class="stringliteral">"Source Node"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  edge_obj[<span class="stringliteral">"Destination Node"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  edge_obj[<span class="stringliteral">"Source Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getNodeKind());</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  edge_obj[<span class="stringliteral">"Destination Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getNodeKind());</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  edge_obj[<span class="stringliteral">"Edge Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a38aa67e172459a72d8fc92a6172903be">getPAGEdgeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>());</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  edge_obj[<span class="stringliteral">"srcValueName"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getValueName();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  edge_obj[<span class="stringliteral">"dstValueName"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getValueName();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>()==<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">SVFStmt::Gep</a>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a>* gepEdge = SVFUtil::cast<GepStmt>(edge);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  edge_obj[<span class="stringliteral">"offset"</span>] = gepEdge-><a class="code" href="classSVF_1_1GepStmt.html#adf6912f8ddae4f765b685a4f9d3be602">getConstantFieldIdx</a>();</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> edge_value = llvm::json::Object{edge_obj};</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  PAGEdge_array.push_back(edge_value);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> PagEdge_value = llvm::json::Array{PAGEdge_array};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  ICFGNode_Obj[<span class="stringliteral">"SVFIR Edges"</span>] = PagEdge_value;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a> = SVFUtil::dyn_cast<FunEntryICFGNode>(node))</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()->getLLVMFun());</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  ICFGNode_Obj[<span class="stringliteral">"Function Name"</span>] = <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()->getName();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a> = SVFUtil::dyn_cast<FunExitICFGNode>(node))</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()))</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(&(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()->getLLVMFun()->back()));</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  ICFGNode_Obj[<span class="stringliteral">"Function Name"</span>] = <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()->getName();</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* call = SVFUtil::dyn_cast<CallICFGNode>(node))</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(call->getCallSite());</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* ret = SVFUtil::dyn_cast<RetICFGNode>(node))</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(ret->getCallSite());</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"what else kinds of nodes do we have??"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  llvm::json::Array ICFGEdges_array;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">ICFGNode::iterator</a> sit = node-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), esit = node-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); sit!=esit; ++sit)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = *sit;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  llvm::json::Object ICFGEdge_obj;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">if</span> (SVFUtil::isa<CallCFGEdge>(edge))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>>(edge);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"CallCFGEdge"</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<RetCFGEdge>(edge))</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>>(edge);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"RetCFGEdge"</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<IntraCFGEdge>(edge))</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraCFGEdge = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>>(edge);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"IntraCFGEdge"</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = intraCFGEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = intraCFGEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdge_Val = llvm::json::Object{ICFGEdge_obj};</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  ICFGEdges_array.push_back(ICFGEdge_Val);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdges_val = llvm::json::Array{ICFGEdges_array};</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  ICFGNode_Obj[<span class="stringliteral">"ICFGEdges"</span>] = ICFGEdges_val;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGNode_val = llvm::json::Object{ICFGNode_Obj};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  root_array.push_back(ICFGNode_val);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> root_value = llvm::json::Array{root_array};</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="namespaceSVF.html#ac5a03512613828c2fab8930f38c2d485">llvm::json::operator<<</a>(F.os(),root_value);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  F.os().close();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">if</span> (!F.os().has_error())</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  F.keep();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div><div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00044">ICFGEdge.h:44</a></div></div>
|
|
390
390
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00361">GenericGraph.h:361</a></div></div>
|
|
391
391
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_abe8525c542def8162b094c169a01993b"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">SVF::GenericEdge::getEdgeKind</a></div><div class="ttdeci">GEdgeKind getEdgeKind() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00081">GenericGraph.h:81</a></div></div>
|
|
392
392
|
<div class="ttc" id="util_8h_html_a43b6ea6be735bb828bc062c70cadeff8"><div class="ttname"><a href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a></div><div class="ttdeci">VOID_OR_INT exit()</div></div>
|
|
@@ -399,7 +399,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
399
399
|
<div class="ttc" id="classSVF_1_1GepStmt_html"><div class="ttname"><a href="classSVF_1_1GepStmt.html">SVF::GepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00409">SVFStatements.h:409</a></div></div>
|
|
400
400
|
<div class="ttc" id="classSVF_1_1SVFIR_html_abb91ed47d5c13d0ad7eec35164e37988"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abb91ed47d5c13d0ad7eec35164e37988">SVF::SVFIR::getPTASVFStmtList</a></div><div class="ttdeci">SVFStmtList & getPTASVFStmtList(const ICFGNode *inst)</div><div class="ttdoc">Given an instruction, get all its PTA PAGEdges. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00186">SVFIR.h:186</a></div></div>
|
|
401
401
|
<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>
|
|
402
|
-
<div class="ttc" id="classSVF_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#
|
|
402
|
+
<div class="ttc" id="classSVF_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#l00165">ICFGEdge.h:165</a></div></div>
|
|
403
403
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00269">SVFUtil.cpp:269</a></div></div>
|
|
404
404
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
|
|
405
405
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a391e996d695b114530120723da1d003e"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">SVF::GenericNode::getNodeKind</a></div><div class="ttdeci">GNodeK getNodeKind() const</div><div class="ttdoc">Get node kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
|
|
@@ -407,7 +407,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
407
407
|
<div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00459">ICFGNode.h:459</a></div></div>
|
|
408
408
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
|
|
409
409
|
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html">SVF::FunEntryICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00251">ICFGNode.h:251</a></div></div>
|
|
410
|
-
<div class="ttc" id="classSVF_1_1IntraCFGEdge_html"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#
|
|
410
|
+
<div class="ttc" id="classSVF_1_1IntraCFGEdge_html"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00113">ICFGEdge.h:113</a></div></div>
|
|
411
411
|
<div class="ttc" id="classSVF_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#l00089">GenericGraph.h:89</a></div></div>
|
|
412
412
|
<div class="ttc" id="classSVF_1_1GepStmt_html_adf6912f8ddae4f765b685a4f9d3be602"><div class="ttname"><a href="classSVF_1_1GepStmt.html#adf6912f8ddae4f765b685a4f9d3be602">SVF::GepStmt::getConstantFieldIdx</a></div><div class="ttdeci">s64_t getConstantFieldIdx() const</div><div class="ttdoc">Field index of the gep statement if it access the field of a struct. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00454">SVFStatements.h:454</a></div></div>
|
|
413
413
|
<div class="ttc" id="namespaceSVF_html_acde6a1d496f1b655088ccbe023820277"><div class="ttname"><a href="namespaceSVF.html#acde6a1d496f1b655088ccbe023820277">SVF::ToolOutputFile</a></div><div class="ttdeci">llvm::ToolOutputFile ToolOutputFile</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00103">BasicTypes.h:103</a></div></div>
|
|
@@ -427,7 +427,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
427
427
|
<div class="ttc" id="classSVF_1_1ICFGPrinter_html_a54f0729c869b5061b5fb9fe056c326ef"><div class="ttname"><a href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">SVF::ICFGPrinter::getPAGNodeKindValue</a></div><div class="ttdeci">std::string getPAGNodeKindValue(int kind)</div><div class="ttdef"><b>Definition:</b> <a href="Graph2Json_8cpp_source.html#l00168">Graph2Json.cpp:168</a></div></div>
|
|
428
428
|
<div class="ttc" id="classSVF_1_1ICFGPrinter_html_a38aa67e172459a72d8fc92a6172903be"><div class="ttname"><a href="classSVF_1_1ICFGPrinter.html#a38aa67e172459a72d8fc92a6172903be">SVF::ICFGPrinter::getPAGEdgeKindValue</a></div><div class="ttdeci">std::string getPAGEdgeKindValue(int kind)</div><div class="ttdef"><b>Definition:</b> <a href="Graph2Json_8cpp_source.html#l00203">Graph2Json.cpp:203</a></div></div>
|
|
429
429
|
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
|
|
430
|
-
<div class="ttc" id="classSVF_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#
|
|
430
|
+
<div class="ttc" id="classSVF_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#l00211">ICFGEdge.h:211</a></div></div>
|
|
431
431
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00063">LLVMUtil.h:63</a></div></div>
|
|
432
432
|
<div class="ttc" id="classSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00047">SVFStatements.h:47</a></div></div>
|
|
433
433
|
</div><!-- fragment -->
|
|
@@ -69,43 +69,44 @@ $(function() {
|
|
|
69
69
|
|
|
70
70
|
<p>This is the complete list of members for <a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a>, including all inherited members.</p>
|
|
71
71
|
<table class="directory">
|
|
72
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#
|
|
73
|
-
<tr><td class="entry"><a class="el" href="
|
|
74
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
75
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#
|
|
76
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#
|
|
77
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#
|
|
72
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#a8ba42f12f31c5f7ff633f60856f973b3">branchCondVal</a></td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
73
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429a3486c9d9a182f2ba5d986fe74439ec2e">CallCF</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"></td></tr>
|
|
74
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#a70bdadf898a10c6db89e9f432529092c">classof</a>(const IntraCFGEdge *)</td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
|
75
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#aea905f535696918ed63cd5ce04b7e0fb">classof</a>(const ICFGEdge *edge)</td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</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_1IntraCFGEdge.html#adda4f50f50127f5d7f193300933c209f">classof</a>(const GenericICFGEdgeTy *edge)</td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</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_1IntraCFGEdge.html#a1d49f742d3f93361c7ba1b69e074ceb5">conditionVar</a></td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
78
78
|
<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>
|
|
79
79
|
<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>
|
|
80
80
|
<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>
|
|
81
81
|
<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>
|
|
82
82
|
<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>
|
|
83
83
|
<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>
|
|
84
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#
|
|
84
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#ac13be3c3ee581e20974ce4527a3cfe7b">getCondition</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
85
85
|
<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>
|
|
86
86
|
<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>
|
|
87
87
|
<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>
|
|
88
88
|
<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>
|
|
89
89
|
<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>
|
|
90
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
91
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#
|
|
92
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#
|
|
93
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#
|
|
94
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
95
|
-
<tr><td class="entry"><a class="el" href="
|
|
96
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#
|
|
97
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#
|
|
98
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#
|
|
99
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#
|
|
100
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
101
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
102
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
103
|
-
<tr><td class="entry"><a class="el" href="
|
|
104
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
105
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#
|
|
106
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
107
|
-
<tr><td class="entry"><a class="el" href="
|
|
108
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
90
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#a40fab1a6b75f29cb629bfc05fb3a86b1">getSuccessorCondValue</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
91
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a9b8f369727bd03106bafacd4eee3dd04">ICFGEdge</a>(ICFGNode *s, ICFGNode *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</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_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429">ICFGEdgeK</a> enum name</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"></td></tr>
|
|
93
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a3da5a0bad1b4c08803f1f06393649f96">ICFGEdgeSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"></td></tr>
|
|
94
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">IntraCF</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"></td></tr>
|
|
95
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#aeab701d63caadf8effabdbd23ac0cd49">IntraCFGEdge</a>(ICFGNode *s, ICFGNode *d)</td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
96
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a2ecc0bc3bb3655bf3db3adb732747b49">isCallCFGEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
97
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a3d3813be0b873335b17bb590e130d173">isCFGEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
98
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a4e6d228dfc678618a423e8293877f04c">isIntraCFGEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
99
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#ae3e7a6596de9fd3a25a28242a06ddd80">isRetCFGEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
100
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a00b2650d7afd8b98c108d6a168299993">makeEdgeFlagWithInvokeID</a>(GEdgeKind k, CallSiteID cs)</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
|
101
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
102
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a0e461644bf9a4e50099b38f09222e858">operator==</a>(const GenericEdge< NodeType > *rhs) 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><span class="mlabel">virtual</span></td></tr>
|
|
103
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429ad2370a77f6cc112b8c26efbcc36bf541">RetCF</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"></td></tr>
|
|
104
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#a1da3dd867c2cbae9776c80cc4ab98a0f">setBranchCondition</a>(const Value *c, s64_t bVal)</td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
105
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a068573fdbd9b99af18f3deeb9b16a38b">SVFGEdgeK</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"></td></tr>
|
|
106
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#ad14443828b9030ee7b438fa3cdf17e56">SVFGEdgeSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"></td></tr>
|
|
107
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html#a1e63286b4d6f757ac1220f5f03ae62de">toString</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
108
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a548daea0cac6491de91d4840b7297741">~GenericEdge</a>()</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><span class="mlabel">virtual</span></td></tr>
|
|
109
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html#a6dea0df51f68b621fcabef6a3ce9e778">~ICFGEdge</a>()</td><td class="entry"><a class="el" href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
109
110
|
</table></div><!-- contents -->
|
|
110
111
|
<!-- start footer part -->
|
|
111
112
|
<hr class="footer"/><address class="footer"><small>
|