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.
Files changed (35) hide show
  1. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -2
  2. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -2
  3. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +1 -1
  4. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +5 -4
  5. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +40 -5
  6. package/SVF-doxygen/html/html/functions_f.html +3 -3
  7. package/SVF-doxygen/html/html/functions_func_i.html +11 -8
  8. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  9. package/SVF-doxygen/html/html/functions_i.html +8 -5
  10. package/SVF-doxygen/html/html/functions_l.html +8 -8
  11. package/SVF-doxygen/html/html/functions_o.html +3 -3
  12. package/SVF-doxygen/html/html/functions_p.html +8 -8
  13. package/SVF-doxygen/html/html/functions_s.html +5 -5
  14. package/SVF-doxygen/html/html/functions_t.html +3 -3
  15. package/SVF-doxygen/html/html/functions_v.html +3 -3
  16. package/SVF-doxygen/html/html/functions_w.html +11 -11
  17. package/SVF-doxygen/html/html/search/all_10.js +7 -7
  18. package/SVF-doxygen/html/html/search/all_11.js +1 -1
  19. package/SVF-doxygen/html/html/search/all_12.js +8 -8
  20. package/SVF-doxygen/html/html/search/all_13.js +3 -3
  21. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  22. package/SVF-doxygen/html/html/search/all_15.js +3 -3
  23. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  24. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  25. package/SVF-doxygen/html/html/search/all_9.js +1 -0
  26. package/SVF-doxygen/html/html/search/all_c.js +4 -4
  27. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  28. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  29. package/SVF-doxygen/html/html/search/functions_8.js +1 -0
  30. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  31. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  32. package/include/Util/ExtAPI.h +3 -0
  33. package/include/Util/ExtAPI.json +1456 -44
  34. package/lib/Util/ExtAPI.cpp +42 -4
  35. 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">&#160;</td></tr>
179
179
  <tr class="memitem:ac6d6bdc51a6b75d6d5741cb751559fe4"><td class="memItemLeft" align="right" valign="top">bool&#160;</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">&#160;</td></tr>
181
+ <tr class="memitem:a5e8b816a3eb894f6b09403852df0d01b"><td class="memItemLeft" align="right" valign="top">bool&#160;</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">&#160;</td></tr>
181
183
  <tr class="memitem:a21f45c806672255c044d39490990eae2"><td class="memItemLeft" align="right" valign="top">bool&#160;</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">&#160;</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>&#160;{</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <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>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="comment">// Get the first operation of the function</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *obj = item-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span> (strcmp(obj-&gt;<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>&#160; type = obj-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;The function operation format is illegal!&quot;</span>);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; std::map&lt;std::string, extType&gt;::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>&#160; <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>&#160; <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>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;}</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>&#160;{</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <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>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="comment">// Get the first operation of the function</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *obj = item-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span> (strcmp(obj-&gt;<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>&#160; type = obj-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;The function operation format is illegal!&quot;</span>);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; std::map&lt;std::string, extType&gt;::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>&#160; <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>&#160; <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>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;}</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 &amp;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&lt; std::string, extType &gt; 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>&#160;{</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; std::vector&lt;ExtAPI::Operation&gt; allOperations;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <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>&#160; <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *obj = item-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="comment">// Get the first operation of the function</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; obj = obj -&gt; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> -&gt; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; std::vector&lt;ExtAPI::Operation *&gt; operations;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">while</span> (obj)</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; {</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <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>&#160; std::vector&lt;std::string&gt; operandsStr;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; std::map&lt;std::string, NodeID&gt; opMap;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="structcJSON.html#ab13084c574681593b12f6e0a3db0dcfc">type</a> == <a class="code" href="cJSON_8h.html#a22c6e13481c090629afbd77b7cebd24c">cJSON_Object</a> || obj-&gt;<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>&#160; {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; op = <a class="code" href="classSVF_1_1ExtAPI.html#a1930d622cd47f7fd875e1964b65ec506">get_opName</a>(obj -&gt; <span class="keywordtype">string</span>);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *value = obj-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; std::vector&lt;std::string&gt; args;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">while</span> (value)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">if</span> (value-&gt;<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>&#160; {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; operandsStr.push_back(value-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; value = value-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; }</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <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>&#160; allOperations.push_back(operation);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; operations.clear();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; obj = obj -&gt; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">return</span> allOperations;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;}</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>&#160;{</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; std::vector&lt;ExtAPI::Operation&gt; allOperations;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <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>&#160; <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *obj = item-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="comment">// Get the first operation of the function</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; obj = obj -&gt; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> -&gt; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> -&gt; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> -&gt; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; std::vector&lt;ExtAPI::Operation *&gt; operations;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">while</span> (obj)</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; {</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <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>&#160; std::vector&lt;std::string&gt; operandsStr;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; std::map&lt;std::string, NodeID&gt; opMap;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="structcJSON.html#ab13084c574681593b12f6e0a3db0dcfc">type</a> == <a class="code" href="cJSON_8h.html#a22c6e13481c090629afbd77b7cebd24c">cJSON_Object</a> || obj-&gt;<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>&#160; {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; op = <a class="code" href="classSVF_1_1ExtAPI.html#a1930d622cd47f7fd875e1964b65ec506">get_opName</a>(obj -&gt; <span class="keywordtype">string</span>);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *value = obj-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; std::vector&lt;std::string&gt; args;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">while</span> (value)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">if</span> (value-&gt;<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>&#160; {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; operandsStr.push_back(value-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; value = value-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; }</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <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>&#160; allOperations.push_back(operation);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; operations.clear();</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; obj = obj -&gt; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">return</span> allOperations;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;}</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 &amp;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#l00478">478</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
