svf-tools 1.0.404 → 1.0.407
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CHG_8h_source.html +5 -6
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Conditions_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +6 -6
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +16 -16
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +16 -13
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +3 -0
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +20 -19
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +48 -52
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +16 -17
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +89 -90
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +118 -120
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1CSC-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +85 -89
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +13 -10
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +190 -92
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +60 -60
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StInfo-members.html +10 -13
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +40 -137
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +6 -7
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +99 -132
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +35 -36
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +184 -213
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/functions_a.html +6 -6
- package/SVF-doxygen/html/html/functions_b.html +1 -1
- package/SVF-doxygen/html/html/functions_e.html +3 -0
- package/SVF-doxygen/html/html/functions_f.html +2 -2
- package/SVF-doxygen/html/html/functions_func.html +6 -6
- package/SVF-doxygen/html/html/functions_func_f.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +18 -21
- package/SVF-doxygen/html/html/functions_func_i.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +5 -5
- package/SVF-doxygen/html/html/functions_func_v.html +1 -1
- package/SVF-doxygen/html/html/functions_g.html +16 -19
- package/SVF-doxygen/html/html/functions_i.html +5 -5
- package/SVF-doxygen/html/html/functions_l.html +6 -6
- package/SVF-doxygen/html/html/functions_m.html +1 -5
- package/SVF-doxygen/html/html/functions_n.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +9 -9
- package/SVF-doxygen/html/html/functions_p.html +9 -9
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_s.html +16 -18
- package/SVF-doxygen/html/html/functions_t.html +7 -7
- package/SVF-doxygen/html/html/functions_type_n.html +1 -1
- package/SVF-doxygen/html/html/functions_type_s.html +1 -1
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_m.html +0 -4
- package/SVF-doxygen/html/html/functions_vars_v.html +2 -2
- package/SVF-doxygen/html/html/functions_w.html +9 -5
- package/SVF-doxygen/html/html/globals_r.html +3 -3
- package/SVF-doxygen/html/html/globals_s.html +5 -7
- package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +73 -41
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +2 -2
- package/SVF-doxygen/html/html/namespacemembers_func.html +4 -1
- package/SVF-doxygen/html/html/namespacemembers_g.html +3 -0
- package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +4 -4
- package/SVF-doxygen/html/html/search/all_10.js +7 -7
- package/SVF-doxygen/html/html/search/all_12.js +2 -2
- package/SVF-doxygen/html/html/search/all_13.js +12 -12
- package/SVF-doxygen/html/html/search/all_14.js +5 -5
- package/SVF-doxygen/html/html/search/all_16.js +3 -3
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_5.js +1 -0
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +7 -7
- package/SVF-doxygen/html/html/search/all_9.js +3 -3
- package/SVF-doxygen/html/html/search/all_c.js +4 -4
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +5 -5
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +4 -4
- package/SVF-doxygen/html/html/search/functions_10.js +4 -4
- package/SVF-doxygen/html/html/search/functions_13.js +1 -1
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +7 -7
- package/SVF-doxygen/html/html/search/functions_8.js +2 -2
- package/SVF-doxygen/html/html/search/functions_a.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_16.js +2 -2
- package/SVF-doxygen/html/html/search/variables_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_5.js +1 -0
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +2 -2
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/include/Graphs/CHG.h +6 -6
- package/include/Graphs/ConsGEdge.h +1 -1
- package/include/Graphs/ICFG.h +1 -1
- package/include/Graphs/ICFGEdge.h +3 -3
- package/include/MemoryModel/LocationSet.h +5 -5
- package/include/MemoryModel/PAGBuilderFromFile.h +1 -1
- package/include/MemoryModel/SVFIR.h +1 -1
- package/include/MemoryModel/SVFStatements.h +4 -4
- package/include/MemoryModel/SVFVariables.h +2 -2
- package/include/MemoryModel/SymbolTableInfo.h +16 -15
- package/include/SVF-FE/LLVMUtil.h +3 -0
- package/include/SVF-FE/SVFIRBuilder.h +2 -2
- package/include/SVF-FE/SymbolTableBuilder.h +0 -2
- package/include/Util/IRAnnotator.h +2 -2
- package/include/WPA/AndersenSFR.h +1 -1
- package/include/WPA/CSC.h +1 -1
- package/lib/Graphs/ICFG.cpp +1 -1
- package/lib/MTA/MHP.cpp +2 -2
- package/lib/MemoryModel/LocationSet.cpp +3 -3
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +2 -2
- package/lib/MemoryModel/SVFIR.cpp +2 -2
- package/lib/MemoryModel/SymbolTableInfo.cpp +7 -18
- package/lib/SVF-FE/CPPUtil.cpp +4 -4
- package/lib/SVF-FE/ICFGBuilder.cpp +1 -1
- package/lib/SVF-FE/LLVMUtil.cpp +22 -5
- package/lib/SVF-FE/SVFIRBuilder.cpp +9 -9
- package/lib/SVF-FE/SymbolTableBuilder.cpp +3 -22
- package/lib/Util/Conditions.cpp +1 -1
- package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
- package/lib/WPA/AndersenSFR.cpp +6 -6
- package/lib/WPA/CSC.cpp +5 -5
- package/lib/WPA/TypeAnalysis.cpp +3 -3
- package/package.json +1 -1
|
@@ -87,8 +87,8 @@ Inheritance diagram for SVF::BranchStmt:</div>
|
|
|
87
87
|
<table class="memberdecls">
|
|
88
88
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
|
89
89
|
Public Types</h2></td></tr>
|
|
90
|
-
<tr class="memitem:
|
|
91
|
-
<tr class="separator:
|
|
90
|
+
<tr class="memitem:a6a0e64824777f04be4c169125dd4f666"><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::pair< const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">SuccAndCondPairVec</a></td></tr>
|
|
91
|
+
<tr class="separator:a6a0e64824777f04be4c169125dd4f666"><td class="memSeparator" colspan="2"> </td></tr>
|
|
92
92
|
<tr class="inherit_header pub_types_classSVF_1_1SVFStmt"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1SVFStmt')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td></tr>
|
|
93
93
|
<tr class="memitem:a0ab8621e75e75f03425c323b3ed62ce9 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9">PEDGEK</a> { <br />
|
|
94
94
|
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">Addr</a>,
|
|
@@ -134,7 +134,7 @@ Public Types</h2></td></tr>
|
|
|
134
134
|
</table><table class="memberdecls">
|
|
135
135
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
136
136
|
Public Member Functions</h2></td></tr>
|
|
137
|
-
<tr class="memitem:a5e102d5c08b7121efc87b99651f0b5d2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#a5e102d5c08b7121efc87b99651f0b5d2">BranchStmt</a> (<a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *inst, <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *c, const <a class="el" href="classSVF_1_1BranchStmt.html#
|
|
137
|
+
<tr class="memitem:a5e102d5c08b7121efc87b99651f0b5d2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#a5e102d5c08b7121efc87b99651f0b5d2">BranchStmt</a> (<a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *inst, <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *c, const <a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">SuccAndCondPairVec</a> &succs)</td></tr>
|
|
138
138
|
<tr class="memdesc:a5e102d5c08b7121efc87b99651f0b5d2"><td class="mdescLeft"> </td><td class="mdescRight">constructor <a href="#a5e102d5c08b7121efc87b99651f0b5d2">More...</a><br /></td></tr>
|
|
139
139
|
<tr class="separator:a5e102d5c08b7121efc87b99651f0b5d2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
140
140
|
<tr class="memitem:a038d65e38fe792fec4050d3d1c9c5180"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#a038d65e38fe792fec4050d3d1c9c5180">isUnconditional</a> () const</td></tr>
|
|
@@ -153,12 +153,12 @@ Public Member Functions</h2></td></tr>
|
|
|
153
153
|
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
|
|
154
154
|
<tr class="memitem:a022d355bde3d0d0a9471cd125b24583b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#a022d355bde3d0d0a9471cd125b24583b">getNumSuccessors</a> () const</td></tr>
|
|
155
155
|
<tr class="separator:a022d355bde3d0d0a9471cd125b24583b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
156
|
-
<tr class="memitem:a93040c884df211ac62d53ceafdd9c4dd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1BranchStmt.html#
|
|
156
|
+
<tr class="memitem:a93040c884df211ac62d53ceafdd9c4dd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">SuccAndCondPairVec</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#a93040c884df211ac62d53ceafdd9c4dd">getSuccessors</a> () const</td></tr>
|
|
157
157
|
<tr class="separator:a93040c884df211ac62d53ceafdd9c4dd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
158
158
|
<tr class="memitem:a7d9a6ebb2d95942c453864b5327b1ae8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#a7d9a6ebb2d95942c453864b5327b1ae8">getSuccessor</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i) const</td></tr>
|
|
159
159
|
<tr class="separator:a7d9a6ebb2d95942c453864b5327b1ae8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
160
|
-
<tr class="memitem:
|
|
161
|
-
<tr class="separator:
|
|
160
|
+
<tr class="memitem:a0881e8decb0bfe2066995d9d729d1aad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#a0881e8decb0bfe2066995d9d729d1aad">getSuccessorCondValue</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i) const</td></tr>
|
|
161
|
+
<tr class="separator:a0881e8decb0bfe2066995d9d729d1aad"><td class="memSeparator" colspan="2"> </td></tr>
|
|
162
162
|
<tr class="inherit_header pub_methods_classSVF_1_1SVFStmt"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1SVFStmt')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td></tr>
|
|
163
163
|
<tr class="memitem:a2ab7295fe26d2c6d2d5c9fd027f96a47 inherit pub_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a2ab7295fe26d2c6d2d5c9fd027f96a47">SVFStmt</a> (<a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *s, <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *d, <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> k, bool real=true)</td></tr>
|
|
164
164
|
<tr class="memdesc:a2ab7295fe26d2c6d2d5c9fd027f96a47 inherit pub_methods_classSVF_1_1SVFStmt"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1SVFStmt.html#a2ab7295fe26d2c6d2d5c9fd027f96a47">More...</a><br /></td></tr>
|
|
@@ -259,7 +259,7 @@ Private Member Functions</h2></td></tr>
|
|
|
259
259
|
</table><table class="memberdecls">
|
|
260
260
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
|
261
261
|
Private Attributes</h2></td></tr>
|
|
262
|
-
<tr class="memitem:a40854cd95fbae16ef8e370255d0e3cf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BranchStmt.html#
|
|
262
|
+
<tr class="memitem:a40854cd95fbae16ef8e370255d0e3cf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">SuccAndCondPairVec</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#a40854cd95fbae16ef8e370255d0e3cf5">successors</a></td></tr>
|
|
263
263
|
<tr class="separator:a40854cd95fbae16ef8e370255d0e3cf5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
264
264
|
<tr class="memitem:adcf5cabe6e0a87cded5ef1fdf7273f3f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchStmt.html#adcf5cabe6e0a87cded5ef1fdf7273f3f">cond</a></td></tr>
|
|
265
265
|
<tr class="separator:adcf5cabe6e0a87cded5ef1fdf7273f3f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -284,14 +284,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
284
284
|
|
|
285
285
|
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00921">921</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
286
286
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
287
|
-
<a id="
|
|
288
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
287
|
+
<a id="a6a0e64824777f04be4c169125dd4f666"></a>
|
|
288
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a6a0e64824777f04be4c169125dd4f666">◆ </a></span>SuccAndCondPairVec</h2>
|
|
289
289
|
|
|
290
290
|
<div class="memitem">
|
|
291
291
|
<div class="memproto">
|
|
292
292
|
<table class="memname">
|
|
293
293
|
<tr>
|
|
294
|
-
<td class="memname">typedef std::vector<std::pair<const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>*, <a class="el" href="namespaceSVF.html#
|
|
294
|
+
<td class="memname">typedef std::vector<std::pair<const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>*, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>> > <a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">SVF::BranchStmt::SuccAndCondPairVec</a></td>
|
|
295
295
|
</tr>
|
|
296
296
|
</table>
|
|
297
297
|
</div><div class="memdoc">
|
|
@@ -380,7 +380,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
380
380
|
<tr>
|
|
381
381
|
<td class="paramkey"></td>
|
|
382
382
|
<td></td>
|
|
383
|
-
<td class="paramtype">const <a class="el" href="classSVF_1_1BranchStmt.html#
|
|
383
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">SuccAndCondPairVec</a> & </td>
|
|
384
384
|
<td class="paramname"><em>succs</em> </td>
|
|
385
385
|
</tr>
|
|
386
386
|
<tr>
|
|
@@ -712,8 +712,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
712
712
|
</div><!-- fragment -->
|
|
713
713
|
</div>
|
|
714
714
|
</div>
|
|
715
|
-
<a id="
|
|
716
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
715
|
+
<a id="a0881e8decb0bfe2066995d9d729d1aad"></a>
|
|
716
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a0881e8decb0bfe2066995d9d729d1aad">◆ </a></span>getSuccessorCondValue()</h2>
|
|
717
717
|
|
|
718
718
|
<div class="memitem">
|
|
719
719
|
<div class="memproto">
|
|
@@ -722,7 +722,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
722
722
|
<td class="mlabels-left">
|
|
723
723
|
<table class="memname">
|
|
724
724
|
<tr>
|
|
725
|
-
<td class="memname"><a class="el" href="namespaceSVF.html#
|
|
725
|
+
<td class="memname"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> SVF::BranchStmt::getSuccessorCondValue </td>
|
|
726
726
|
<td>(</td>
|
|
727
727
|
<td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td>
|
|
728
728
|
<td class="paramname"><em>i</em></td><td>)</td>
|
|
@@ -751,7 +751,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
751
751
|
<td class="mlabels-left">
|
|
752
752
|
<table class="memname">
|
|
753
753
|
<tr>
|
|
754
|
-
<td class="memname">const <a class="el" href="classSVF_1_1BranchStmt.html#
|
|
754
|
+
<td class="memname">const <a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">SuccAndCondPairVec</a>& SVF::BranchStmt::getSuccessors </td>
|
|
755
755
|
<td>(</td>
|
|
756
756
|
<td class="paramname"></td><td>)</td>
|
|
757
757
|
<td> const</td>
|
|
@@ -788,8 +788,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
788
788
|
|
|
789
789
|
<p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00279">279</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
|
|
790
790
|
<div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BranchStmt.html#adcf5cabe6e0a87cded5ef1fdf7273f3f">cond</a>-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() != <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">nullPtrSymID</a>();;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div><div class="ttc" id="classSVF_1_1BranchStmt_html_adcf5cabe6e0a87cded5ef1fdf7273f3f"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#adcf5cabe6e0a87cded5ef1fdf7273f3f">SVF::BranchStmt::cond</a></div><div class="ttdeci">const SVFVar * cond</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00935">SVFStatements.h:935</a></div></div>
|
|
791
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_adaed6e68c2f53260ed4c4fc38b5c4721"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">SVF::SymbolTableInfo::nullPtrSymID</a></div><div class="ttdeci">SymID nullPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
792
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
791
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_adaed6e68c2f53260ed4c4fc38b5c4721"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">SVF::SymbolTableInfo::nullPtrSymID</a></div><div class="ttdeci">SymID nullPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00220">SymbolTableInfo.h:220</a></div></div>
|
|
792
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00106">SymbolTableInfo.cpp:106</a></div></div>
|
|
793
793
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
794
794
|
</div><!-- fragment -->
|
|
795
795
|
</div>
|
|
@@ -813,8 +813,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
813
813
|
|
|
814
814
|
<p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00275">275</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
|
|
815
815
|
<div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BranchStmt.html#adcf5cabe6e0a87cded5ef1fdf7273f3f">cond</a>-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() == <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">nullPtrSymID</a>();</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div><div class="ttc" id="classSVF_1_1BranchStmt_html_adcf5cabe6e0a87cded5ef1fdf7273f3f"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#adcf5cabe6e0a87cded5ef1fdf7273f3f">SVF::BranchStmt::cond</a></div><div class="ttdeci">const SVFVar * cond</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00935">SVFStatements.h:935</a></div></div>
|
|
816
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_adaed6e68c2f53260ed4c4fc38b5c4721"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">SVF::SymbolTableInfo::nullPtrSymID</a></div><div class="ttdeci">SymID nullPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
817
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
816
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_adaed6e68c2f53260ed4c4fc38b5c4721"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">SVF::SymbolTableInfo::nullPtrSymID</a></div><div class="ttdeci">SymID nullPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00220">SymbolTableInfo.h:220</a></div></div>
|
|
817
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00106">SymbolTableInfo.cpp:106</a></div></div>
|
|
818
818
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
819
819
|
</div><!-- fragment -->
|
|
820
820
|
</div>
|
|
@@ -945,7 +945,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
945
945
|
<td class="mlabels-left">
|
|
946
946
|
<table class="memname">
|
|
947
947
|
<tr>
|
|
948
|
-
<td class="memname"><a class="el" href="classSVF_1_1BranchStmt.html#
|
|
948
|
+
<td class="memname"><a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">SuccAndCondPairVec</a> SVF::BranchStmt::successors</td>
|
|
949
949
|
</tr>
|
|
950
950
|
</table>
|
|
951
951
|
</td>
|
|
@@ -97,7 +97,7 @@ Public Member Functions</h2></td></tr>
|
|
|
97
97
|
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
|
|
98
98
|
<tr class="memitem:ad070e36a440deb982779cec18aa03ee6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchVFGNode.html#ad070e36a440deb982779cec18aa03ee6">getNumSuccessors</a> () const</td></tr>
|
|
99
99
|
<tr class="separator:ad070e36a440deb982779cec18aa03ee6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
100
|
-
<tr class="memitem:a2ef5951de4760d28adb9d82b22067360"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1BranchStmt.html#
|
|
100
|
+
<tr class="memitem:a2ef5951de4760d28adb9d82b22067360"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">BranchStmt::SuccAndCondPairVec</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchVFGNode.html#a2ef5951de4760d28adb9d82b22067360">getSuccessors</a> () const</td></tr>
|
|
101
101
|
<tr class="separator:a2ef5951de4760d28adb9d82b22067360"><td class="memSeparator" colspan="2"> </td></tr>
|
|
102
102
|
<tr class="memitem:ae611eb1d27846c15b7301017e1864a30"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchVFGNode.html#ae611eb1d27846c15b7301017e1864a30">getSuccessor</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i) const</td></tr>
|
|
103
103
|
<tr class="separator:ae611eb1d27846c15b7301017e1864a30"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -574,7 +574,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
574
574
|
<td class="mlabels-left">
|
|
575
575
|
<table class="memname">
|
|
576
576
|
<tr>
|
|
577
|
-
<td class="memname">const <a class="el" href="classSVF_1_1BranchStmt.html#
|
|
577
|
+
<td class="memname">const <a class="el" href="classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666">BranchStmt::SuccAndCondPairVec</a>& SVF::BranchVFGNode::getSuccessors </td>
|
|
578
578
|
<td>(</td>
|
|
579
579
|
<td class="paramname"></td><td>)</td>
|
|
580
580
|
<td> const</td>
|
|
@@ -376,7 +376,7 @@ Private Attributes</h2></td></tr>
|
|
|
376
376
|
<div class="ttc" id="namespaceSVF_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#l00123">CPPUtil.cpp:123</a></div></div>
|
|
377
377
|
<div class="ttc" id="namespaceSVF_1_1cppUtil_html_a1007c092efaeae41002efd91b803a7f6"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">SVF::cppUtil::demangle</a></div><div class="ttdeci">struct DemangledName demangle(const std::string &name)</div></div>
|
|
378
378
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
|
|
379
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7e404bcc6613ba10a56c4fbdc842c5a8"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7e404bcc6613ba10a56c4fbdc842c5a8">SVF::SVFUtil::isCastConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isCastConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#
|
|
379
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7e404bcc6613ba10a56c4fbdc842c5a8"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7e404bcc6613ba10a56c4fbdc842c5a8">SVF::SVFUtil::isCastConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isCastConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00555">LLVMUtil.h:555</a></div></div>
|
|
380
380
|
<div class="ttc" id="namespaceSVF_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="Util_2BasicTypes_8h_source.html#l00111">BasicTypes.h:111</a></div></div>
|
|
381
381
|
<div class="ttc" id="namespaceSVF_html_a911dbaab38cb42deb9c195c7f687853d"><div class="ttname"><a href="namespaceSVF.html#a911dbaab38cb42deb9c195c7f687853d">SVF::ConstantExpr</a></div><div class="ttdeci">llvm::ConstantExpr ConstantExpr</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00122">BasicTypes.h:122</a></div></div>
|
|
382
382
|
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
@@ -469,7 +469,7 @@ Private Attributes</h2></td></tr>
|
|
|
469
469
|
<div class="ttc" id="namespaceSVF_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="Util_2BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
|
|
470
470
|
<div class="ttc" id="namespaceSVF_html_ad2b487757f1e1a1d81073120fc1d49c7"><div class="ttname"><a href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7">SVF::VFunSet</a></div><div class="ttdeci">Set< const SVFFunction * > VFunSet</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00047">CHG.h:47</a></div></div>
|
|
471
471
|
<div class="ttc" id="classSVF_1_1CHGBuilder_html_adbff217477a779de9024d9a5777413a7"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#adbff217477a779de9024d9a5777413a7">SVF::CHGBuilder::CHNodeSetTy</a></div><div class="ttdeci">CHGraph::CHNodeSetTy CHNodeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8h_source.html#l00040">CHGBuilder.h:40</a></div></div>
|
|
472
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
472
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00106">SymbolTableInfo.cpp:106</a></div></div>
|
|
473
473
|
<div class="ttc" id="classSVF_1_1CHGraph_html_ac5f5646db24455609cd86c421774dd3e"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ac5f5646db24455609cd86c421774dd3e">SVF::CHGraph::getVFnsFromVtbls</a></div><div class="ttdeci">void getVFnsFromVtbls(CallSite cs, const VTableSet &vtbls, VFunSet &virtualFunctions) override</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8cpp_source.html#l00096">CHG.cpp:96</a></div></div>
|
|
474
474
|
<div class="ttc" id="namespaceSVF_html_a53511f619c06836ee85acf12153810e2"><div class="ttname"><a href="namespaceSVF.html#a53511f619c06836ee85acf12153810e2">SVF::VTableSet</a></div><div class="ttdeci">Set< const GlobalValue * > VTableSet</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00044">CHG.h:44</a></div></div>
|
|
475
475
|
<div class="ttc" id="classSVF_1_1CHGraph_html_af3ed2bee5d76e5a848b250950c3be333"><div class="ttname"><a href="classSVF_1_1CHGraph.html#af3ed2bee5d76e5a848b250950c3be333">SVF::CHGraph::csToCHAVtblsMap</a></div><div class="ttdeci">CallSiteToVTableSetMap csToCHAVtblsMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00322">CHG.h:322</a></div></div>
|
|
@@ -516,8 +516,7 @@ Private Attributes</h2></td></tr>
|
|
|
516
516
|
</div><div class="memdoc">
|
|
517
517
|
|
|
518
518
|
<p class="definition">Definition at line <a class="el" href="CHGBuilder_8cpp_source.html#l00541">541</a> of file <a class="el" href="CHGBuilder_8cpp_source.html">CHGBuilder.cpp</a>.</p>
|
|
519
|
-
<div class="fragment"><div class="line"><a name="l00542"></a><span class="lineno"> 542</span> {</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="comment">/*</span></div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="comment"> * 1. Divide classes into groups</span></div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment"> * 2. Get all virtual functions in a group</span></div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment"> * 3. Assign consecutive IDs to virtual functions that have</span></div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment"> * the same name (after demangling) in a group</span></div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="comment"> */</span></div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <a class="code" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">CHGraph::CHNodeSetTy</a> visitedNodes;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">CHGraph::const_iterator</a> nit = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(),</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  neit = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); nit != neit; ++nit)</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *node = nit->second;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">if</span> (visitedNodes.find(node) != visitedNodes.end())</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keywordtype">string</span> className = node-><a class="code" href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">getName</a>();</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="comment">/*</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment"> * get all the classes in a specific group</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment"> */</span></div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <a class="code" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">CHGraph::CHNodeSetTy</a> group;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  stack<const CHNode*> nodeStack;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  nodeStack.push(node);</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordflow">while</span> (!nodeStack.empty())</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  {</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *curnode = nodeStack.top();</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  nodeStack.pop();</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  group.insert(curnode);</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">if</span> (visitedNodes.find(curnode) != visitedNodes.end())</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">for</span> (CHEdge::CHEdgeSetTy::const_iterator it = curnode-><a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().begin(),</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  eit = curnode-><a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().end(); it != eit; ++it)</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *tmpnode = (*it)->getDstNode();</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  nodeStack.push(tmpnode);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  group.insert(tmpnode);</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  }</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordflow">for</span> (CHEdge::CHEdgeSetTy::const_iterator it = curnode-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().begin(),</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  eit = curnode-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().end(); it != eit; ++it)</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  {</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *tmpnode = (*it)->getSrcNode();</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  nodeStack.push(tmpnode);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  group.insert(tmpnode);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  }</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  visitedNodes.insert(curnode);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  }</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="comment">/*</span></div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="comment"> * get all virtual functions in a specific group</span></div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="comment"> */</span></div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  set<const SVFFunction*> virtualFunctions;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <span class="keywordflow">for</span> (CHGraph::CHNodeSetTy::iterator it = group.begin(),</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  eit = group.end(); it != eit; ++it)</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  {</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keyword">const</span> vector<CHNode::FuncVector> &vecs = (*it)-><a class="code" href="classSVF_1_1CHNode.html#a5df1cf4d51bf3406d188c96bc9aae0af">getVirtualFunctionVectors</a>();</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <span class="keywordflow">for</span> (vector<CHNode::FuncVector>::const_iterator vit = vecs.begin(),</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  veit = vecs.end(); vit != veit; ++vit)</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  {</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keywordflow">for</span> (vector<const SVFFunction*>::const_iterator fit = (*vit).begin(),</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  feit = (*vit).end(); fit != feit; ++fit)</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  {</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  virtualFunctions.insert(*fit);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  }</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  }</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  }</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <span class="comment">/*</span></div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment"> * build a set of pairs of demangled function name and function in a</span></div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="comment"> * specific group, items in the set will be sort by the first item of the</span></div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="comment"> * pair, so all the virtual functions in a group will be sorted by the</span></div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment"> * demangled function name</span></div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="comment"> * <f, A::f></span></div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="comment"> * <f, B::f></span></div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="comment"> * <g, A::g></span></div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="comment"> * <g, B::g></span></div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="comment"> * <g, C::g></span></div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment"> * <~A, A::~A></span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="comment"> * <~B, B::~B></span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="comment"> * <~C, C::~C></span></div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="comment"> * ...</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="comment"> */</span></div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  set<pair<string, const SVFFunction*> > fNameSet;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">for</span> (set<const SVFFunction*>::iterator fit = virtualFunctions.begin(),</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  feit = virtualFunctions.end(); fit != feit; ++fit)</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  {</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f = *fit;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <span class="keyword">struct </span>DemangledName dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">demangle</a>(f-><a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>());</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  fNameSet.insert(pair<string, const SVFFunction*>(dname.funcName, f));</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  }</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <span class="keywordflow">for</span> (<span class="keyword">set</span><pair<string, const SVFFunction*>>::iterator it = fNameSet.begin(),</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  eit = fNameSet.end(); it != eit; ++it)</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  {</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#af3484748d0dd2567542acd3be18d3c4a">virtualFunctionToIDMap</a>[it->second] = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#ac3be8c8dfee16d7508b73b6f2270eb2d">vfID</a>++;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  }</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  }</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span> }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00361">GenericGraph.h:361</a></div></div>
|
|
520
|
-
<div class="ttc" id="classSVF_1_1CHGraph_html_af3484748d0dd2567542acd3be18d3c4a"><div class="ttname"><a href="classSVF_1_1CHGraph.html#af3484748d0dd2567542acd3be18d3c4a">SVF::CHGraph::virtualFunctionToIDMap</a></div><div class="ttdeci">Map< const SVFFunction *, s64_t > virtualFunctionToIDMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00321">CHG.h:321</a></div></div>
|
|
519
|
+
<div class="fragment"><div class="line"><a name="l00542"></a><span class="lineno"> 542</span> {</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="comment">/*</span></div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="comment"> * 1. Divide classes into groups</span></div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="comment"> * 2. Get all virtual functions in a group</span></div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment"> * 3. Assign consecutive IDs to virtual functions that have</span></div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="comment"> * the same name (after demangling) in a group</span></div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="comment"> */</span></div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <a class="code" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">CHGraph::CHNodeSetTy</a> visitedNodes;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">CHGraph::const_iterator</a> nit = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(),</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  neit = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); nit != neit; ++nit)</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *node = nit->second;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">if</span> (visitedNodes.find(node) != visitedNodes.end())</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keywordtype">string</span> className = node-><a class="code" href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">getName</a>();</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="comment">/*</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment"> * get all the classes in a specific group</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment"> */</span></div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <a class="code" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">CHGraph::CHNodeSetTy</a> group;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  stack<const CHNode*> nodeStack;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  nodeStack.push(node);</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordflow">while</span> (!nodeStack.empty())</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  {</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *curnode = nodeStack.top();</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  nodeStack.pop();</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  group.insert(curnode);</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">if</span> (visitedNodes.find(curnode) != visitedNodes.end())</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">for</span> (CHEdge::CHEdgeSetTy::const_iterator it = curnode-><a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().begin(),</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  eit = curnode-><a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().end(); it != eit; ++it)</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *tmpnode = (*it)->getDstNode();</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  nodeStack.push(tmpnode);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  group.insert(tmpnode);</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  }</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordflow">for</span> (CHEdge::CHEdgeSetTy::const_iterator it = curnode-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().begin(),</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  eit = curnode-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().end(); it != eit; ++it)</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  {</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *tmpnode = (*it)->getSrcNode();</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  nodeStack.push(tmpnode);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  group.insert(tmpnode);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  }</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  visitedNodes.insert(curnode);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  }</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="comment">/*</span></div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="comment"> * get all virtual functions in a specific group</span></div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="comment"> */</span></div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  set<const SVFFunction*> virtualFunctions;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <span class="keywordflow">for</span> (CHGraph::CHNodeSetTy::iterator it = group.begin(),</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  eit = group.end(); it != eit; ++it)</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  {</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keyword">const</span> vector<CHNode::FuncVector> &vecs = (*it)-><a class="code" href="classSVF_1_1CHNode.html#a5df1cf4d51bf3406d188c96bc9aae0af">getVirtualFunctionVectors</a>();</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <span class="keywordflow">for</span> (vector<CHNode::FuncVector>::const_iterator vit = vecs.begin(),</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  veit = vecs.end(); vit != veit; ++vit)</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  {</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keywordflow">for</span> (vector<const SVFFunction*>::const_iterator fit = (*vit).begin(),</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  feit = (*vit).end(); fit != feit; ++fit)</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  {</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  virtualFunctions.insert(*fit);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  }</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  }</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  }</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <span class="comment">/*</span></div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="comment"> * build a set of pairs of demangled function name and function in a</span></div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="comment"> * specific group, items in the set will be sort by the first item of the</span></div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="comment"> * pair, so all the virtual functions in a group will be sorted by the</span></div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="comment"> * demangled function name</span></div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="comment"> * <f, A::f></span></div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="comment"> * <f, B::f></span></div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="comment"> * <g, A::g></span></div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="comment"> * <g, B::g></span></div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="comment"> * <g, C::g></span></div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment"> * <~A, A::~A></span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="comment"> * <~B, B::~B></span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="comment"> * <~C, C::~C></span></div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="comment"> * ...</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="comment"> */</span></div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  set<pair<string, const SVFFunction*> > fNameSet;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">for</span> (set<const SVFFunction*>::iterator fit = virtualFunctions.begin(),</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  feit = virtualFunctions.end(); fit != feit; ++fit)</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  {</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f = *fit;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <span class="keyword">struct </span>DemangledName dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">demangle</a>(f-><a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>());</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  fNameSet.insert(pair<string, const SVFFunction*>(dname.funcName, f));</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  }</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <span class="keywordflow">for</span> (<span class="keyword">set</span><pair<string, const SVFFunction*>>::iterator it = fNameSet.begin(),</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  eit = fNameSet.end(); it != eit; ++it)</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  {</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0">virtualFunctionToIDMap</a>[it->second] = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270">vfID</a>++;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  }</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  }</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span> }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00361">GenericGraph.h:361</a></div></div>
|
|
521
520
|
<div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00182">GenericGraph.h:182</a></div></div>
|
|
522
521
|
<div class="ttc" id="classSVF_1_1CHNode_html"><div class="ttname"><a href="classSVF_1_1CHNode.html">SVF::CHNode</a></div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00104">CHG.h:104</a></div></div>
|
|
523
522
|
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00219">BasicTypes.h:219</a></div></div>
|
|
@@ -525,10 +524,11 @@ Private Attributes</h2></td></tr>
|
|
|
525
524
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a5dfa3f178d4abf37177d0d74ff4c6a97"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVF::GenericGraph::const_iterator</a></div><div class="ttdeci">IDToNodeMapTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00339">GenericGraph.h:339</a></div></div>
|
|
526
525
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
|
|
527
526
|
<div class="ttc" id="classSVF_1_1CHGBuilder_html_ab3471cc9afba5976c7e5fbd07dfb22dc"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">SVF::CHGBuilder::chg</a></div><div class="ttdeci">CHGraph * chg</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8h_source.html#l00037">CHGBuilder.h:37</a></div></div>
|
|
527
|
+
<div class="ttc" id="classSVF_1_1CHGraph_html_a70a2bab82563a910d32a9169030596c0"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0">SVF::CHGraph::virtualFunctionToIDMap</a></div><div class="ttdeci">Map< const SVFFunction *, u32_t > virtualFunctionToIDMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00321">CHG.h:321</a></div></div>
|
|
528
528
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a2d9cd758d6f8c5189d9b90b74f43e009"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">SVF::GenericNode::getOutEdges</a></div><div class="ttdeci">const GEdgeSetTy & getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00178">GenericGraph.h:178</a></div></div>
|
|
529
|
-
<div class="ttc" id="classSVF_1_1CHGraph_html_ac3be8c8dfee16d7508b73b6f2270eb2d"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ac3be8c8dfee16d7508b73b6f2270eb2d">SVF::CHGraph::vfID</a></div><div class="ttdeci">s64_t vfID</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00312">CHG.h:312</a></div></div>
|
|
530
529
|
<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#l00249">SVFBasicTypes.h:249</a></div></div>
|
|
531
530
|
<div class="ttc" id="namespaceSVF_1_1cppUtil_html_a1007c092efaeae41002efd91b803a7f6"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a1007c092efaeae41002efd91b803a7f6">SVF::cppUtil::demangle</a></div><div class="ttdeci">struct DemangledName demangle(const std::string &name)</div></div>
|
|
531
|
+
<div class="ttc" id="classSVF_1_1CHGraph_html_ab2d60bc836482fb98142da6151a91270"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270">SVF::CHGraph::vfID</a></div><div class="ttdeci">u32_t vfID</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00312">CHG.h:312</a></div></div>
|
|
532
532
|
<div class="ttc" id="classSVF_1_1CHNode_html_af6e71c1a932464b1b615fc177f5af089"><div class="ttname"><a href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">SVF::CHNode::getName</a></div><div class="ttdeci">std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00123">CHG.h:123</a></div></div>
|
|
533
533
|
<div class="ttc" id="classSVF_1_1CHNode_html_a5df1cf4d51bf3406d188c96bc9aae0af"><div class="ttname"><a href="classSVF_1_1CHNode.html#a5df1cf4d51bf3406d188c96bc9aae0af">SVF::CHNode::getVirtualFunctionVectors</a></div><div class="ttdeci">const std::vector< FuncVector > & getVirtualFunctionVectors() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00171">CHG.h:171</a></div></div>
|
|
534
534
|
</div><!-- fragment -->
|
|
@@ -114,8 +114,8 @@ $(function() {
|
|
|
114
114
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a29cab1426b0000bd87c026ab8c9979c0">getTotalEdgeNum</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
115
115
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
116
116
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#ac5f5646db24455609cd86c421774dd3e">getVFnsFromVtbls</a>(CallSite cs, const VTableSet &vtbls, VFunSet &virtualFunctions) override</td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
117
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#
|
|
118
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#
|
|
117
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#a7b678b4362a93e969f11b110b85d35ca">getVirtualFunctionBasedonID</a>(u32_t id) const</td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
118
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#a7151563857b7b6bdf8195aa571df7516">getVirtualFunctionID</a>(const SVFFunction *vfn) const</td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
119
119
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(NodeID id) const</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
120
120
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a47a1ef8b67b0c92f78b4457dc3bbfe71">IDToNodeMap</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
121
121
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#ab9027b190f50ceefc90094e4f967f269">IDToNodeMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"></td></tr>
|
|
@@ -132,9 +132,9 @@ $(function() {
|
|
|
132
132
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8afa3f4c3017fb95011bfdc11b147eae0c">Standard</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1CommonCHGraph.html">SVF::CommonCHGraph</a></td><td class="entry"></td></tr>
|
|
133
133
|
<tr><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#a62a3ccdbc55381d5f8d96dc23141f2e5">svfMod</a></td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
134
134
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#acd022005e2191bc3bcb265805abee4f8">templateNameToInstancesMap</a></td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
135
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#
|
|
135
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270">vfID</a></td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
136
136
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#a87a7d8c281490fbd2377d64b0115d262">view</a>()</td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"></td></tr>
|
|
137
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#
|
|
137
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0">virtualFunctionToIDMap</a></td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
138
138
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#af1b638faf888898cdf168c25e008ab12">WorkList</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"></td></tr>
|
|
139
139
|
<tr><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html#a63c4f42eea94e786090a546fc2195a00">~CHGraph</a>() override=default</td><td class="entry"><a class="el" href="classSVF_1_1CHGraph.html">SVF::CHGraph</a></td><td class="entry"></td></tr>
|
|
140
140
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CommonCHGraph.html#aeb7e79b36c74bcded008fe227952c335">~CommonCHGraph</a>()</td><td class="entry"><a class="el" href="classSVF_1_1CommonCHGraph.html">SVF::CommonCHGraph</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|