svf-tools 1.0.558 → 1.0.559
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/ExtAPI_8cpp_source.html +5 -2
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -2
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +40 -5
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func_i.html +11 -8
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_i.html +8 -5
- package/SVF-doxygen/html/html/functions_l.html +8 -8
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +8 -8
- package/SVF-doxygen/html/html/functions_s.html +5 -5
- package/SVF-doxygen/html/html/functions_t.html +3 -3
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_w.html +11 -11
- package/SVF-doxygen/html/html/search/all_10.js +7 -7
- package/SVF-doxygen/html/html/search/all_11.js +1 -1
- package/SVF-doxygen/html/html/search/all_12.js +8 -8
- package/SVF-doxygen/html/html/search/all_13.js +3 -3
- package/SVF-doxygen/html/html/search/all_14.js +1 -1
- package/SVF-doxygen/html/html/search/all_15.js +3 -3
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +1 -0
- package/SVF-doxygen/html/html/search/all_c.js +4 -4
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -0
- package/SVF-doxygen/html/html/search/variables_13.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/include/Util/ExtAPI.h +3 -0
- package/include/Util/ExtAPI.json +1456 -44
- package/lib/Util/ExtAPI.cpp +42 -4
- package/package.json +1 -1
|
@@ -178,6 +178,8 @@ Public Member Functions</h2></td></tr>
|
|
|
178
178
|
<tr class="separator:a82ebf71c5214f891f17e842e0b133b4f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
179
179
|
<tr class="memitem:ac6d6bdc51a6b75d6d5741cb751559fe4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#ac6d6bdc51a6b75d6d5741cb751559fe4">is_realloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="PEGGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</td></tr>
|
|
180
180
|
<tr class="separator:ac6d6bdc51a6b75d6d5741cb751559fe4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
181
|
+
<tr class="memitem:a5e8b816a3eb894f6b09403852df0d01b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a5e8b816a3eb894f6b09403852df0d01b">is_sameSignature</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="PEGGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</td></tr>
|
|
182
|
+
<tr class="separator:a5e8b816a3eb894f6b09403852df0d01b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
181
183
|
<tr class="memitem:a21f45c806672255c044d39490990eae2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a21f45c806672255c044d39490990eae2">is_ext</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="PEGGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</td></tr>
|
|
182
184
|
<tr class="separator:a21f45c806672255c044d39490990eae2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
183
185
|
</table><table class="memberdecls">
|
|
@@ -577,7 +579,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
577
579
|
</div><div class="memdoc">
|
|
578
580
|
|
|
579
581
|
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00354">354</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
580
|
-
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="structcJSON.html">cJSON</a> *<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">get_FunJson</a>(funName);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="comment">// Get the first operation of the function</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="structcJSON.html">cJSON</a> *obj = item-><a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">if</span> (strcmp(obj-><a class="code" href="structcJSON.html#aa6b47e9a4b0e0a26f519b1a2b6739983">string</a>, <a class="code" href="ExtAPI_8h.html#a8af07ec3fec2ac9636dfb81bb7a8961e">JSON_OPT_FUNCTIONTYPE</a>) == 0)</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  type = obj-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"The function operation format is illegal!"</span>);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  std::map<std::string, extType>::const_iterator it = <a class="code" href="classSVF_1_1ExtAPI.html#a95ac45d2367b3d3124d5d98958e74cc5">type_pair</a>.find(type);</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ExtAPI.html#a95ac45d2367b3d3124d5d98958e74cc5">type_pair</a>.end())</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExtAPI.html#a5df65081e82a05223ce781660ee199caa7ad779bd3527f7cd220ca74c736fd2df">EFT_NULL</a>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div><div class="ttc" id="ExtAPI_8h_html_a8af07ec3fec2ac9636dfb81bb7a8961e"><div class="ttname"><a href="ExtAPI_8h.html#a8af07ec3fec2ac9636dfb81bb7a8961e">JSON_OPT_FUNCTIONTYPE</a></div><div class="ttdeci">#define JSON_OPT_FUNCTIONTYPE</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00041">ExtAPI.h:41</a></div></div>
|
|
582
|
+
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="structcJSON.html">cJSON</a> *<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">get_FunJson</a>(funName);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="comment">// Get the first operation of the function</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="structcJSON.html">cJSON</a> *obj = item-><a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>-><a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>-><a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">if</span> (strcmp(obj-><a class="code" href="structcJSON.html#aa6b47e9a4b0e0a26f519b1a2b6739983">string</a>, <a class="code" href="ExtAPI_8h.html#a8af07ec3fec2ac9636dfb81bb7a8961e">JSON_OPT_FUNCTIONTYPE</a>) == 0)</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  type = obj-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"The function operation format is illegal!"</span>);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  std::map<std::string, extType>::const_iterator it = <a class="code" href="classSVF_1_1ExtAPI.html#a95ac45d2367b3d3124d5d98958e74cc5">type_pair</a>.find(type);</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ExtAPI.html#a95ac45d2367b3d3124d5d98958e74cc5">type_pair</a>.end())</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExtAPI.html#a5df65081e82a05223ce781660ee199caa7ad779bd3527f7cd220ca74c736fd2df">EFT_NULL</a>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> }</div><div class="ttc" id="ExtAPI_8h_html_a8af07ec3fec2ac9636dfb81bb7a8961e"><div class="ttname"><a href="ExtAPI_8h.html#a8af07ec3fec2ac9636dfb81bb7a8961e">JSON_OPT_FUNCTIONTYPE</a></div><div class="ttdeci">#define JSON_OPT_FUNCTIONTYPE</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00041">ExtAPI.h:41</a></div></div>
|
|
581
583
|
<div class="ttc" id="classSVF_1_1ExtAPI_html_ab61fbc80acc89e26df2b451cbab81246"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">SVF::ExtAPI::get_FunJson</a></div><div class="ttdeci">cJSON * get_FunJson(const std::string &funName)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00295">ExtAPI.cpp:295</a></div></div>
|
|
582
584
|
<div class="ttc" id="classSVF_1_1ExtAPI_html_a95ac45d2367b3d3124d5d98958e74cc5"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a95ac45d2367b3d3124d5d98958e74cc5">SVF::ExtAPI::type_pair</a></div><div class="ttdeci">std::map< std::string, extType > type_pair</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00154">ExtAPI.h:154</a></div></div>
|
|
583
585
|
<div class="ttc" id="structcJSON_html_ad43f8de2571e504c4c5ce0a36990e6e1"><div class="ttname"><a href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">cJSON::valuestring</a></div><div class="ttdeci">char * valuestring</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00115">cJSON.h:115</a></div></div>
|
|
@@ -586,6 +588,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
586
588
|
<div class="ttc" id="structcJSON_html_aa6b47e9a4b0e0a26f519b1a2b6739983"><div class="ttname"><a href="structcJSON.html#aa6b47e9a4b0e0a26f519b1a2b6739983">cJSON::string</a></div><div class="ttdeci">char * string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00122">cJSON.h:122</a></div></div>
|
|
587
589
|
<div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
|
|
588
590
|
<div class="ttc" id="classSVF_1_1ExtAPI_html_a5df65081e82a05223ce781660ee199caa7ad779bd3527f7cd220ca74c736fd2df"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a5df65081e82a05223ce781660ee199caa7ad779bd3527f7cd220ca74c736fd2df">SVF::ExtAPI::EFT_NULL</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00149">ExtAPI.h:149</a></div></div>
|
|
591
|
+
<div class="ttc" id="structcJSON_html_ade862b880379b5e2a591f7326401fa8d"><div class="ttname"><a href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">cJSON::next</a></div><div class="ttdeci">struct cJSON * next</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00106">cJSON.h:106</a></div></div>
|
|
589
592
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
590
593
|
<div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
591
594
|
</div><!-- fragment -->
|
|
@@ -608,7 +611,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
608
611
|
</div><div class="memdoc">
|
|
609
612
|
|
|
610
613
|
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00302">302</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
611
|
-
<div class="fragment"><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  std::vector<ExtAPI::Operation> allOperations;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="structcJSON.html">cJSON</a> *<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">get_FunJson</a>(funName);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="structcJSON.html">cJSON</a> *obj = item-><a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="comment">// Get the first operation of the function</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  obj = obj -> <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> -> <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  std::vector<ExtAPI::Operation *> operations;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">while</span> (obj)</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  {</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> op;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  std::vector<std::string> operandsStr;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  std::map<std::string, NodeID> opMap;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">if</span> (obj-><a class="code" href="structcJSON.html#ab13084c574681593b12f6e0a3db0dcfc">type</a> == <a class="code" href="cJSON_8h.html#a22c6e13481c090629afbd77b7cebd24c">cJSON_Object</a> || obj-><a class="code" href="structcJSON.html#ab13084c574681593b12f6e0a3db0dcfc">type</a> == <a class="code" href="cJSON_8h.html#a57cffa126740a8efcdcb7bcef80e8897">cJSON_Array</a>)</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  op = <a class="code" href="classSVF_1_1ExtAPI.html#a1930d622cd47f7fd875e1964b65ec506">get_opName</a>(obj -> <span class="keywordtype">string</span>);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="structcJSON.html">cJSON</a> *value = obj-><a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  std::vector<std::string> args;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">while</span> (value)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">if</span> (value-><a class="code" href="structcJSON.html#ab13084c574681593b12f6e0a3db0dcfc">type</a> == <a class="code" href="cJSON_8h.html#aa2cb4765308e2bbdf01988b2acdf92d9">cJSON_String</a>)</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  operandsStr.push_back(value-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  value = value-><a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  }</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="classSVF_1_1ExtAPI_1_1Operation.html">ExtAPI::Operation</a> operation(op, operandsStr);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  allOperations.push_back(operation);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  operations.clear();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  obj = obj -> <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  }</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">return</span> allOperations;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div><div class="ttc" id="cJSON_8cpp_html_a2599f74bdbbc1b3fd1ba8db3789a0be7"><div class="ttname"><a href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a></div><div class="ttdeci">item next</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02224">cJSON.cpp:2224</a></div></div>
|
|
614
|
+
<div class="fragment"><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  std::vector<ExtAPI::Operation> allOperations;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="structcJSON.html">cJSON</a> *<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">get_FunJson</a>(funName);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="structcJSON.html">cJSON</a> *obj = item-><a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="comment">// Get the first operation of the function</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  obj = obj -> <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> -> <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> -> <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> -> <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  std::vector<ExtAPI::Operation *> operations;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">while</span> (obj)</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  {</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> op;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  std::vector<std::string> operandsStr;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  std::map<std::string, NodeID> opMap;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">if</span> (obj-><a class="code" href="structcJSON.html#ab13084c574681593b12f6e0a3db0dcfc">type</a> == <a class="code" href="cJSON_8h.html#a22c6e13481c090629afbd77b7cebd24c">cJSON_Object</a> || obj-><a class="code" href="structcJSON.html#ab13084c574681593b12f6e0a3db0dcfc">type</a> == <a class="code" href="cJSON_8h.html#a57cffa126740a8efcdcb7bcef80e8897">cJSON_Array</a>)</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  op = <a class="code" href="classSVF_1_1ExtAPI.html#a1930d622cd47f7fd875e1964b65ec506">get_opName</a>(obj -> <span class="keywordtype">string</span>);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="structcJSON.html">cJSON</a> *value = obj-><a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  std::vector<std::string> args;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">while</span> (value)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">if</span> (value-><a class="code" href="structcJSON.html#ab13084c574681593b12f6e0a3db0dcfc">type</a> == <a class="code" href="cJSON_8h.html#aa2cb4765308e2bbdf01988b2acdf92d9">cJSON_String</a>)</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  operandsStr.push_back(value-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  value = value-><a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  }</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="classSVF_1_1ExtAPI_1_1Operation.html">ExtAPI::Operation</a> operation(op, operandsStr);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  allOperations.push_back(operation);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  operations.clear();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  obj = obj -> <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  }</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">return</span> allOperations;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span> }</div><div class="ttc" id="cJSON_8cpp_html_a2599f74bdbbc1b3fd1ba8db3789a0be7"><div class="ttname"><a href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a></div><div class="ttdeci">item next</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02224">cJSON.cpp:2224</a></div></div>
|
|
612
615
|
<div class="ttc" id="classSVF_1_1ExtAPI_html_ab61fbc80acc89e26df2b451cbab81246"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">SVF::ExtAPI::get_FunJson</a></div><div class="ttdeci">cJSON * get_FunJson(const std::string &funName)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00295">ExtAPI.cpp:295</a></div></div>
|
|
613
616
|
<div class="ttc" id="classSVF_1_1ExtAPI_1_1Operation_html"><div class="ttname"><a href="classSVF_1_1ExtAPI_1_1Operation.html">SVF::ExtAPI::Operation</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00202">ExtAPI.h:202</a></div></div>
|
|
614
617
|
<div class="ttc" id="structcJSON_html_ad43f8de2571e504c4c5ce0a36990e6e1"><div class="ttname"><a href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">cJSON::valuestring</a></div><div class="ttdeci">char * valuestring</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00115">cJSON.h:115</a></div></div>
|
|
@@ -842,8 +845,9 @@ Static Private Attributes</h2></td></tr>
|
|
|
842
845
|
</table>
|
|
843
846
|
</div><div class="memdoc">
|
|
844
847
|
|
|
845
|
-
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#
|
|
846
|
-
<div class="fragment"><div class="line"><a name="
|
|
848
|
+
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00514">514</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
849
|
+
<div class="fragment"><div class="line"><a name="l00515"></a><span class="lineno"> 515</span> {</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  assert(F);</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordtype">bool</span> res;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">if</span> (F-><a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>() || F-><a class="code" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>())</div><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>  res = 1;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">else</span></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="classSVF_1_1ExtAPI.html#a5df65081e82a05223ce781660ee199ca">ExtAPI::extType</a> t = <a class="code" href="classSVF_1_1ExtAPI.html#a411a034f872afcf62ce5456e408ccf41">get_type</a>(F);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">if</span> (t != <a class="code" href="classSVF_1_1ExtAPI.html#a5df65081e82a05223ce781660ee199caa7ad779bd3527f7cd220ca74c736fd2df">EFT_NULL</a>)</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>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> overwrittenAppFunction = <a class="code" href="classSVF_1_1ExtAPI.html#a5ef7edb1664ab87f00418e7808d00258">isOverwrittenAppFunction</a>(F);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1ExtAPI.html#a5e8b816a3eb894f6b09403852df0d01b">is_sameSignature</a>(F))</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  res = 0;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="comment">// overwrittenAppFunction = 1: Execute function specification in ExtAPI.json</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="comment">// F is considered as external function</span></div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (overwrittenAppFunction == 1)</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  res = 1;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="comment">// overwrittenAppFunction = 0: Execute user-defined functions</span></div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="comment">// F is not considered as external function</span></div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  res = 0;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  }</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  res = 0;</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  }</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span> }</div><div class="ttc" id="classSVF_1_1ExtAPI_html_a5e8b816a3eb894f6b09403852df0d01b"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a5e8b816a3eb894f6b09403852df0d01b">SVF::ExtAPI::is_sameSignature</a></div><div class="ttdeci">bool is_sameSignature(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00477">ExtAPI.cpp:477</a></div></div>
|
|
850
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html_ab672f0255ec8e42d5e414bc8c72b7c76"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">SVF::SVFFunction::isDeclaration</a></div><div class="ttdeci">bool isDeclaration() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
|
|
847
851
|
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
|
|
848
852
|
<div class="ttc" id="classSVF_1_1ExtAPI_html_a411a034f872afcf62ce5456e408ccf41"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a411a034f872afcf62ce5456e408ccf41">SVF::ExtAPI::get_type</a></div><div class="ttdeci">extType get_type(const SVF::SVFFunction *callee)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00375">ExtAPI.cpp:375</a></div></div>
|
|
849
853
|
<div class="ttc" id="classSVF_1_1ExtAPI_html_a5df65081e82a05223ce781660ee199ca"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a5df65081e82a05223ce781660ee199ca">SVF::ExtAPI::extType</a></div><div class="ttdeci">extType</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00108">ExtAPI.h:108</a></div></div>
|
|
@@ -900,6 +904,37 @@ Static Private Attributes</h2></td></tr>
|
|
|
900
904
|
</div><!-- fragment -->
|
|
901
905
|
</div>
|
|
902
906
|
</div>
|
|
907
|
+
<a id="a5e8b816a3eb894f6b09403852df0d01b"></a>
|
|
908
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a5e8b816a3eb894f6b09403852df0d01b">◆ </a></span>is_sameSignature()</h2>
|
|
909
|
+
|
|
910
|
+
<div class="memitem">
|
|
911
|
+
<div class="memproto">
|
|
912
|
+
<table class="memname">
|
|
913
|
+
<tr>
|
|
914
|
+
<td class="memname">bool ExtAPI::is_sameSignature </td>
|
|
915
|
+
<td>(</td>
|
|
916
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
917
|
+
<td class="paramname"><em>F</em></td><td>)</td>
|
|
918
|
+
<td></td>
|
|
919
|
+
</tr>
|
|
920
|
+
</table>
|
|
921
|
+
</div><div class="memdoc">
|
|
922
|
+
|
|
923
|
+
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00477">477</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
924
|
+
<div class="fragment"><div class="line"><a name="l00478"></a><span class="lineno"> 478</span> {</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <a class="code" href="structcJSON.html">cJSON</a> *<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">get_FunJson</a>(F-><a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>());</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="comment">// If return type is pointer</span></div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keywordtype">bool</span> isPointer = <span class="keyword">false</span>;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="comment">// The number of arguments</span></div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> argNum = 0;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="comment">// Get the "return" attribute</span></div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <a class="code" href="structcJSON.html">cJSON</a> *obj = item-><a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">if</span> (strlen(obj-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>) == 0) <span class="comment">// e.g. "return": ""</span></div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"'return' should not be empty!"</span>);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="comment">// If "return": "..." includes "*", the return type of extern function is a pointer</span></div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">if</span> (strstr(obj-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>, <span class="stringliteral">"*"</span>) != <a class="code" href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>)</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  isPointer = <span class="keyword">true</span>;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="comment">// Get the "arguments" attribute</span></div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  obj = obj -> <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">if</span> (strlen(obj-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>) == 0) <span class="comment">// e.g. "arguments": "",</span></div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"'arguments' should not be empty!"</span>);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="comment">// If "arguments": "()", the number of arguments is 0, otherwise, number >= 1;</span></div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">if</span> (strcmp(obj-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>, <span class="stringliteral">"()"</span>) != 0)</div><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>  argNum++;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i < strlen(obj-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>); i++)</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">if</span> (obj-><a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>[i] == <span class="charliteral">','</span>) <span class="comment">// Calculate the number of arguments based on the number of ","</span></div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  argNum++;</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  }</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">if</span> (F-><a class="code" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">arg_size</a>() != argNum) <span class="comment">// The number of arguments is different</span></div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="comment">// Is the return type the same?</span></div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">return</span> F-><a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()->getReturnType()->isPointerTy() == isPointer;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span> }</div><div class="ttc" id="cJSON_8cpp_html_a2599f74bdbbc1b3fd1ba8db3789a0be7"><div class="ttname"><a href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a></div><div class="ttdeci">item next</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02224">cJSON.cpp:2224</a></div></div>
|
|
925
|
+
<div class="ttc" id="classSVF_1_1ExtAPI_html_ab61fbc80acc89e26df2b451cbab81246"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">SVF::ExtAPI::get_FunJson</a></div><div class="ttdeci">cJSON * get_FunJson(const std::string &funName)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00295">ExtAPI.cpp:295</a></div></div>
|
|
926
|
+
<div class="ttc" id="structcJSON_html_ad43f8de2571e504c4c5ce0a36990e6e1"><div class="ttname"><a href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">cJSON::valuestring</a></div><div class="ttdeci">char * valuestring</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00115">cJSON.h:115</a></div></div>
|
|
927
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html_a3757cd3ae587eaca488fa4cd8ad3967d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">SVF::SVFFunction::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00167">BasicTypes.h:167</a></div></div>
|
|
928
|
+
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
|
|
929
|
+
<div class="ttc" id="structcJSON_html"><div class="ttname"><a href="structcJSON.html">cJSON</a></div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00103">cJSON.h:103</a></div></div>
|
|
930
|
+
<div class="ttc" id="structcJSON_html_a401b274c2da358dac5c23ab8b2c71f85"><div class="ttname"><a href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">cJSON::child</a></div><div class="ttdeci">struct cJSON * child</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00109">cJSON.h:109</a></div></div>
|
|
931
|
+
<div class="ttc" id="classSVF_1_1SVFValue_html_a2409c01221b9a6632655cee43d1b35e4"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00253">SVFBasicTypes.h:253</a></div></div>
|
|
932
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00151">BasicTypes.h:151</a></div></div>
|
|
933
|
+
<div class="ttc" id="cJSON_8cpp_html_a1a05ede2ad100bf5de5dfa7ccdfa4397"><div class="ttname"><a href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a></div><div class="ttdeci">return NULL</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01173">cJSON.cpp:1173</a></div></div>
|
|
934
|
+
<div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
935
|
+
</div><!-- fragment -->
|
|
936
|
+
</div>
|
|
937
|
+
</div>
|
|
903
938
|
<a id="a5ef7edb1664ab87f00418e7808d00258"></a>
|
|
904
939
|
<h2 class="memtitle"><span class="permalink"><a href="#a5ef7edb1664ab87f00418e7808d00258">◆ </a></span>isOverwrittenAppFunction()</h2>
|
|
905
940
|
|
|
@@ -917,7 +952,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
917
952
|
</div><div class="memdoc">
|
|
918
953
|
|
|
919
954
|
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00383">383</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
920
|
-
<div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> funName = <a class="code" href="classSVF_1_1ExtAPI.html#ac3e34227968d6a2835d63b1052da3c1a">get_name</a>(callee);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <a class="code" href="structcJSON.html">cJSON</a> *<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">get_FunJson</a>(funName);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="structcJSON.html">cJSON</a> *obj = item-><a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  obj = obj-><a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">if</span> (strcmp(obj-><a class="code" href="structcJSON.html#aa6b47e9a4b0e0a26f519b1a2b6739983">string</a>, <a class="code" href="ExtAPI_8h.html#a6dec9d5ce6e777757e97065129d96874">JSON_OPT_OVERWRITE</a>) == 0)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">return</span> obj-><a class="code" href="structcJSON.html#a369cea49494eb5d4409d532a731a0fbf">valueint</a>;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"The function operation format is illegal!"</span>);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  }</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> }</div><div class="ttc" id="classSVF_1_1ExtAPI_html_ab61fbc80acc89e26df2b451cbab81246"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">SVF::ExtAPI::get_FunJson</a></div><div class="ttdeci">cJSON * get_FunJson(const std::string &funName)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00295">ExtAPI.cpp:295</a></div></div>
|
|
955
|
+
<div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> funName = <a class="code" href="classSVF_1_1ExtAPI.html#ac3e34227968d6a2835d63b1052da3c1a">get_name</a>(callee);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <a class="code" href="structcJSON.html">cJSON</a> *<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">get_FunJson</a>(funName);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="structcJSON.html">cJSON</a> *obj = item-><a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  obj = obj-><a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>-><a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>-><a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">if</span> (strcmp(obj-><a class="code" href="structcJSON.html#aa6b47e9a4b0e0a26f519b1a2b6739983">string</a>, <a class="code" href="ExtAPI_8h.html#a6dec9d5ce6e777757e97065129d96874">JSON_OPT_OVERWRITE</a>) == 0)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">return</span> obj-><a class="code" href="structcJSON.html#a369cea49494eb5d4409d532a731a0fbf">valueint</a>;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"The function operation format is illegal!"</span>);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  }</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> }</div><div class="ttc" id="classSVF_1_1ExtAPI_html_ab61fbc80acc89e26df2b451cbab81246"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ab61fbc80acc89e26df2b451cbab81246">SVF::ExtAPI::get_FunJson</a></div><div class="ttdeci">cJSON * get_FunJson(const std::string &funName)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00295">ExtAPI.cpp:295</a></div></div>
|
|
921
956
|
<div class="ttc" id="structcJSON_html_a369cea49494eb5d4409d532a731a0fbf"><div class="ttname"><a href="structcJSON.html#a369cea49494eb5d4409d532a731a0fbf">cJSON::valueint</a></div><div class="ttdeci">int valueint</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00117">cJSON.h:117</a></div></div>
|
|
922
957
|
<div class="ttc" id="structcJSON_html"><div class="ttname"><a href="structcJSON.html">cJSON</a></div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00103">cJSON.h:103</a></div></div>
|
|
923
958
|
<div class="ttc" id="structcJSON_html_a401b274c2da358dac5c23ab8b2c71f85"><div class="ttname"><a href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">cJSON::child</a></div><div class="ttdeci">struct cJSON * child</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00109">cJSON.h:109</a></div></div>
|
|
@@ -548,12 +548,12 @@ $(function() {
|
|
|
548
548
|
<li>funToModsMap
|
|
549
549
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a2c94bfa19ad8d1d6360b12693c8b891d">SVF::MRGenerator</a>
|
|
550
550
|
</li>
|
|
551
|
-
<li>funToMRsMap
|
|
552
|
-
: <a class="el" href="classSVF_1_1MRGenerator.html#a3e74c3706ffcc14f378771b417dcbb96">SVF::MRGenerator</a>
|
|
553
|
-
</li>
|
|
554
551
|
<li>FunToMRsMap
|
|
555
552
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b">SVF::MRGenerator</a>
|
|
556
553
|
</li>
|
|
554
|
+
<li>funToMRsMap
|
|
555
|
+
: <a class="el" href="classSVF_1_1MRGenerator.html#a3e74c3706ffcc14f378771b417dcbb96">SVF::MRGenerator</a>
|
|
556
|
+
</li>
|
|
557
557
|
<li>FunToNodeBSMap
|
|
558
558
|
: <a class="el" href="classSVF_1_1MRGenerator.html#ab01e492f002c73e2c89eb0b4c8f9647d">SVF::MRGenerator</a>
|
|
559
559
|
</li>
|
|
@@ -367,6 +367,9 @@ $(function() {
|
|
|
367
367
|
<li>is_realloc()
|
|
368
368
|
: <a class="el" href="classSVF_1_1ExtAPI.html#ac6d6bdc51a6b75d6d5741cb751559fe4">SVF::ExtAPI</a>
|
|
369
369
|
</li>
|
|
370
|
+
<li>is_sameSignature()
|
|
371
|
+
: <a class="el" href="classSVF_1_1ExtAPI.html#a5e8b816a3eb894f6b09403852df0d01b">SVF::ExtAPI</a>
|
|
372
|
+
</li>
|
|
370
373
|
<li>isActualOUTPHI()
|
|
371
374
|
: <a class="el" href="classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301">SVF::InterMSSAPHISVFGNode</a>
|
|
372
375
|
</li>
|
|
@@ -595,14 +598,14 @@ $(function() {
|
|
|
595
598
|
, <a class="el" href="classSVF_1_1SrcSnkDDA.html#a391bb031b2f244e930b266a29cda0af7">SVF::SrcSnkDDA</a>
|
|
596
599
|
</li>
|
|
597
600
|
<li>isHareParFor()
|
|
598
|
-
: <a class="el" href="classSVF_1_1ThreadAPI.html#
|
|
601
|
+
: <a class="el" href="classSVF_1_1ThreadAPI.html#a86d75b7e3570337e484397e60f97d88e">SVF::ThreadAPI</a>
|
|
599
602
|
</li>
|
|
600
603
|
<li>isHBPair()
|
|
601
604
|
: <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#a86c68ce5fd8825b1593d92a5a5bad389">SVF::ForkJoinAnalysis</a>
|
|
602
605
|
, <a class="el" href="classSVF_1_1MHP.html#a6f07427b45991b2d8a3ff21582121d23">SVF::MHP</a>
|
|
603
606
|
</li>
|
|
604
607
|
<li>isHeadofSpan()
|
|
605
|
-
: <a class="el" href="classSVF_1_1MTASVFGBuilder.html#
|
|
608
|
+
: <a class="el" href="classSVF_1_1MTASVFGBuilder.html#a5c32c2f5038aab15ec2da50c7c99b405">SVF::MTASVFGBuilder</a>
|
|
606
609
|
</li>
|
|
607
610
|
<li>isHeap()
|
|
608
611
|
: <a class="el" href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">SVF::MemObj</a>
|
|
@@ -975,14 +978,14 @@ $(function() {
|
|
|
975
978
|
: <a class="el" href="classSVF_1_1DDAVFSolver.html#add7daee4a0ecae479a5ab015130c8c93">SVF::DDAVFSolver< CVar, CPtSet, DPIm ></a>
|
|
976
979
|
</li>
|
|
977
980
|
<li>isTailofSpan()
|
|
978
|
-
: <a class="el" href="classSVF_1_1MTASVFGBuilder.html#
|
|
981
|
+
: <a class="el" href="classSVF_1_1MTASVFGBuilder.html#ac8339229ade604f4205b111bfc99f23f">SVF::MTASVFGBuilder</a>
|
|
979
982
|
</li>
|
|
980
983
|
<li>isTDAcquire()
|
|
981
984
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a5521de9933ce74d0954a942dfceae772">SVF::LockAnalysis</a>
|
|
982
|
-
, <a class="el" href="classSVF_1_1ThreadAPI.html#
|
|
985
|
+
, <a class="el" href="classSVF_1_1ThreadAPI.html#a9db4df7968ec179e5012794c58fdee70">SVF::ThreadAPI</a>
|
|
983
986
|
</li>
|
|
984
987
|
<li>isTDBarWait()
|
|
985
|
-
: <a class="el" href="classSVF_1_1ThreadAPI.html#
|
|
988
|
+
: <a class="el" href="classSVF_1_1ThreadAPI.html#af3aa58dc83dca382162df67c12169585">SVF::ThreadAPI</a>
|
|
986
989
|
</li>
|
|
987
990
|
<li>isTDExit()
|
|
988
991
|
: <a class="el" href="classSVF_1_1ThreadAPI.html#ae87d129560d7015966336f06a516db23">SVF::ThreadAPI</a>
|
|
@@ -991,16 +994,16 @@ $(function() {
|
|
|
991
994
|
: <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#aff32f240a03421937c2fc606359dca9b">SVF::ForkJoinAnalysis</a>
|
|
992
995
|
, <a class="el" href="classSVF_1_1LockAnalysis.html#a6e34f3138e8ee558bb00d9d808afba16">SVF::LockAnalysis</a>
|
|
993
996
|
, <a class="el" href="classSVF_1_1MHP.html#aeabf2e9ec8b1ec874503c83cc65e1205">SVF::MHP</a>
|
|
994
|
-
, <a class="el" href="classSVF_1_1ThreadAPI.html#
|
|
997
|
+
, <a class="el" href="classSVF_1_1ThreadAPI.html#a261eb3c2f7e44a81edf4feddfc65a3cc">SVF::ThreadAPI</a>
|
|
995
998
|
</li>
|
|
996
999
|
<li>isTDJoin()
|
|
997
1000
|
: <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#aac722a42dc6e03e771a7a80de5f8ec94">SVF::ForkJoinAnalysis</a>
|
|
998
1001
|
, <a class="el" href="classSVF_1_1MHP.html#ab566508ffd73abd4d5ad047a1d7f9c27">SVF::MHP</a>
|
|
999
|
-
, <a class="el" href="classSVF_1_1ThreadAPI.html#
|
|
1002
|
+
, <a class="el" href="classSVF_1_1ThreadAPI.html#a8cc5f9ff6039392ce1471cd830973c44">SVF::ThreadAPI</a>
|
|
1000
1003
|
</li>
|
|
1001
1004
|
<li>isTDRelease()
|
|
1002
1005
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#ae312fa9ddb320674f7bc31e29aa474ed">SVF::LockAnalysis</a>
|
|
1003
|
-
, <a class="el" href="classSVF_1_1ThreadAPI.html#
|
|
1006
|
+
, <a class="el" href="classSVF_1_1ThreadAPI.html#a1bba2e9df7a74e7e2f728267ff4bfe0f">SVF::ThreadAPI</a>
|
|
1004
1007
|
</li>
|
|
1005
1008
|
<li>isTemplate()
|
|
1006
1009
|
: <a class="el" href="classSVF_1_1CHNode.html#aff23fda93401c60422a4a5a08d77d749">SVF::CHNode</a>
|
|
@@ -658,7 +658,7 @@ $(function() {
|
|
|
658
658
|
: <a class="el" href="classSVF_1_1SymbolTableInfo.html#aff272bc1d00f2e57b7677d1826a31237">SVF::SymbolTableInfo</a>
|
|
659
659
|
</li>
|
|
660
660
|
<li>SymState()
|
|
661
|
-
: <a class="el" href="classSVF_1_1SymState.html#
|
|
661
|
+
: <a class="el" href="classSVF_1_1SymState.html#aee986d8fbccf71a606284d8467f450e4">SVF::SymState</a>
|
|
662
662
|
</li>
|
|
663
663
|
<li>szudzik()
|
|
664
664
|
: <a class="el" href="structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html#adf5f19b1b32c117571fe74035cdcdbe2">SVF::Hash< std::pair< S, T > ></a>
|
|
@@ -669,6 +669,9 @@ $(function() {
|
|
|
669
669
|
<li>is_realloc()
|
|
670
670
|
: <a class="el" href="classSVF_1_1ExtAPI.html#ac6d6bdc51a6b75d6d5741cb751559fe4">SVF::ExtAPI</a>
|
|
671
671
|
</li>
|
|
672
|
+
<li>is_sameSignature()
|
|
673
|
+
: <a class="el" href="classSVF_1_1ExtAPI.html#a5e8b816a3eb894f6b09403852df0d01b">SVF::ExtAPI</a>
|
|
674
|
+
</li>
|
|
672
675
|
<li>isActualOUTPHI()
|
|
673
676
|
: <a class="el" href="classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301">SVF::InterMSSAPHISVFGNode</a>
|
|
674
677
|
</li>
|
|
@@ -836,7 +839,7 @@ $(function() {
|
|
|
836
839
|
, <a class="el" href="classSVF_1_1SaberCondAllocator.html#aa9027574586fd4fbb12039f595ecec71">SVF::SaberCondAllocator</a>
|
|
837
840
|
</li>
|
|
838
841
|
<li>isFClose()
|
|
839
|
-
: <a class="el" href="classSVF_1_1SaberCheckerAPI.html#
|
|
842
|
+
: <a class="el" href="classSVF_1_1SaberCheckerAPI.html#ad029e2f347ee2aeb5b0abb928a552789">SVF::SaberCheckerAPI</a>
|
|
840
843
|
</li>
|
|
841
844
|
<li>isFieldInsenCondMemObj()
|
|
842
845
|
: <a class="el" href="classSVF_1_1DDAVFSolver.html#a37a6321f50bef2939b287cc088e76170">SVF::DDAVFSolver< CVar, CPtSet, DPIm ></a>
|
|
@@ -964,7 +967,7 @@ $(function() {
|
|
|
964
967
|
: <a class="el" href="classSVF_1_1CxtThread.html#a39230596cd1c927353eaaee071eb16c6">SVF::CxtThread</a>
|
|
965
968
|
</li>
|
|
966
969
|
<li>isInLoop()
|
|
967
|
-
: <a class="el" href="classSVF_1_1ICFG.html#
|
|
970
|
+
: <a class="el" href="classSVF_1_1ICFG.html#ae115e70bf53f25c0ca6b1f22acccf5b5">SVF::ICFG</a>
|
|
968
971
|
, <a class="el" href="classSVF_1_1SVFLoop.html#af2433fcc43f4e22fdf97ca2672a5dfa3">SVF::SVFLoop</a>
|
|
969
972
|
</li>
|
|
970
973
|
<li>isInloop()
|
|
@@ -1295,14 +1298,14 @@ $(function() {
|
|
|
1295
1298
|
: <a class="el" href="classSVF_1_1DDAVFSolver.html#add7daee4a0ecae479a5ab015130c8c93">SVF::DDAVFSolver< CVar, CPtSet, DPIm ></a>
|
|
1296
1299
|
</li>
|
|
1297
1300
|
<li>isTailofSpan()
|
|
1298
|
-
: <a class="el" href="classSVF_1_1MTASVFGBuilder.html#
|
|
1301
|
+
: <a class="el" href="classSVF_1_1MTASVFGBuilder.html#a9c8681767551575a18ee141f7336db05">SVF::MTASVFGBuilder</a>
|
|
1299
1302
|
</li>
|
|
1300
1303
|
<li>isTDAcquire()
|
|
1301
1304
|
: <a class="el" href="classSVF_1_1LockAnalysis.html#a5521de9933ce74d0954a942dfceae772">SVF::LockAnalysis</a>
|
|
1302
1305
|
, <a class="el" href="classSVF_1_1ThreadAPI.html#a608f0cb60a665745748b6a6654a6e837">SVF::ThreadAPI</a>
|
|
1303
1306
|
</li>
|
|
1304
1307
|
<li>isTDBarWait()
|
|
1305
|
-
: <a class="el" href="classSVF_1_1ThreadAPI.html#
|
|
1308
|
+
: <a class="el" href="classSVF_1_1ThreadAPI.html#af3aa58dc83dca382162df67c12169585">SVF::ThreadAPI</a>
|
|
1306
1309
|
</li>
|
|
1307
1310
|
<li>isTDExit()
|
|
1308
1311
|
: <a class="el" href="classSVF_1_1ThreadAPI.html#a22d6c0cf0ba19af0661b106a8859024f">SVF::ThreadAPI</a>
|
|
@@ -1311,7 +1314,7 @@ $(function() {
|
|
|
1311
1314
|
: <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#aff32f240a03421937c2fc606359dca9b">SVF::ForkJoinAnalysis</a>
|
|
1312
1315
|
, <a class="el" href="classSVF_1_1LockAnalysis.html#a6e34f3138e8ee558bb00d9d808afba16">SVF::LockAnalysis</a>
|
|
1313
1316
|
, <a class="el" href="classSVF_1_1MHP.html#aeabf2e9ec8b1ec874503c83cc65e1205">SVF::MHP</a>
|
|
1314
|
-
, <a class="el" href="classSVF_1_1ThreadAPI.html#
|
|
1317
|
+
, <a class="el" href="classSVF_1_1ThreadAPI.html#a9da276dca5092d18f4f22d32e5ab6cdf">SVF::ThreadAPI</a>
|
|
1315
1318
|
</li>
|
|
1316
1319
|
<li>isTDJoin()
|
|
1317
1320
|
: <a class="el" href="classSVF_1_1ForkJoinAnalysis.html#aac722a42dc6e03e771a7a80de5f8ec94">SVF::ForkJoinAnalysis</a>
|
|
@@ -116,12 +116,12 @@ $(function() {
|
|
|
116
116
|
<li>LLVMLoopAnalysis()
|
|
117
117
|
: <a class="el" href="classSVF_1_1LLVMLoopAnalysis.html#a93161bbdb47c74fce1d8e54a45df2df8">SVF::LLVMLoopAnalysis</a>
|
|
118
118
|
</li>
|
|
119
|
-
<li>llvmModuleSet
|
|
120
|
-
: <a class="el" href="classSVF_1_1LLVMModuleSet.html#ac59b07cafcbacc950eefea4082425b63">SVF::LLVMModuleSet</a>
|
|
121
|
-
</li>
|
|
122
119
|
<li>LLVMModuleSet()
|
|
123
120
|
: <a class="el" href="classSVF_1_1LLVMModuleSet.html#a8e70de9eefe2e188b10e214e073750e6">SVF::LLVMModuleSet</a>
|
|
124
121
|
</li>
|
|
122
|
+
<li>llvmModuleSet
|
|
123
|
+
: <a class="el" href="classSVF_1_1LLVMModuleSet.html#ac59b07cafcbacc950eefea4082425b63">SVF::LLVMModuleSet</a>
|
|
124
|
+
</li>
|
|
125
125
|
<li>Load
|
|
126
126
|
: <a class="el" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a1bdeb9a06641d16b43391120812b40b2">SVF::ConstraintEdge</a>
|
|
127
127
|
</li>
|
|
@@ -172,18 +172,18 @@ $(function() {
|
|
|
172
172
|
<li>LoadStmt()
|
|
173
173
|
: <a class="el" href="classSVF_1_1LoadStmt.html#a4bd939005c7c6a5da4ed3b6be6ef1a22">SVF::LoadStmt</a>
|
|
174
174
|
</li>
|
|
175
|
-
<li>LoadsToMRsMap
|
|
176
|
-
: <a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">SVF::MRGenerator</a>
|
|
177
|
-
</li>
|
|
178
175
|
<li>loadsToMRsMap
|
|
179
176
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a0d8229b1f0b8428708e923d19096e4ba">SVF::MRGenerator</a>
|
|
180
177
|
</li>
|
|
181
|
-
<li>
|
|
182
|
-
: <a class="el" href="classSVF_1_1MRGenerator.html#
|
|
178
|
+
<li>LoadsToMRsMap
|
|
179
|
+
: <a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">SVF::MRGenerator</a>
|
|
183
180
|
</li>
|
|
184
181
|
<li>LoadsToPointsToMap
|
|
185
182
|
: <a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">SVF::MRGenerator</a>
|
|
186
183
|
</li>
|
|
184
|
+
<li>loadsToPointsToMap
|
|
185
|
+
: <a class="el" href="classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975">SVF::MRGenerator</a>
|
|
186
|
+
</li>
|
|
187
187
|
<li>loadTime
|
|
188
188
|
: <a class="el" href="classSVF_1_1FlowSensitive.html#aab4f70210eb1e6447a24697d3b459067">SVF::FlowSensitive</a>
|
|
189
189
|
</li>
|
|
@@ -456,12 +456,12 @@ $(function() {
|
|
|
456
456
|
<li>opVarBegin()
|
|
457
457
|
: <a class="el" href="classSVF_1_1MultiOpndStmt.html#abebed8985cb4d4d1361c42e5454c90b9">SVF::MultiOpndStmt</a>
|
|
458
458
|
</li>
|
|
459
|
-
<li>OPVars
|
|
460
|
-
: <a class="el" href="classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007">SVF::MultiOpndStmt</a>
|
|
461
|
-
</li>
|
|
462
459
|
<li>opVars
|
|
463
460
|
: <a class="el" href="classSVF_1_1MultiOpndStmt.html#a172025849492f4de8f87564ef08f5880">SVF::MultiOpndStmt</a>
|
|
464
461
|
</li>
|
|
462
|
+
<li>OPVars
|
|
463
|
+
: <a class="el" href="classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007">SVF::MultiOpndStmt</a>
|
|
464
|
+
</li>
|
|
465
465
|
<li>opVer
|
|
466
466
|
: <a class="el" href="classSVF_1_1MSSACHI.html#a86f2f3f6e2215cdbe31caee048510757">SVF::MSSACHI< Cond ></a>
|
|
467
467
|
</li>
|
|
@@ -86,12 +86,12 @@ $(function() {
|
|
|
86
86
|
<li>PAGEdgeSetTy
|
|
87
87
|
: <a class="el" href="classSVF_1_1SVFStmt.html#a2bdfa37167b5496629e5cae62705d5f2">SVF::SVFStmt</a>
|
|
88
88
|
</li>
|
|
89
|
-
<li>pagEdgeToFunMap
|
|
90
|
-
: <a class="el" href="classSVF_1_1MRGenerator.html#ab250a4950269f57027d8e8ef10089f58">SVF::MRGenerator</a>
|
|
91
|
-
</li>
|
|
92
89
|
<li>PAGEdgeToFunMap
|
|
93
90
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a82be01b460a498c07fb6a8aba853ed31">SVF::MRGenerator</a>
|
|
94
91
|
</li>
|
|
92
|
+
<li>pagEdgeToFunMap
|
|
93
|
+
: <a class="el" href="classSVF_1_1MRGenerator.html#ab250a4950269f57027d8e8ef10089f58">SVF::MRGenerator</a>
|
|
94
|
+
</li>
|
|
95
95
|
<li>PAGEdgeToSetMapTy
|
|
96
96
|
: <a class="el" href="classSVF_1_1SVFStmt.html#a229c78147511f2a581c761552179b6fa">SVF::SVFStmt</a>
|
|
97
97
|
</li>
|
|
@@ -908,18 +908,18 @@ $(function() {
|
|
|
908
908
|
<li>ptrsInUncalledFunctions
|
|
909
909
|
: <a class="el" href="classSVF_1_1SVFModule.html#a816a7065cd2cf664626ee023f9dfbd1d">SVF::SVFModule</a>
|
|
910
910
|
</li>
|
|
911
|
-
<li>ptrToBVPtsMap
|
|
912
|
-
: <a class="el" href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">SVF::CondPTAImpl< Cond ></a>
|
|
913
|
-
</li>
|
|
914
911
|
<li>PtrToBVPtsMap
|
|
915
912
|
: <a class="el" href="classSVF_1_1CondPTAImpl.html#aba828ca8e2aa2bd71b78be8b45a48c9b">SVF::CondPTAImpl< Cond ></a>
|
|
916
913
|
</li>
|
|
917
|
-
<li>
|
|
918
|
-
: <a class="el" href="classSVF_1_1CondPTAImpl.html#
|
|
914
|
+
<li>ptrToBVPtsMap
|
|
915
|
+
: <a class="el" href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">SVF::CondPTAImpl< Cond ></a>
|
|
919
916
|
</li>
|
|
920
917
|
<li>PtrToCPtsMap
|
|
921
918
|
: <a class="el" href="classSVF_1_1CondPTAImpl.html#a5043e9d9255d31777d038c48c809bb09">SVF::CondPTAImpl< Cond ></a>
|
|
922
919
|
</li>
|
|
920
|
+
<li>ptrToCPtsMap
|
|
921
|
+
: <a class="el" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl< Cond ></a>
|
|
922
|
+
</li>
|
|
923
923
|
<li>PtrToNSMap
|
|
924
924
|
: <a class="el" href="classSVF_1_1CondPTAImpl.html#a838c3f2be39d278072f7a9df7c0bcb4d">SVF::CondPTAImpl< Cond ></a>
|
|
925
925
|
</li>
|
|
@@ -807,12 +807,12 @@ $(function() {
|
|
|
807
807
|
<li>StoresToMRsMap
|
|
808
808
|
: <a class="el" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c">SVF::MRGenerator</a>
|
|
809
809
|
</li>
|
|
810
|
-
<li>storesToPointsToMap
|
|
811
|
-
: <a class="el" href="classSVF_1_1MRGenerator.html#a7d86f708743a59aa31c0a9fd6de45dac">SVF::MRGenerator</a>
|
|
812
|
-
</li>
|
|
813
810
|
<li>StoresToPointsToMap
|
|
814
811
|
: <a class="el" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">SVF::MRGenerator</a>
|
|
815
812
|
</li>
|
|
813
|
+
<li>storesToPointsToMap
|
|
814
|
+
: <a class="el" href="classSVF_1_1MRGenerator.html#a7d86f708743a59aa31c0a9fd6de45dac">SVF::MRGenerator</a>
|
|
815
|
+
</li>
|
|
816
816
|
<li>storeTime
|
|
817
817
|
: <a class="el" href="classSVF_1_1FlowSensitive.html#a82b76087363b26fbe749653935569de7">SVF::FlowSensitive</a>
|
|
818
818
|
</li>
|
|
@@ -896,7 +896,7 @@ $(function() {
|
|
|
896
896
|
: <a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVF::SVFValue</a>
|
|
897
897
|
</li>
|
|
898
898
|
<li>SVFFunction()
|
|
899
|
-
: <a class="el" href="classSVF_1_1SVFFunction.html#
|
|
899
|
+
: <a class="el" href="classSVF_1_1SVFFunction.html#aed73a0604a9fc5b6560ce87cfeaa3944">SVF::SVFFunction</a>
|
|
900
900
|
</li>
|
|
901
901
|
<li>svfg
|
|
902
902
|
: <a class="el" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive</a>
|
|
@@ -1122,7 +1122,7 @@ $(function() {
|
|
|
1122
1122
|
, <a class="el" href="classSVF_1_1SymbolTableInfo.html#a4fbb8ea4b4796d10d13c027b7455505c">SVF::SymbolTableInfo</a>
|
|
1123
1123
|
</li>
|
|
1124
1124
|
<li>SymState()
|
|
1125
|
-
: <a class="el" href="classSVF_1_1SymState.html#
|
|
1125
|
+
: <a class="el" href="classSVF_1_1SymState.html#a74011f042d561221c30fcd176490abad">SVF::SymState</a>
|
|
1126
1126
|
</li>
|
|
1127
1127
|
<li>SymTabPrint
|
|
1128
1128
|
: <a class="el" href="classSVF_1_1Options.html#abbfd1d7e985483c486394d8db85b6a85">SVF::Options</a>
|
|
@@ -358,12 +358,12 @@ $(function() {
|
|
|
358
358
|
<li>timeOfUpdateCallGraph
|
|
359
359
|
: <a class="el" href="classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b">SVF::AndersenBase</a>
|
|
360
360
|
</li>
|
|
361
|
-
<li>TIMEStatMap
|
|
362
|
-
: <a class="el" href="classSVF_1_1SVFStat.html#aeded7780a3f826b3efab971807e2dd98">SVF::SVFStat</a>
|
|
363
|
-
</li>
|
|
364
361
|
<li>timeStatMap
|
|
365
362
|
: <a class="el" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">SVF::SVFStat</a>
|
|
366
363
|
</li>
|
|
364
|
+
<li>TIMEStatMap
|
|
365
|
+
: <a class="el" href="classSVF_1_1SVFStat.html#aeded7780a3f826b3efab971807e2dd98">SVF::SVFStat</a>
|
|
366
|
+
</li>
|
|
367
367
|
<li>TInterPhi
|
|
368
368
|
: <a class="el" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aa501e9891cbacea3950d80aa6071ec69">SVF::VFGNode</a>
|
|
369
369
|
</li>
|
|
@@ -131,12 +131,12 @@ $(function() {
|
|
|
131
131
|
<li>valuestring
|
|
132
132
|
: <a class="el" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">cJSON</a>
|
|
133
133
|
</li>
|
|
134
|
-
<li>ValueToEdgeMap
|
|
135
|
-
: <a class="el" href="classSVF_1_1IRGraph.html#addfc2131699f5ecee3a45d65cda46c24">SVF::IRGraph</a>
|
|
136
|
-
</li>
|
|
137
134
|
<li>valueToEdgeMap
|
|
138
135
|
: <a class="el" href="classSVF_1_1IRGraph.html#a1308b5d3001c6676e8a8be6a8b118704">SVF::IRGraph</a>
|
|
139
136
|
</li>
|
|
137
|
+
<li>ValueToEdgeMap
|
|
138
|
+
: <a class="el" href="classSVF_1_1IRGraph.html#addfc2131699f5ecee3a45d65cda46c24">SVF::IRGraph</a>
|
|
139
|
+
</li>
|
|
140
140
|
<li>ValueToIDMapTy
|
|
141
141
|
: <a class="el" href="classSVF_1_1SymbolTableInfo.html#a03a11c48d748990ddac1ac5866ecb48e">SVF::SymbolTableInfo</a>
|
|
142
142
|
</li>
|