846
- <div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;{</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; assert(F);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordtype">bool</span> res;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">if</span> (F-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>() || F-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>())</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; res = 1;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; }</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; {</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <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="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">if</span> (t != <a class="code" href="classSVF_1_1ExtAPI.html#a5df65081e82a05223ce781660ee199caa7ad779bd3527f7cd220ca74c736fd2df">EFT_NULL</a>)</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; {</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <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="l00492"></a><span class="lineno"> 492</span>&#160; <span class="comment">// overwrittenAppFunction = 1: Execute function specification in ExtAPI.json</span></div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="comment">// F is considered as external function</span></div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">if</span> (overwrittenAppFunction == 1)</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; res = 1;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="comment">// overwrittenAppFunction = 0: Execute user-defined functions</span></div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="comment">// F is not considered as external function</span></div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; res = 0;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; }</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; res = 0;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;}</div><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>
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>&#160;{</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; assert(F);</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordtype">bool</span> res;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">if</span> (F-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>() || F-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>())</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; res = 1;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; {</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <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>&#160; <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>&#160; {</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <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>&#160; <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>&#160; res = 0;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <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>&#160; <span class="comment">// F is considered as external function</span></div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <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>&#160; res = 1;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="comment">// overwrittenAppFunction = 0: Execute user-defined functions</span></div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="comment">// F is not considered as external function</span></div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; res = 0;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; }</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; res = 0;</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; }</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;}</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">&#9670;&nbsp;</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> *&#160;</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>&#160;{</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <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-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>());</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="comment">// If return type is pointer</span></div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordtype">bool</span> isPointer = <span class="keyword">false</span>;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="comment">// The number of arguments</span></div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <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>&#160; <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="comment">// Get the &quot;return&quot; attribute</span></div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *obj = item-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">if</span> (strlen(obj-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>) == 0) <span class="comment">// e.g. &quot;return&quot;: &quot;&quot;</span></div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;&#39;return&#39; should not be empty!&quot;</span>);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="comment">// If &quot;return&quot;: &quot;...&quot; includes &quot;*&quot;, the return type of extern function is a pointer</span></div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span> (strstr(obj-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>, <span class="stringliteral">&quot;*&quot;</span>) != <a class="code" href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>)</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; isPointer = <span class="keyword">true</span>;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="comment">// Get the &quot;arguments&quot; attribute</span></div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; obj = obj -&gt; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">if</span> (strlen(obj-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>) == 0) <span class="comment">// e.g. &quot;arguments&quot;: &quot;&quot;,</span></div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;&#39;arguments&#39; should not be empty!&quot;</span>);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="comment">// If &quot;arguments&quot;: &quot;()&quot;, the number of arguments is 0, otherwise, number &gt;= 1;</span></div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">if</span> (strcmp(obj-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>, <span class="stringliteral">&quot;()&quot;</span>) != 0)</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; argNum++;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; strlen(obj-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>); i++)</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="structcJSON.html#ad43f8de2571e504c4c5ce0a36990e6e1">valuestring</a>[i] == <span class="charliteral">&#39;,&#39;</span>) <span class="comment">// Calculate the number of arguments based on the number of &quot;,&quot;</span></div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; argNum++;</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; }</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">if</span> (F-&gt;<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>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="comment">// Is the return type the same?</span></div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> F-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()-&gt;getReturnType()-&gt;isPointerTy() == isPointer;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;}</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 &amp;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">&#9670;&nbsp;</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>&#160;{</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <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>&#160; <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>&#160; <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *obj = item-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; obj = obj-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span> (strcmp(obj-&gt;<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>&#160; <span class="keywordflow">return</span> obj-&gt;<a class="code" href="structcJSON.html#a369cea49494eb5d4409d532a731a0fbf">valueint</a>;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;The function operation format is illegal!&quot;</span>);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;}</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 &amp;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>&#160;{</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <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>&#160; <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>&#160; <span class="keywordflow">if</span> (item != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *obj = item-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; obj = obj-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span> (strcmp(obj-&gt;<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>&#160; <span class="keywordflow">return</span> obj-&gt;<a class="code" href="structcJSON.html#a369cea49494eb5d4409d532a731a0fbf">valueint</a>;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;The function operation format is illegal!&quot;</span>);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;}</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 &amp;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#adb944c2287cf7686a03b0e53a03ba025">SVF::ThreadAPI</a>
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#ad0c3ea19875191721cd466fe85b91a8c">SVF::MTASVFGBuilder</a>
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&lt; CVar, CPtSet, DPIm &gt;</a>
976
979
  </li>
977
980
  <li>isTailofSpan()
978
- : <a class="el" href="classSVF_1_1MTASVFGBuilder.html#a9c8681767551575a18ee141f7336db05">SVF::MTASVFGBuilder</a>
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#a608f0cb60a665745748b6a6654a6e837">SVF::ThreadAPI</a>
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#a0ff50b4312b9aa2c7ebd00e9a40a2668">SVF::ThreadAPI</a>
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#a9da276dca5092d18f4f22d32e5ab6cdf">SVF::ThreadAPI</a>
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#a50e56d63c6d713ac34b4006d248f880b">SVF::ThreadAPI</a>
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#a38adae633d5aceddcca3b3a23ad66db9">SVF::ThreadAPI</a>
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#a74011f042d561221c30fcd176490abad">SVF::SymState</a>
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&lt; std::pair&lt; S, T &gt; &gt;</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#a534bfe077af19b111c1b7bc3c5a065e6">SVF::SaberCheckerAPI</a>
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&lt; CVar, CPtSet, DPIm &gt;</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#a31db72814524d1b6581999c4b93dd696">SVF::ICFG</a>
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&lt; CVar, CPtSet, DPIm &gt;</a>
1296
1299
  </li>
1297
1300
  <li>isTailofSpan()
1298
- : <a class="el" href="classSVF_1_1MTASVFGBuilder.html#ac8339229ade604f4205b111bfc99f23f">SVF::MTASVFGBuilder</a>
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#a0ff50b4312b9aa2c7ebd00e9a40a2668">SVF::ThreadAPI</a>
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#a261eb3c2f7e44a81edf4feddfc65a3cc">SVF::ThreadAPI</a>
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>loadsToPointsToMap
182
- : <a class="el" href="classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975">SVF::MRGenerator</a>
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&lt; Cond &gt;</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&lt; Cond &gt;</a>
913
- </li>
914
911
  <li>PtrToBVPtsMap
915
912
  : <a class="el" href="classSVF_1_1CondPTAImpl.html#aba828ca8e2aa2bd71b78be8b45a48c9b">SVF::CondPTAImpl&lt; Cond &gt;</a>
916
913
  </li>
917
- <li>ptrToCPtsMap
918
- : <a class="el" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl&lt; Cond &gt;</a>
914
+ <li>ptrToBVPtsMap
915
+ : <a class="el" href="classSVF_1_1CondPTAImpl.html#a30b9ee7b1dcd04285f92cf7accd05b2e">SVF::CondPTAImpl&lt; Cond &gt;</a>
919
916
  </li>
920
917
  <li>PtrToCPtsMap
921
918
  : <a class="el" href="classSVF_1_1CondPTAImpl.html#a5043e9d9255d31777d038c48c809bb09">SVF::CondPTAImpl&lt; Cond &gt;</a>
922
919
  </li>
920
+ <li>ptrToCPtsMap
921
+ : <a class="el" href="classSVF_1_1CondPTAImpl.html#a61167fcdb2005090de1b38e53450431a">SVF::CondPTAImpl&lt; Cond &gt;</a>
922
+ </li>
923
923
  <li>PtrToNSMap
924
924
  : <a class="el" href="classSVF_1_1CondPTAImpl.html#a838c3f2be39d278072f7a9df7c0bcb4d">SVF::CondPTAImpl&lt; Cond &gt;</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#a9f26d10b95201148e0ef54ee7ad9e022">SVF::SVFFunction</a>
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#aee986d8fbccf71a606284d8467f450e4">SVF::SymState</a>
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>