svf-tools 1.0.877 → 1.0.879
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/SVF-doxygen/html/CppUtil_8cpp.html +74 -74
- package/SVF-doxygen/html/CppUtil_8cpp_source.html +207 -208
- package/SVF-doxygen/html/CppUtil_8h_source.html +9 -9
- package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +6 -6
- package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +116 -117
- package/docs/images/svf_logo_1.png +0 -0
- package/docs/images/svf_logo_2.png +0 -0
- package/index.html +1 -0
- package/package.json +1 -1
- package/svf-llvm/lib/CppUtil.cpp +0 -1
|
@@ -686,226 +686,225 @@ $(function() {
|
|
|
686
686
|
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  {</div>
|
|
687
687
|
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="comment">// c++ constructor</span></div>
|
|
688
688
|
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html">DemangledName</a> demangledName = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">cppUtil::demangle</a>(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>);</div>
|
|
689
|
-
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <a class="code" href="
|
|
690
|
-
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> 
|
|
691
|
-
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> 
|
|
692
|
-
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> 
|
|
693
|
-
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> 
|
|
694
|
-
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <
|
|
695
|
-
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> 
|
|
696
|
-
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> 
|
|
697
|
-
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> 
|
|
698
|
-
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  }
|
|
699
|
-
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> 
|
|
700
|
-
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> 
|
|
701
|
-
<div class="line"><a name="
|
|
702
|
-
<div class="line"><a name="l00661"></a><span class="lineno"
|
|
703
|
-
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> 
|
|
704
|
-
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> 
|
|
705
|
-
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  std::
|
|
706
|
-
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  std::vector<
|
|
707
|
-
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> 
|
|
708
|
-
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  </div>
|
|
709
|
-
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> 
|
|
710
|
-
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> 
|
|
711
|
-
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> 
|
|
712
|
-
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> 
|
|
713
|
-
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> 
|
|
714
|
-
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> 
|
|
715
|
-
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> 
|
|
716
|
-
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> 
|
|
717
|
-
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> 
|
|
718
|
-
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> 
|
|
719
|
-
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> 
|
|
720
|
-
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> 
|
|
721
|
-
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  </div>
|
|
722
|
-
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="
|
|
723
|
-
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="
|
|
724
|
-
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> 
|
|
725
|
-
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> 
|
|
726
|
-
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> 
|
|
727
|
-
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> 
|
|
728
|
-
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> 
|
|
729
|
-
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> 
|
|
730
|
-
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> 
|
|
731
|
-
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  </div>
|
|
732
|
-
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> 
|
|
733
|
-
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> 
|
|
734
|
-
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> 
|
|
735
|
-
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> 
|
|
736
|
-
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> 
|
|
737
|
-
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> 
|
|
738
|
-
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> 
|
|
739
|
-
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> 
|
|
740
|
-
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  std::
|
|
741
|
-
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> 
|
|
742
|
-
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> 
|
|
743
|
-
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> 
|
|
744
|
-
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> 
|
|
745
|
-
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> 
|
|
746
|
-
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> 
|
|
747
|
-
<div class="line"><a name="
|
|
748
|
-
<div class="line"><a name="l00712"></a><span class="lineno"
|
|
749
|
-
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> 
|
|
750
|
-
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> 
|
|
751
|
-
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> 
|
|
752
|
-
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> 
|
|
753
|
-
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> 
|
|
754
|
-
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> 
|
|
755
|
-
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> 
|
|
756
|
-
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> 
|
|
757
|
-
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> 
|
|
758
|
-
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  </div>
|
|
759
|
-
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> 
|
|
760
|
-
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> 
|
|
761
|
-
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  </div>
|
|
762
|
-
<div class="line"><a name="l00726"></a><span class="lineno"
|
|
763
|
-
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> 
|
|
764
|
-
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> 
|
|
765
|
-
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> 
|
|
766
|
-
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  </div>
|
|
767
|
-
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> 
|
|
768
|
-
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> 
|
|
769
|
-
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> 
|
|
770
|
-
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> 
|
|
771
|
-
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> 
|
|
772
|
-
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  </div>
|
|
773
|
-
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> 
|
|
774
|
-
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  </div>
|
|
775
|
-
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> 
|
|
776
|
-
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> 
|
|
777
|
-
<div class="line"><a name="
|
|
778
|
-
<div class="line"><a name="l00747"></a><span class="lineno"
|
|
779
|
-
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> 
|
|
780
|
-
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="comment">// "std::
|
|
781
|
-
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <span class="comment">//
|
|
782
|
-
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <
|
|
783
|
-
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <a class="code" href="
|
|
784
|
-
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> 
|
|
785
|
-
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> 
|
|
786
|
-
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> 
|
|
787
|
-
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> 
|
|
788
|
-
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="
|
|
789
|
-
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> 
|
|
790
|
-
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> 
|
|
791
|
-
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="
|
|
792
|
-
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> 
|
|
793
|
-
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> 
|
|
794
|
-
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> 
|
|
795
|
-
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> 
|
|
796
|
-
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> 
|
|
797
|
-
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> 
|
|
798
|
-
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> 
|
|
799
|
-
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="
|
|
800
|
-
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> 
|
|
801
|
-
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> 
|
|
802
|
-
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> 
|
|
803
|
-
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> 
|
|
804
|
-
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> 
|
|
805
|
-
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> 
|
|
806
|
-
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> 
|
|
807
|
-
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> 
|
|
808
|
-
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> 
|
|
809
|
-
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> 
|
|
689
|
+
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">return</span> {demangledName.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">className</a>};</div>
|
|
690
|
+
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  }</div>
|
|
691
|
+
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1cppUtil.html#a41a600eddf9058faa2982b1f4f08d138">isTemplateFunc</a>(foo))</div>
|
|
692
|
+
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  {</div>
|
|
693
|
+
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="comment">// array index</span></div>
|
|
694
|
+
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<std::string></a> classNames = <a class="code" href="namespaceSVF_1_1cppUtil.html#a9d10cfca65caae543dd9d5a1dddf60e7">extractClsNamesFromTemplate</a>(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>);</div>
|
|
695
|
+
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  assert(!classNames.empty() && <span class="stringliteral">"empty class names?"</span>);</div>
|
|
696
|
+
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <span class="keywordflow">return</span> classNames;</div>
|
|
697
|
+
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  }</div>
|
|
698
|
+
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="keywordflow">return</span> {};</div>
|
|
699
|
+
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> }</div>
|
|
700
|
+
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  </div>
|
|
701
|
+
<div class="line"><a name="l00660"></a><span class="lineno"><a class="line" href="CppUtil_8cpp.html#aaf388a505ce7b2f2357f521c291d9655"> 660</a></span> std::vector<std::string> <a class="code" href="CppUtil_8cpp.html#aaf388a505ce7b2f2357f521c291d9655">findInnermostBrackets</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &input)</div>
|
|
702
|
+
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> {</div>
|
|
703
|
+
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <span class="keyword">typedef</span> std::pair<u32_t, u32_t> StEdIdxPair;</div>
|
|
704
|
+
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  std::stack<int> stack;</div>
|
|
705
|
+
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  std::vector<StEdIdxPair> innerMostPairs;</div>
|
|
706
|
+
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  std::vector<bool> used(input.length(), <span class="keyword">false</span>);</div>
|
|
707
|
+
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  </div>
|
|
708
|
+
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">for</span> (<a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> i = 0; i < input.length(); ++i)</div>
|
|
709
|
+
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  {</div>
|
|
710
|
+
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keywordflow">if</span> (input[i] == <span class="charliteral">'<'</span>)</div>
|
|
711
|
+
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  {</div>
|
|
712
|
+
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  stack.push(i);</div>
|
|
713
|
+
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  }</div>
|
|
714
|
+
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (input[i] == <span class="charliteral">'>'</span> && i > 0 && input[i - 1] != <span class="charliteral">'-'</span>)</div>
|
|
715
|
+
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  {</div>
|
|
716
|
+
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <span class="keywordflow">if</span> (!stack.empty())</div>
|
|
717
|
+
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  {</div>
|
|
718
|
+
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <span class="keywordtype">int</span> openIndex = stack.top();</div>
|
|
719
|
+
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  stack.pop();</div>
|
|
720
|
+
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  </div>
|
|
721
|
+
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <span class="comment">// Check if this pair is innermost</span></div>
|
|
722
|
+
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="keywordtype">bool</span> isInnermost = <span class="keyword">true</span>;</div>
|
|
723
|
+
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordflow">for</span> (<a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> j = openIndex + 1; j < i && isInnermost; ++j)</div>
|
|
724
|
+
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  {</div>
|
|
725
|
+
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <span class="keywordflow">if</span> (used[j])</div>
|
|
726
|
+
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  {</div>
|
|
727
|
+
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  isInnermost = <span class="keyword">false</span>;</div>
|
|
728
|
+
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  }</div>
|
|
729
|
+
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  }</div>
|
|
730
|
+
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  </div>
|
|
731
|
+
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <span class="keywordflow">if</span> (isInnermost)</div>
|
|
732
|
+
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  {</div>
|
|
733
|
+
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  innerMostPairs.emplace_back(openIndex, i);</div>
|
|
734
|
+
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  used[openIndex] = used[i] = <span class="keyword">true</span>; <span class="comment">// Mark these indices as used</span></div>
|
|
735
|
+
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  }</div>
|
|
736
|
+
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  }</div>
|
|
737
|
+
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  }</div>
|
|
738
|
+
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  }</div>
|
|
739
|
+
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  std::vector<std::string> ans(innerMostPairs.size());</div>
|
|
740
|
+
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  std::transform(innerMostPairs.begin(), innerMostPairs.end(), ans.begin(), [&input](StEdIdxPair &<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>) -> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a></div>
|
|
741
|
+
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  {</div>
|
|
742
|
+
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  return input.substr(p.first + 1, p.second - p.first - 1);</div>
|
|
743
|
+
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  });</div>
|
|
744
|
+
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keywordflow">return</span> ans;</div>
|
|
745
|
+
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> }</div>
|
|
746
|
+
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  </div>
|
|
747
|
+
<div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="CppUtil_8cpp.html#a6a41352b62d0c45dcb828d3740083e71"> 711</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="CppUtil_8cpp.html#a6a41352b62d0c45dcb828d3740083e71">stripWhitespaces</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &str)</div>
|
|
748
|
+
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> {</div>
|
|
749
|
+
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">auto</span> start = std::find_if(str.begin(), str.end(), [](<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ch)</div>
|
|
750
|
+
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  {</div>
|
|
751
|
+
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  return !std::isspace(ch);</div>
|
|
752
|
+
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  });</div>
|
|
753
|
+
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="keyword">auto</span> end = std::find_if(str.rbegin(), str.rend(), [](<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ch)</div>
|
|
754
|
+
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  {</div>
|
|
755
|
+
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  return !std::isspace(ch);</div>
|
|
756
|
+
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  }).base();</div>
|
|
757
|
+
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  </div>
|
|
758
|
+
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="keywordflow">return</span> (start < end) ? <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>(start, end) : <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>();</div>
|
|
759
|
+
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> }</div>
|
|
760
|
+
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  </div>
|
|
761
|
+
<div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="CppUtil_8cpp.html#a63632e75877f12057e5b0dad97ec7a48"> 725</a></span> std::vector<std::string> <a class="code" href="CppUtil_8cpp.html#a63632e75877f12057e5b0dad97ec7a48">splitAndStrip</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &input, <span class="keywordtype">char</span> delimiter)</div>
|
|
762
|
+
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> {</div>
|
|
763
|
+
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  std::vector<std::string> tokens;</div>
|
|
764
|
+
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordtype">size_t</span> start = 0, end = 0;</div>
|
|
765
|
+
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  </div>
|
|
766
|
+
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <span class="keywordflow">while</span> ((end = input.find(delimiter, start)) != std::string::npos)</div>
|
|
767
|
+
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  {</div>
|
|
768
|
+
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  tokens.push_back(<a class="code" href="CppUtil_8cpp.html#a6a41352b62d0c45dcb828d3740083e71">stripWhitespaces</a>(input.substr(start, end - start)));</div>
|
|
769
|
+
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  start = end + 1;</div>
|
|
770
|
+
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  }</div>
|
|
771
|
+
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  </div>
|
|
772
|
+
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  tokens.push_back(<a class="code" href="CppUtil_8cpp.html#a6a41352b62d0c45dcb828d3740083e71">stripWhitespaces</a>(input.substr(start)));</div>
|
|
773
|
+
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  </div>
|
|
774
|
+
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordflow">return</span> tokens;</div>
|
|
775
|
+
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> }</div>
|
|
776
|
+
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  </div>
|
|
777
|
+
<div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#a9d10cfca65caae543dd9d5a1dddf60e7"> 746</a></span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<std::string></a> <a class="code" href="namespaceSVF_1_1cppUtil.html#a9d10cfca65caae543dd9d5a1dddf60e7">cppUtil::extractClsNamesFromTemplate</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &oname)</div>
|
|
778
|
+
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> {</div>
|
|
779
|
+
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="comment">// "std::array<A const*, 2ul>" -> A</span></div>
|
|
780
|
+
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="comment">// "std::queue<A*, std::deque<A*, std::allocator<A*> > >" -> A</span></div>
|
|
781
|
+
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <span class="comment">// __gnu_cxx::__aligned_membuf<std::pair<int const, A> >::_M_ptr() const -> A</span></div>
|
|
782
|
+
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<std::string></a> ans;</div>
|
|
783
|
+
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> demangleName = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">llvm::demangle</a>(oname);</div>
|
|
784
|
+
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  std::vector<std::string> innermosts = <a class="code" href="CppUtil_8cpp.html#aaf388a505ce7b2f2357f521c291d9655">findInnermostBrackets</a>(demangleName);</div>
|
|
785
|
+
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &innermost: innermosts)</div>
|
|
786
|
+
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  {</div>
|
|
787
|
+
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keyword">const</span> std::vector<std::string> &allstrs = <a class="code" href="CppUtil_8cpp.html#a63632e75877f12057e5b0dad97ec7a48">splitAndStrip</a>(innermost, <span class="charliteral">','</span>);</div>
|
|
788
|
+
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &str: allstrs)</div>
|
|
789
|
+
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  {</div>
|
|
790
|
+
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="keywordtype">size_t</span> spacePos = str.find(<span class="charliteral">' '</span>);</div>
|
|
791
|
+
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> (spacePos != std::string::npos)</div>
|
|
792
|
+
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  {</div>
|
|
793
|
+
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="comment">// A const* -> A</span></div>
|
|
794
|
+
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  ans.insert(str.substr(0, spacePos));</div>
|
|
795
|
+
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  }</div>
|
|
796
|
+
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="keywordflow">else</span></div>
|
|
797
|
+
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  {</div>
|
|
798
|
+
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordtype">size_t</span> starPos = str.find(<span class="charliteral">'*'</span>);</div>
|
|
799
|
+
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="keywordflow">if</span> (starPos != std::string::npos)</div>
|
|
800
|
+
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="comment">// A* -> A</span></div>
|
|
801
|
+
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  ans.insert(str.substr(0, starPos));</div>
|
|
802
|
+
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">else</span></div>
|
|
803
|
+
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  ans.insert(str);</div>
|
|
804
|
+
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  }</div>
|
|
805
|
+
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  }</div>
|
|
806
|
+
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  }</div>
|
|
807
|
+
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">return</span> ans;</div>
|
|
808
|
+
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> }</div>
|
|
809
|
+
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  </div>
|
|
810
810
|
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  </div>
|
|
811
|
-
<div class="line"><a name="
|
|
812
|
-
<div class="line"><a name="l00787"></a><span class="lineno"
|
|
813
|
-
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> 
|
|
814
|
-
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> 
|
|
815
|
-
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> 
|
|
816
|
-
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="
|
|
817
|
-
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="
|
|
818
|
-
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">
|
|
819
|
-
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> 
|
|
820
|
-
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> 
|
|
821
|
-
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> 
|
|
822
|
-
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> 
|
|
823
|
-
<div class="line"><a name="
|
|
824
|
-
<div class="line"><a name="l00805"></a><span class="lineno"
|
|
825
|
-
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> 
|
|
826
|
-
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> 
|
|
827
|
-
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> 
|
|
828
|
-
<div class="line"><a name="
|
|
829
|
-
<div class="line"><a name="l00816"></a><span class="lineno"
|
|
830
|
-
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> 
|
|
831
|
-
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> 
|
|
832
|
-
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="
|
|
833
|
-
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> 
|
|
834
|
-
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> 
|
|
835
|
-
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="
|
|
836
|
-
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="
|
|
837
|
-
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> 
|
|
838
|
-
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> 
|
|
839
|
-
<div class="line"><a name="
|
|
840
|
-
<div class="line"><a name="l00832"></a><span class="lineno"
|
|
841
|
-
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> 
|
|
842
|
-
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> 
|
|
843
|
-
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> 
|
|
844
|
-
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> 
|
|
845
|
-
<div class="line"><a name="
|
|
846
|
-
<div class="line"><a name="l00843"></a><span class="lineno"
|
|
847
|
-
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> 
|
|
848
|
-
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> 
|
|
849
|
-
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> 
|
|
850
|
-
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> 
|
|
851
|
-
<div class="line"><a name="
|
|
852
|
-
<div class="line"><a name="l00854"></a><span class="lineno"
|
|
853
|
-
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> 
|
|
854
|
-
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <a class="code" href="
|
|
855
|
-
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  <
|
|
856
|
-
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>
|
|
857
|
-
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> 
|
|
858
|
-
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <
|
|
859
|
-
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="
|
|
860
|
-
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <
|
|
861
|
-
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>
|
|
862
|
-
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> 
|
|
863
|
-
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> 
|
|
864
|
-
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> 
|
|
865
|
-
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> 
|
|
866
|
-
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> 
|
|
867
|
-
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> 
|
|
868
|
-
<div class="line"><a name="l00870"></a><span class="lineno"
|
|
869
|
-
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> 
|
|
870
|
-
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span> 
|
|
871
|
-
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> 
|
|
872
|
-
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> 
|
|
873
|
-
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> 
|
|
874
|
-
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> 
|
|
875
|
-
<div class="line"><a name="l00877"></a><span class="lineno"
|
|
876
|
-
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> 
|
|
877
|
-
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> 
|
|
878
|
-
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> 
|
|
879
|
-
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &
|
|
880
|
-
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> 
|
|
881
|
-
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> 
|
|
882
|
-
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> 
|
|
883
|
-
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> 
|
|
884
|
-
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> 
|
|
885
|
-
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> }</div>
|
|
811
|
+
<div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#a985a32c8324d559a87e4ee6e5a1e1efd"> 786</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1cppUtil.html#a985a32c8324d559a87e4ee6e5a1e1efd">cppUtil::isClsNameSource</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *val)</div>
|
|
812
|
+
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> {</div>
|
|
813
|
+
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span> *callBase = SVFUtil::dyn_cast<CallBase>(val))</div>
|
|
814
|
+
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  {</div>
|
|
815
|
+
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *foo = callBase->getCalledFunction();</div>
|
|
816
|
+
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="comment">// indirect call</span></div>
|
|
817
|
+
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">if</span>(!foo) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
818
|
+
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1cppUtil.html#ad6f9578cdce518141772a11617160da8">isConstructor</a>(foo) || <a class="code" href="namespaceSVF_1_1cppUtil.html#af19bec54621f4605bac4feaf9f73803c">isDestructor</a>(foo) || <a class="code" href="namespaceSVF_1_1cppUtil.html#a41a600eddf9058faa2982b1f4f08d138">isTemplateFunc</a>(foo) || <a class="code" href="namespaceSVF_1_1cppUtil.html#afd5fcc8fe98df5f057ff2e04c68b49b5">isDynCast</a>(foo);</div>
|
|
819
|
+
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  }</div>
|
|
820
|
+
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
821
|
+
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> }</div>
|
|
822
|
+
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  </div>
|
|
823
|
+
<div class="line"><a name="l00804"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#a6457105712e29db5c8a8183239daa013"> 804</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1cppUtil.html#a6457105712e29db5c8a8183239daa013">cppUtil::matchesLabel</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &foo, <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &label)</div>
|
|
824
|
+
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> {</div>
|
|
825
|
+
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="keywordflow">return</span> foo.compare(0, label.size(), label) == 0;</div>
|
|
826
|
+
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> }</div>
|
|
827
|
+
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  </div>
|
|
828
|
+
<div class="line"><a name="l00815"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#a41a600eddf9058faa2982b1f4f08d138"> 815</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1cppUtil.html#a41a600eddf9058faa2982b1f4f08d138">cppUtil::isTemplateFunc</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *foo)</div>
|
|
829
|
+
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> {</div>
|
|
830
|
+
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  assert(foo->hasName() && <span class="stringliteral">"foo does not have a name? possible indirect call"</span>);</div>
|
|
831
|
+
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a> = foo->getName().str();</div>
|
|
832
|
+
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordtype">bool</span> matchedLabel = <a class="code" href="namespaceSVF_1_1cppUtil.html#a6457105712e29db5c8a8183239daa013">matchesLabel</a>(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, <a class="code" href="CppUtil_8cpp.html#a64bb8e85e7f5a08516c02c83ea329e63">znstLabel</a>) || <a class="code" href="namespaceSVF_1_1cppUtil.html#a6457105712e29db5c8a8183239daa013">matchesLabel</a>(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, <a class="code" href="CppUtil_8cpp.html#a73f68716197e7fbd42cb334af32b9ee2">znkstLabel</a>) ||</div>
|
|
833
|
+
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <a class="code" href="namespaceSVF_1_1cppUtil.html#a6457105712e29db5c8a8183239daa013">matchesLabel</a>(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, <a class="code" href="CppUtil_8cpp.html#a9d0fa1ab7e36b676084a4f680c1e5f2e">znkLabel</a>);</div>
|
|
834
|
+
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="comment">// we exclude "_ZNK6cArray3dupEv" -> cArray::dup() const</span></div>
|
|
835
|
+
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &demangledName = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">llvm::demangle</a>(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>);</div>
|
|
836
|
+
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="keywordflow">return</span> matchedLabel && demangledName.find(<span class="charliteral">'<'</span>) != std::string::npos && demangledName.find(<span class="charliteral">'>'</span>) != std::string::npos;</div>
|
|
837
|
+
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> }</div>
|
|
838
|
+
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  </div>
|
|
839
|
+
<div class="line"><a name="l00831"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#afd5fcc8fe98df5f057ff2e04c68b49b5"> 831</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1cppUtil.html#afd5fcc8fe98df5f057ff2e04c68b49b5">cppUtil::isDynCast</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *foo)</div>
|
|
840
|
+
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> {</div>
|
|
841
|
+
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  assert(foo->hasName() && <span class="stringliteral">"foo does not have a name? possible indirect call"</span>);</div>
|
|
842
|
+
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">return</span> foo->getName().str() == <a class="code" href="CppUtil_8cpp.html#a7972d88aaaa4644ee22e5b95ac465a80">dyncast</a>;</div>
|
|
843
|
+
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> }</div>
|
|
844
|
+
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  </div>
|
|
845
|
+
<div class="line"><a name="l00842"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5"> 842</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5">cppUtil::isNewAlloc</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *foo)</div>
|
|
846
|
+
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> {</div>
|
|
847
|
+
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  assert(foo->hasName() && <span class="stringliteral">"foo does not have a name? possible indirect call"</span>);</div>
|
|
848
|
+
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="keywordflow">return</span> foo->getName().str() == <a class="code" href="CppUtil_8cpp.html#a809a0913c3e4226ef8fd2df7aaa63d8d">znwm</a>;</div>
|
|
849
|
+
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> }</div>
|
|
850
|
+
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  </div>
|
|
851
|
+
<div class="line"><a name="l00853"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b"> 853</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">cppUtil::extractClsNameFromDynCast</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* callBase)</div>
|
|
852
|
+
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> {</div>
|
|
853
|
+
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *tgtCast = callBase->getArgOperand(2);</div>
|
|
854
|
+
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &valueStr = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#afa2f8c8ab19c75547c26ede53b9f6159">LLVMUtil::dumpValue</a>(tgtCast);</div>
|
|
855
|
+
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> leftPos = valueStr.find(<a class="code" href="CppUtil_8cpp.html#ac6c8cb5e26437d51d4d2e0112ebfdbc6">ztilabel</a>);</div>
|
|
856
|
+
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  assert(leftPos != (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) std::string::npos && <span class="stringliteral">"does not find ZTI for dyncast?"</span>);</div>
|
|
857
|
+
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rightPos = leftPos;</div>
|
|
858
|
+
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <span class="keywordflow">while</span> (rightPos < valueStr.size() && valueStr[rightPos] != <span class="charliteral">' '</span>) rightPos++;</div>
|
|
859
|
+
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &substr = valueStr.substr(leftPos, rightPos - leftPos);</div>
|
|
860
|
+
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> demangleName = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">llvm::demangle</a>(substr);</div>
|
|
861
|
+
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &realName = demangleName.substr(<a class="code" href="CppUtil_8cpp.html#af6dcab87a299097747c63a654197ae66">ztiprefix</a>.size(),</div>
|
|
862
|
+
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  demangleName.size() - <a class="code" href="CppUtil_8cpp.html#af6dcab87a299097747c63a654197ae66">ztiprefix</a>.size());</div>
|
|
863
|
+
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  assert(realName != <span class="stringliteral">""</span> && <span class="stringliteral">"real name for dyncast empty?"</span>);</div>
|
|
864
|
+
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <span class="keywordflow">return</span> realName;</div>
|
|
865
|
+
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> }</div>
|
|
866
|
+
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  </div>
|
|
867
|
+
<div class="line"><a name="l00869"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173"> 869</a></span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<a class="code" href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">cppUtil::cppClsNameToType</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &className)</div>
|
|
868
|
+
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> {</div>
|
|
869
|
+
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a> *classTy = StructType::getTypeByName(LLVMModuleSet::getLLVMModuleSet()->getContext(),</div>
|
|
870
|
+
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <a class="code" href="CppUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a> + className);</div>
|
|
871
|
+
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keywordflow">return</span> classTy ? classTy : LLVMModuleSet::getLLVMModuleSet()->getTypeInference()->ptrType();</div>
|
|
872
|
+
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> }</div>
|
|
873
|
+
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  </div>
|
|
874
|
+
<div class="line"><a name="l00876"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572"> 876</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572">cppUtil::typeToClsName</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *ty)</div>
|
|
875
|
+
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> {</div>
|
|
876
|
+
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span> *stTy = SVFUtil::dyn_cast<StructType>(ty))</div>
|
|
877
|
+
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  {</div>
|
|
878
|
+
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &typeName = stTy->getName().str();</div>
|
|
879
|
+
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &className = typeName.substr(</div>
|
|
880
|
+
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <a class="code" href="CppUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a>.size(), typeName.size() - <a class="code" href="CppUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a>.size());</div>
|
|
881
|
+
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="keywordflow">return</span> className;</div>
|
|
882
|
+
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  }</div>
|
|
883
|
+
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div>
|
|
884
|
+
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> }</div>
|
|
886
885
|
</div><!-- fragment --></div><!-- contents -->
|
|
887
886
|
<div class="ttc" id="aCppUtil_8cpp_html_ae64b669f778ac066473456de94f72d48"><div class="ttname"><a href="CppUtil_8cpp.html#ae64b669f778ac066473456de94f72d48">znkst5Label</a></div><div class="ttdeci">const std::string znkst5Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00068">CppUtil.cpp:68</a></div></div>
|
|
888
887
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a374e7c0b161a77f4d693e13b99ed6283"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a374e7c0b161a77f4d693e13b99ed6283">SVF::cppUtil::getVCallVtblPtr</a></div><div class="ttdeci">const Value * getVCallVtblPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00465">CppUtil.cpp:465</a></div></div>
|
|
889
888
|
<div class="ttc" id="aCppUtil_8cpp_html_ac4e4df5c6f24ccd2c0d6e752d7253bfc"><div class="ttname"><a href="CppUtil_8cpp.html#ac4e4df5c6f24ccd2c0d6e752d7253bfc">vtableType</a></div><div class="ttdeci">const std::string vtableType</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00055">CppUtil.cpp:55</a></div></div>
|
|
890
889
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_afa2f8c8ab19c75547c26ede53b9f6159"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#afa2f8c8ab19c75547c26ede53b9f6159">SVF::LLVMUtil::dumpValue</a></div><div class="ttdeci">std::string dumpValue(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00868">LLVMUtil.cpp:868</a></div></div>
|
|
891
|
-
<div class="ttc" id="aCppUtil_8cpp_html_aaf388a505ce7b2f2357f521c291d9655"><div class="ttname"><a href="CppUtil_8cpp.html#aaf388a505ce7b2f2357f521c291d9655">findInnermostBrackets</a></div><div class="ttdeci">std::vector< std::string > findInnermostBrackets(const std::string &input)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
890
|
+
<div class="ttc" id="aCppUtil_8cpp_html_aaf388a505ce7b2f2357f521c291d9655"><div class="ttname"><a href="CppUtil_8cpp.html#aaf388a505ce7b2f2357f521c291d9655">findInnermostBrackets</a></div><div class="ttdeci">std::vector< std::string > findInnermostBrackets(const std::string &input)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00660">CppUtil.cpp:660</a></div></div>
|
|
892
891
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_aeef0f5c6486379043a7d47b0635f2667"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#aeef0f5c6486379043a7d47b0635f2667">SVF::cppUtil::isValVtbl</a></div><div class="ttdeci">bool isValVtbl(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00267">CppUtil.cpp:267</a></div></div>
|
|
893
892
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00105">LLVMModule.h:105</a></div></div>
|
|
894
893
|
<div class="ttc" id="aCppUtil_8cpp_html_a0ec36087cc7f4ff6d6fe85626a09c885"><div class="ttname"><a href="CppUtil_8cpp.html#a0ec36087cc7f4ff6d6fe85626a09c885">znst6Label</a></div><div class="ttdeci">const std::string znst6Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00062">CppUtil.cpp:62</a></div></div>
|
|
895
894
|
<div class="ttc" id="aCommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
|
|
896
895
|
<div class="ttc" id="anamespaceSVF_html_ab696aab940eb187dc81217efe8649af5"><div class="ttname"><a href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">SVF::StoreInst</a></div><div class="ttdeci">llvm::StoreInst StoreInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00147">BasicTypes.h:147</a></div></div>
|
|
897
|
-
<div class="ttc" id="aCppUtil_8cpp_html_a6a41352b62d0c45dcb828d3740083e71"><div class="ttname"><a href="CppUtil_8cpp.html#a6a41352b62d0c45dcb828d3740083e71">stripWhitespaces</a></div><div class="ttdeci">std::string stripWhitespaces(const std::string &str)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
896
|
+
<div class="ttc" id="aCppUtil_8cpp_html_a6a41352b62d0c45dcb828d3740083e71"><div class="ttname"><a href="CppUtil_8cpp.html#a6a41352b62d0c45dcb828d3740083e71">stripWhitespaces</a></div><div class="ttdeci">std::string stripWhitespaces(const std::string &str)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00711">CppUtil.cpp:711</a></div></div>
|
|
898
897
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a120e9fc3aa1dc2db3e0c2ea9a85b38b6"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a120e9fc3aa1dc2db3e0c2ea9a85b38b6">SVF::cppUtil::getFunNameOfVCallSite</a></div><div class="ttdeci">std::string getFunNameOfVCallSite(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00563">CppUtil.cpp:563</a></div></div>
|
|
899
898
|
<div class="ttc" id="acJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
|
|
900
899
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a96037fcbe6261f46e22505a10f50753f"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a96037fcbe6261f46e22505a10f50753f">SVF::cppUtil::VCallInCtorOrDtor</a></div><div class="ttdeci">bool VCallInCtorOrDtor(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00481">CppUtil.cpp:481</a></div></div>
|
|
901
|
-
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a9d10cfca65caae543dd9d5a1dddf60e7"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a9d10cfca65caae543dd9d5a1dddf60e7">SVF::cppUtil::extractClsNamesFromTemplate</a></div><div class="ttdeci">Set< std::string > extractClsNamesFromTemplate(const std::string &oname)</div><div class="ttdoc">extract class names from template functions</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
900
|
+
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a9d10cfca65caae543dd9d5a1dddf60e7"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a9d10cfca65caae543dd9d5a1dddf60e7">SVF::cppUtil::extractClsNamesFromTemplate</a></div><div class="ttdeci">Set< std::string > extractClsNamesFromTemplate(const std::string &oname)</div><div class="ttdoc">extract class names from template functions</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00746">CppUtil.cpp:746</a></div></div>
|
|
902
901
|
<div class="ttc" id="aCppUtil_8cpp_html_ac6c8cb5e26437d51d4d2e0112ebfdbc6"><div class="ttname"><a href="CppUtil_8cpp.html#ac6c8cb5e26437d51d4d2e0112ebfdbc6">ztilabel</a></div><div class="ttdeci">const std::string ztilabel</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00077">CppUtil.cpp:77</a></div></div>
|
|
903
902
|
<div class="ttc" id="aLLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
|
|
904
903
|
<div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00092">GeneralType.h:92</a></div></div>
|
|
905
904
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a4e1785295e2695fae72758d8bbe4f7ac"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a4e1785295e2695fae72758d8bbe4f7ac">SVF::cppUtil::classTyHasVTable</a></div><div class="ttdeci">bool classTyHasVTable(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00497">CppUtil.cpp:497</a></div></div>
|
|
906
905
|
<div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
|
|
907
906
|
<div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html">SVF::cppUtil::DemangledName</a></div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00047">CppUtil.h:47</a></div></div>
|
|
908
|
-
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26ccd6abf127a7ccc34a973f7b13161b"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">SVF::cppUtil::extractClsNameFromDynCast</a></div><div class="ttdeci">std::string extractClsNameFromDynCast(const CallBase *callBase)</div><div class="ttdoc">extract class name from cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
907
|
+
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26ccd6abf127a7ccc34a973f7b13161b"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26ccd6abf127a7ccc34a973f7b13161b">SVF::cppUtil::extractClsNameFromDynCast</a></div><div class="ttdeci">std::string extractClsNameFromDynCast(const CallBase *callBase)</div><div class="ttdoc">extract class name from cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00853">CppUtil.cpp:853</a></div></div>
|
|
909
908
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad8ee8de153df3f1bbdebb67185a2731c"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad8ee8de153df3f1bbdebb67185a2731c">SVF::LLVMUtil::isConstantObjSym</a></div><div class="ttdeci">bool isConstantObjSym(const SVFValue *val)</div><div class="ttdoc">Check whether this value points-to a constant object.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00825">LLVMUtil.cpp:825</a></div></div>
|
|
910
909
|
<div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
|
|
911
910
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a917c4bd2d5fd1354b5069bf0a68533d9"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a917c4bd2d5fd1354b5069bf0a68533d9">SVF::cppUtil::isCPPThunkFunction</a></div><div class="ttdeci">bool isCPPThunkFunction(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00314">CppUtil.cpp:314</a></div></div>
|
|
@@ -927,8 +926,8 @@ $(function() {
|
|
|
927
926
|
<div class="ttc" id="aCppUtil_8cpp_html_a390380a90a788959ef45b5fd30349266"><div class="ttname"><a href="CppUtil_8cpp.html#a390380a90a788959ef45b5fd30349266">znst5Label</a></div><div class="ttdeci">const std::string znst5Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00060">CppUtil.cpp:60</a></div></div>
|
|
928
927
|
<div class="ttc" id="aCppUtil_8h_html"><div class="ttname"><a href="CppUtil_8h.html">CppUtil.h</a></div></div>
|
|
929
928
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
930
|
-
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a985a32c8324d559a87e4ee6e5a1e1efd"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a985a32c8324d559a87e4ee6e5a1e1efd">SVF::cppUtil::isClsNameSource</a></div><div class="ttdeci">bool isClsNameSource(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
931
|
-
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a41a600eddf9058faa2982b1f4f08d138"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a41a600eddf9058faa2982b1f4f08d138">SVF::cppUtil::isTemplateFunc</a></div><div class="ttdeci">bool isTemplateFunc(const Function *foo)</div><div class="ttdoc">whether foo is a cpp template function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
929
|
+
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a985a32c8324d559a87e4ee6e5a1e1efd"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a985a32c8324d559a87e4ee6e5a1e1efd">SVF::cppUtil::isClsNameSource</a></div><div class="ttdeci">bool isClsNameSource(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00786">CppUtil.cpp:786</a></div></div>
|
|
930
|
+
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a41a600eddf9058faa2982b1f4f08d138"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a41a600eddf9058faa2982b1f4f08d138">SVF::cppUtil::isTemplateFunc</a></div><div class="ttdeci">bool isTemplateFunc(const Function *foo)</div><div class="ttdoc">whether foo is a cpp template function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00815">CppUtil.cpp:815</a></div></div>
|
|
932
931
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_ad6f9578cdce518141772a11617160da8"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#ad6f9578cdce518141772a11617160da8">SVF::cppUtil::isConstructor</a></div><div class="ttdeci">bool isConstructor(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00417">CppUtil.cpp:417</a></div></div>
|
|
933
932
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_ae97bb256f20aa617f21a49c98d46177a"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#ae97bb256f20aa617f21a49c98d46177a">SVF::cppUtil::extractClsNamesFromFunc</a></div><div class="ttdeci">Set< std::string > extractClsNamesFromFunc(const Function *foo)</div><div class="ttdoc">extract class name from the c++ function name, e.g., constructor/destructors</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00634">CppUtil.cpp:634</a></div></div>
|
|
934
933
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a279fa78f7a2e45b458a0358de9c061b8"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a279fa78f7a2e45b458a0358de9c061b8">SVF::cppUtil::getVCallIdx</a></div><div class="ttdeci">s32_t getVCallIdx(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00574">CppUtil.cpp:574</a></div></div>
|
|
@@ -942,28 +941,28 @@ $(function() {
|
|
|
942
941
|
<div class="ttc" id="anamespaceSVF_html_a2b28f48dde0a9a91d251e654ce1f9477"><div class="ttname"><a href="namespaceSVF.html#a2b28f48dde0a9a91d251e654ce1f9477">SVF::ConstantStruct</a></div><div class="ttdeci">llvm::ConstantStruct ConstantStruct</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00105">BasicTypes.h:105</a></div></div>
|
|
943
942
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a1cf2e4671b16b477cc779c72f2419234"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">SVF::cppUtil::getBeforeBrackets</a></div><div class="ttdeci">std::string getBeforeBrackets(const std::string &name)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00123">CppUtil.cpp:123</a></div></div>
|
|
944
943
|
<div class="ttc" id="aCppUtil_8cpp_html_a784e559ae4da3ab3595e1fba4a171120"><div class="ttname"><a href="CppUtil_8cpp.html#a784e559ae4da3ab3595e1fba4a171120">znst7Label</a></div><div class="ttdeci">const std::string znst7Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00063">CppUtil.cpp:63</a></div></div>
|
|
945
|
-
<div class="ttc" id="aCppUtil_8cpp_html_a63632e75877f12057e5b0dad97ec7a48"><div class="ttname"><a href="CppUtil_8cpp.html#a63632e75877f12057e5b0dad97ec7a48">splitAndStrip</a></div><div class="ttdeci">std::vector< std::string > splitAndStrip(const std::string &input, char delimiter)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
944
|
+
<div class="ttc" id="aCppUtil_8cpp_html_a63632e75877f12057e5b0dad97ec7a48"><div class="ttname"><a href="CppUtil_8cpp.html#a63632e75877f12057e5b0dad97ec7a48">splitAndStrip</a></div><div class="ttdeci">std::vector< std::string > splitAndStrip(const std::string &input, char delimiter)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00725">CppUtil.cpp:725</a></div></div>
|
|
946
945
|
<div class="ttc" id="anamespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00111">BasicTypes.h:111</a></div></div>
|
|
947
946
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a8de9a0f0c400240b6cb433b4db3fb3d1"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a8de9a0f0c400240b6cb433b4db3fb3d1">SVF::cppUtil::getClassNameOfThisPtr</a></div><div class="ttdeci">Set< std::string > getClassNameOfThisPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00529">CppUtil.cpp:529</a></div></div>
|
|
948
947
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a6f78191ab37ac0d5c20923c5ab646011"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a6f78191ab37ac0d5c20923c5ab646011">SVF::cppUtil::getClassNameFromType</a></div><div class="ttdeci">std::string getClassNameFromType(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00511">CppUtil.cpp:511</a></div></div>
|
|
949
948
|
<div class="ttc" id="aCppUtil_8cpp_html_a5f8da60b0fcc28445f508f4e42513a82"><div class="ttname"><a href="CppUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a></div><div class="ttdeci">const std::string clsName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00053">CppUtil.cpp:53</a></div></div>
|
|
950
949
|
<div class="ttc" id="aCppUtil_8cpp_html_a7972d88aaaa4644ee22e5b95ac465a80"><div class="ttname"><a href="CppUtil_8cpp.html#a7972d88aaaa4644ee22e5b95ac465a80">dyncast</a></div><div class="ttdeci">const std::string dyncast</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00079">CppUtil.cpp:79</a></div></div>
|
|
951
950
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_aab1dce633f9a03796c208b6fba2bd2b4"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#aab1dce633f9a03796c208b6fba2bd2b4">SVF::cppUtil::isVirtualCallSite</a></div><div class="ttdeci">bool isVirtualCallSite(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00283">CppUtil.cpp:283</a></div></div>
|
|
952
|
-
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abccc29dae7b845f19bf588b013191173"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">SVF::cppUtil::cppClsNameToType</a></div><div class="ttdeci">const Type * cppClsNameToType(const std::string &className)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
951
|
+
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abccc29dae7b845f19bf588b013191173"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abccc29dae7b845f19bf588b013191173">SVF::cppUtil::cppClsNameToType</a></div><div class="ttdeci">const Type * cppClsNameToType(const std::string &className)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00869">CppUtil.cpp:869</a></div></div>
|
|
953
952
|
<div class="ttc" id="aCppUtil_8cpp_html_a211c0223a37893d84fb5e2fd2f9fc76b"><div class="ttname"><a href="CppUtil_8cpp.html#a211c0223a37893d84fb5e2fd2f9fc76b">vtblLabelBeforeDemangle</a></div><div class="ttdeci">const std::string vtblLabelBeforeDemangle</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00048">CppUtil.cpp:48</a></div></div>
|
|
954
953
|
<div class="ttc" id="aCppUtil_8cpp_html_a2aa14572bb011847c1e5920aae880bfa"><div class="ttname"><a href="CppUtil_8cpp.html#a2aa14572bb011847c1e5920aae880bfa">VThunkFuncLabel</a></div><div class="ttdeci">const std::string VThunkFuncLabel</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00045">CppUtil.cpp:45</a></div></div>
|
|
955
954
|
<div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
|
|
956
955
|
<div class="ttc" id="aCppUtil_8cpp_html_adced009085794f93e816603380118609"><div class="ttname"><a href="CppUtil_8cpp.html#adced009085794f93e816603380118609">znst14Label</a></div><div class="ttdeci">const std::string znst14Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00064">CppUtil.cpp:64</a></div></div>
|
|
957
956
|
<div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html_af6117df8aec7f4c077058fa8f00b0243"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#af6117df8aec7f4c077058fa8f00b0243">SVF::cppUtil::DemangledName::isThunkFunc</a></div><div class="ttdeci">bool isThunkFunc</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00051">CppUtil.h:51</a></div></div>
|
|
958
957
|
<div class="ttc" id="anamespaceSVF_html_ac4e93e1fec646ff222940a663843921b"><div class="ttname"><a href="namespaceSVF.html#ac4e93e1fec646ff222940a663843921b">SVF::GetElementPtrInst</a></div><div class="ttdeci">llvm::GetElementPtrInst GetElementPtrInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00161">BasicTypes.h:161</a></div></div>
|
|
959
|
-
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a4f7be63c320fca5a7d981a03999107b5"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5">SVF::cppUtil::isNewAlloc</a></div><div class="ttdeci">bool isNewAlloc(const Function *foo)</div><div class="ttdoc">whether foo is a cpp heap allocation (new)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
958
|
+
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a4f7be63c320fca5a7d981a03999107b5"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a4f7be63c320fca5a7d981a03999107b5">SVF::cppUtil::isNewAlloc</a></div><div class="ttdeci">bool isNewAlloc(const Function *foo)</div><div class="ttdoc">whether foo is a cpp heap allocation (new)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00842">CppUtil.cpp:842</a></div></div>
|
|
960
959
|
<div class="ttc" id="aCppUtil_8cpp_html_a61c158146c07e77234eb4a2f9b940821"><div class="ttname"><a href="CppUtil_8cpp.html#a61c158146c07e77234eb4a2f9b940821">structName</a></div><div class="ttdeci">const std::string structName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00054">CppUtil.cpp:54</a></div></div>
|
|
961
960
|
<div class="ttc" id="anamespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00124">BasicTypes.h:124</a></div></div>
|
|
962
961
|
<div class="ttc" id="aLLVMModule_8h_html"><div class="ttname"><a href="LLVMModule_8h.html">LLVMModule.h</a></div></div>
|
|
963
962
|
<div class="ttc" id="aclassSVF_1_1StInfo_html_ac0a9f85f90524abfd519d3cd2ac95a56"><div class="ttname"><a href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">SVF::StInfo::getFlattenFieldTypes</a></div><div class="ttdeci">std::vector< const SVFType * > & getFlattenFieldTypes()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00106">SVFType.h:106</a></div></div>
|
|
964
963
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_ae0f374d110eefcfcf4c196c85db6c0d2"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#ae0f374d110eefcfcf4c196c85db6c0d2">SVF::cppUtil::getClassNameFromVtblObj</a></div><div class="ttdeci">std::string getClassNameFromVtblObj(const std::string &vtblName)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00235">CppUtil.cpp:235</a></div></div>
|
|
965
964
|
<div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html_a5cd207bce618521166e6fa235014b297"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">SVF::cppUtil::DemangledName::className</a></div><div class="ttdeci">std::string className</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00049">CppUtil.h:49</a></div></div>
|
|
966
|
-
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a6457105712e29db5c8a8183239daa013"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a6457105712e29db5c8a8183239daa013">SVF::cppUtil::matchesLabel</a></div><div class="ttdeci">bool matchesLabel(const std::string &foo, const std::string &label)</div><div class="ttdoc">whether foo matches the mangler label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
965
|
+
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a6457105712e29db5c8a8183239daa013"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a6457105712e29db5c8a8183239daa013">SVF::cppUtil::matchesLabel</a></div><div class="ttdeci">bool matchesLabel(const std::string &foo, const std::string &label)</div><div class="ttdoc">whether foo matches the mangler label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00804">CppUtil.cpp:804</a></div></div>
|
|
967
966
|
<div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html_a1dd17b240663bc9412adefde82385e02"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">SVF::cppUtil::DemangledName::funcName</a></div><div class="ttdeci">std::string funcName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00050">CppUtil.h:50</a></div></div>
|
|
968
967
|
<div class="ttc" id="aCppUtil_8cpp_html_a3afb7512c76959754d6398b8f20012da"><div class="ttname"><a href="CppUtil_8cpp.html#a3afb7512c76959754d6398b8f20012da">vtblLabelAfterDemangle</a></div><div class="ttdeci">const std::string vtblLabelAfterDemangle</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00041">CppUtil.cpp:41</a></div></div>
|
|
969
968
|
<div class="ttc" id="anamespaceSVF_html_a67f3f86344f028cacfbeb08caaf7bb0f"><div class="ttname"><a href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">SVF::GlobalValue</a></div><div class="ttdeci">llvm::GlobalValue GlobalValue</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00087">BasicTypes.h:87</a></div></div>
|
|
@@ -974,14 +973,14 @@ $(function() {
|
|
|
974
973
|
<div class="ttc" id="aSVFFileSystem_8cpp_html_ab25baccb41e3b67ef0bfdaa1336c9649"><div class="ttname"><a href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a></div><div class="ttdeci">#define F(f)</div></div>
|
|
975
974
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a5dd3230226002e126f6b0a877f9550ce"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a5dd3230226002e126f6b0a877f9550ce">SVF::cppUtil::isSameThisPtrInConstructor</a></div><div class="ttdeci">bool isSameThisPtrInConstructor(const Argument *thisPtr1, const Value *thisPtr2)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00368">CppUtil.cpp:368</a></div></div>
|
|
976
975
|
<div class="ttc" id="aCppUtil_8cpp_html_a73f68716197e7fbd42cb334af32b9ee2"><div class="ttname"><a href="CppUtil_8cpp.html#a73f68716197e7fbd42cb334af32b9ee2">znkstLabel</a></div><div class="ttdeci">const std::string znkstLabel</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00067">CppUtil.cpp:67</a></div></div>
|
|
977
|
-
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_afd5fcc8fe98df5f057ff2e04c68b49b5"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#afd5fcc8fe98df5f057ff2e04c68b49b5">SVF::cppUtil::isDynCast</a></div><div class="ttdeci">bool isDynCast(const Function *foo)</div><div class="ttdoc">whether foo is a cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
976
|
+
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_afd5fcc8fe98df5f057ff2e04c68b49b5"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#afd5fcc8fe98df5f057ff2e04c68b49b5">SVF::cppUtil::isDynCast</a></div><div class="ttdeci">bool isDynCast(const Function *foo)</div><div class="ttdoc">whether foo is a cpp dyncast function</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00831">CppUtil.cpp:831</a></div></div>
|
|
978
977
|
<div class="ttc" id="aCppUtil_8cpp_html_a6f19eb9e9f233bab6ca592083dcfc0c3"><div class="ttname"><a href="CppUtil_8cpp.html#a6f19eb9e9f233bab6ca592083dcfc0c3">zn1Label</a></div><div class="ttdeci">const std::string zn1Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00058">CppUtil.cpp:58</a></div></div>
|
|
979
978
|
<div class="ttc" id="aCppUtil_8cpp_html_a3750c7fb6ce4186591a9d7a74f66dd2d"><div class="ttname"><a href="CppUtil_8cpp.html#a3750c7fb6ce4186591a9d7a74f66dd2d">znkst20Label</a></div><div class="ttdeci">const std::string znkst20Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00069">CppUtil.cpp:69</a></div></div>
|
|
980
979
|
<div class="ttc" id="anamespaceSVF_html_a28eec26ec8edaa5e96aecfeb01f6c0d4"><div class="ttname"><a href="namespaceSVF.html#a28eec26ec8edaa5e96aecfeb01f6c0d4">SVF::MDString</a></div><div class="ttdeci">llvm::MDString MDString</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
981
980
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_af19bec54621f4605bac4feaf9f73803c"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#af19bec54621f4605bac4feaf9f73803c">SVF::cppUtil::isDestructor</a></div><div class="ttdeci">bool isDestructor(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00437">CppUtil.cpp:437</a></div></div>
|
|
982
981
|
<div class="ttc" id="aCppUtil_8cpp_html_a1236129f13ba32542603b56b7ad60fd2"><div class="ttname"><a href="CppUtil_8cpp.html#a1236129f13ba32542603b56b7ad60fd2">znkst23Label</a></div><div class="ttdeci">const std::string znkst23Label</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00071">CppUtil.cpp:71</a></div></div>
|
|
983
982
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a26c3ceb82a398663284690c898a5354d"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a26c3ceb82a398663284690c898a5354d">SVF::cppUtil::getConstructorThisPtr</a></div><div class="ttdeci">const Argument * getConstructorThisPtr(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00392">CppUtil.cpp:392</a></div></div>
|
|
984
|
-
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abeb267a39339b04eec09c6a2a6ceb572"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572">SVF::cppUtil::typeToClsName</a></div><div class="ttdeci">std::string typeToClsName(const Type *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#
|
|
983
|
+
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_abeb267a39339b04eec09c6a2a6ceb572"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#abeb267a39339b04eec09c6a2a6ceb572">SVF::cppUtil::typeToClsName</a></div><div class="ttdeci">std::string typeToClsName(const Type *ty)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00876">CppUtil.cpp:876</a></div></div>
|
|
985
984
|
<div class="ttc" id="aCppUtil_8cpp_html_a809a0913c3e4226ef8fd2df7aaa63d8d"><div class="ttname"><a href="CppUtil_8cpp.html#a809a0913c3e4226ef8fd2df7aaa63d8d">znwm</a></div><div class="ttdeci">const std::string znwm</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00057">CppUtil.cpp:57</a></div></div>
|
|
986
985
|
<div class="ttc" id="aclassSVF_1_1ObjTypeInference_html_a8b5f65818c69c70e07ffbc2bbe1c7c91"><div class="ttname"><a href="classSVF_1_1ObjTypeInference.html#a8b5f65818c69c70e07ffbc2bbe1c7c91">SVF::ObjTypeInference::inferThisPtrClsName</a></div><div class="ttdeci">Set< std::string > & inferThisPtrClsName(const Value *thisPtr)</div><div class="ttdoc">get or infer the class names of thisptr</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00597">ObjTypeInference.cpp:597</a></div></div>
|
|
987
986
|
<div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
|