svf-tools 1.0.595 → 1.0.597
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/AndersenSCD_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CFLGraph_8cpp.html +3 -2
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +15 -13
- package/SVF-doxygen/html/html/CFLGraph_8h.html +4 -6
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +19 -18
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CHG_8cpp.html +6 -5
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +26 -24
- package/SVF-doxygen/html/html/CHG_8h.html +4 -6
- package/SVF-doxygen/html/html/CHG_8h_source.html +13 -12
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ConsG_8cpp.html +3 -2
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +27 -26
- package/SVF-doxygen/html/html/ConsG_8h.html +4 -6
- package/SVF-doxygen/html/html/ConsG_8h_source.html +10 -9
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +21 -19
- package/SVF-doxygen/html/html/DCHG_8h.html +4 -6
- package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -14
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
- package/SVF-doxygen/html/html/DOTGraphTraits_8h.html +97 -0
- package/SVF-doxygen/html/html/DOTGraphTraits_8h_source.html +102 -0
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/GenericGraph_8h.html +15 -6
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +128 -115
- package/SVF-doxygen/html/html/GraphPrinter_8h.html +5 -6
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +8 -5
- package/SVF-doxygen/html/html/GraphReachSolver_8h_source.html +4 -3
- package/SVF-doxygen/html/html/GraphTraits_8h.html +118 -0
- package/SVF-doxygen/html/html/GraphTraits_8h_source.html +91 -0
- package/SVF-doxygen/html/html/GraphWriter_8cpp.html +81 -0
- package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +80 -0
- package/SVF-doxygen/html/html/GraphWriter_8h.html +138 -0
- package/SVF-doxygen/html/html/GraphWriter_8h_source.html +129 -0
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8cpp.html +3 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +27 -26
- package/SVF-doxygen/html/html/ICFG_8h.html +4 -6
- package/SVF-doxygen/html/html/ICFG_8h_source.html +14 -13
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp.html +3 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -18
- package/SVF-doxygen/html/html/IRGraph_8h.html +4 -6
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +9 -8
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +7 -6
- package/SVF-doxygen/html/html/LLVMModule_8cpp.html +4 -3
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +57 -58
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +36 -36
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +16 -9
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +6 -4
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +23 -23
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +23 -23
- package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PTACallGraph_8cpp.html +3 -2
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +27 -25
- package/SVF-doxygen/html/html/PTACallGraph_8h.html +4 -6
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -16
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SCC_8h_source.html +4 -2
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFG_8cpp.html +3 -2
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +23 -23
- package/SVF-doxygen/html/html/SVFG_8h.html +1 -3
- package/SVF-doxygen/html/html/SVFG_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +15 -14
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +12 -12
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
- package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +16 -19
- package/SVF-doxygen/html/html/SVFValue_8h.html +3 -3
- package/SVF-doxygen/html/html/SVFValue_8h_source.html +210 -213
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +13 -14
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -10
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
- package/SVF-doxygen/html/html/TCT_8cpp.html +3 -2
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +38 -37
- package/SVF-doxygen/html/html/TCT_8h.html +4 -6
- package/SVF-doxygen/html/html/TCT_8h_source.html +27 -26
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +7 -7
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +6 -6
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
- package/SVF-doxygen/html/html/VFG_8cpp.html +3 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +20 -19
- package/SVF-doxygen/html/html/VFG_8h.html +4 -6
- package/SVF-doxygen/html/html/VFG_8h_source.html +14 -13
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +3 -2
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +4 -2
- package/SVF-doxygen/html/html/annotated.html +291 -278
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +45 -44
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +18 -17
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +56 -56
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +31 -30
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +35 -32
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +78 -78
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter-members.html +83 -0
- package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter.html +236 -0
- package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1GraphWriter-members.html +100 -0
- package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +882 -0
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +12 -11
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +7 -6
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +129 -129
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +26 -25
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +7 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +16 -20
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +8 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +56 -63
- package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +7 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +12 -14
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +34 -38
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +5 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +7 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +10 -14
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +14 -18
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +7 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +23 -25
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +115 -119
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +9 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +14 -18
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +48 -47
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +11 -13
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +31 -35
- package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +7 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +5 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +25 -28
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +38 -128
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +14 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +29 -33
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +46 -46
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +2 -3
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +21 -54
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +72 -72
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +22 -21
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +7 -6
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base-members.html +112 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +633 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base-members.html +102 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.html +787 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy-members.html +84 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +229 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__range-members.html +87 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +342 -0
- package/SVF-doxygen/html/html/classSVF_1_1mapped__iter-members.html +112 -0
- package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +322 -0
- package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator-members.html +113 -0
- package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +343 -0
- package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.png +0 -0
- package/SVF-doxygen/html/html/classes.html +105 -102
- package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +9 -7
- package/SVF-doxygen/html/html/classllvm_1_1GraphWriter-members.html +100 -0
- package/SVF-doxygen/html/html/classllvm_1_1GraphWriter.html +882 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base-members.html +112 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base.html +633 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base.png +0 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base-members.html +102 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base.html +787 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base.png +0 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base_1_1ReferenceProxy-members.html +84 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base_1_1ReferenceProxy.html +229 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__range-members.html +87 -0
- package/SVF-doxygen/html/html/classllvm_1_1iterator__range.html +342 -0
- package/SVF-doxygen/html/html/classllvm_1_1mapped__iter-members.html +112 -0
- package/SVF-doxygen/html/html/classllvm_1_1mapped__iter.html +322 -0
- package/SVF-doxygen/html/html/classllvm_1_1mapped__iter.png +0 -0
- package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator-members.html +113 -0
- package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator.html +343 -0
- package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator.png +0 -0
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/dir_1870ebf480d659cc38d2dd7ac3aa8993.html +2 -0
- package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +4 -0
- package/SVF-doxygen/html/html/dir_fa02919a30fec2d2c2d591b4d920d648.html +6 -0
- package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc_source.html +2 -1
- package/SVF-doxygen/html/html/files.html +42 -36
- package/SVF-doxygen/html/html/functions_a.html +11 -8
- package/SVF-doxygen/html/html/functions_b.html +19 -12
- package/SVF-doxygen/html/html/functions_c.html +43 -42
- package/SVF-doxygen/html/html/functions_d.html +27 -15
- package/SVF-doxygen/html/html/functions_e.html +19 -7
- package/SVF-doxygen/html/html/functions_eval_b.html +4 -4
- package/SVF-doxygen/html/html/functions_eval_i.html +6 -0
- package/SVF-doxygen/html/html/functions_f.html +21 -18
- package/SVF-doxygen/html/html/functions_func.html +13 -10
- package/SVF-doxygen/html/html/functions_func_b.html +2 -1
- package/SVF-doxygen/html/html/functions_func_c.html +4 -4
- package/SVF-doxygen/html/html/functions_func_d.html +18 -14
- package/SVF-doxygen/html/html/functions_func_e.html +13 -2
- package/SVF-doxygen/html/html/functions_func_g.html +107 -75
- package/SVF-doxygen/html/html/functions_func_h.html +4 -4
- package/SVF-doxygen/html/html/functions_func_i.html +22 -11
- package/SVF-doxygen/html/html/functions_func_m.html +3 -0
- package/SVF-doxygen/html/html/functions_func_n.html +5 -2
- package/SVF-doxygen/html/html/functions_func_o.html +42 -8
- package/SVF-doxygen/html/html/functions_func_p.html +8 -2
- package/SVF-doxygen/html/html/functions_func_r.html +7 -1
- package/SVF-doxygen/html/html/functions_func_s.html +15 -18
- package/SVF-doxygen/html/html/functions_func_w.html +22 -1
- package/SVF-doxygen/html/html/functions_g.html +119 -78
- package/SVF-doxygen/html/html/functions_h.html +3 -6
- package/SVF-doxygen/html/html/functions_i.html +43 -15
- package/SVF-doxygen/html/html/functions_m.html +4 -1
- package/SVF-doxygen/html/html/functions_n.html +31 -25
- package/SVF-doxygen/html/html/functions_o.html +51 -22
- package/SVF-doxygen/html/html/functions_p.html +29 -19
- package/SVF-doxygen/html/html/functions_r.html +10 -5
- package/SVF-doxygen/html/html/functions_rela.html +6 -3
- package/SVF-doxygen/html/html/functions_s.html +22 -27
- package/SVF-doxygen/html/html/functions_t.html +6 -6
- package/SVF-doxygen/html/html/functions_type_b.html +3 -0
- package/SVF-doxygen/html/html/functions_type_c.html +6 -5
- package/SVF-doxygen/html/html/functions_type_d.html +5 -0
- package/SVF-doxygen/html/html/functions_type_e.html +4 -4
- package/SVF-doxygen/html/html/functions_type_g.html +6 -5
- package/SVF-doxygen/html/html/functions_type_i.html +3 -2
- package/SVF-doxygen/html/html/functions_type_n.html +26 -23
- package/SVF-doxygen/html/html/functions_type_p.html +2 -1
- package/SVF-doxygen/html/html/functions_type_r.html +1 -0
- package/SVF-doxygen/html/html/functions_type_v.html +1 -0
- package/SVF-doxygen/html/html/functions_v.html +8 -7
- package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_d.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_g.html +9 -1
- package/SVF-doxygen/html/html/functions_vars_h.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_i.html +10 -0
- package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +22 -1
- package/SVF-doxygen/html/html/hierarchy.html +444 -397
- package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/iterator_8h.html +124 -0
- package/SVF-doxygen/html/html/iterator_8h_source.html +134 -0
- package/SVF-doxygen/html/html/iterator__range_8h.html +110 -0
- package/SVF-doxygen/html/html/iterator__range_8h_source.html +90 -0
- package/SVF-doxygen/html/html/menudata.js +17 -16
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +575 -9
- package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +107 -0
- package/SVF-doxygen/html/html/namespaceSVF_1_1GraphProgram.html +122 -0
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +65 -7
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
- package/SVF-doxygen/html/html/namespacellvm.html +1 -95
- package/SVF-doxygen/html/html/namespacellvm_1_1DOT.html +107 -0
- package/SVF-doxygen/html/html/namespacellvm_1_1GraphProgram.html +122 -0
- package/SVF-doxygen/html/html/namespacemembers_c.html +9 -0
- package/SVF-doxygen/html/html/namespacemembers_d.html +5 -2
- package/SVF-doxygen/html/html/namespacemembers_e.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_enum.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_eval.html +15 -0
- package/SVF-doxygen/html/html/namespacemembers_f.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_func.html +0 -495
- package/SVF-doxygen/html/html/namespacemembers_func_b.html +88 -0
- package/SVF-doxygen/html/html/namespacemembers_func_c.html +97 -0
- package/SVF-doxygen/html/html/namespacemembers_func_d.html +97 -0
- package/SVF-doxygen/html/html/namespacemembers_func_e.html +82 -0
- package/SVF-doxygen/html/html/namespacemembers_func_f.html +76 -0
- package/SVF-doxygen/html/html/namespacemembers_func_g.html +186 -0
- package/SVF-doxygen/html/html/namespacemembers_func_h.html +76 -0
- package/SVF-doxygen/html/html/namespacemembers_func_i.html +253 -0
- package/SVF-doxygen/html/html/namespacemembers_func_m.html +91 -0
- package/SVF-doxygen/html/html/namespacemembers_func_n.html +76 -0
- package/SVF-doxygen/html/html/namespacemembers_func_o.html +94 -0
- package/SVF-doxygen/html/html/namespacemembers_func_p.html +82 -0
- package/SVF-doxygen/html/html/namespacemembers_func_r.html +79 -0
- package/SVF-doxygen/html/html/namespacemembers_func_s.html +91 -0
- package/SVF-doxygen/html/html/namespacemembers_func_t.html +76 -0
- package/SVF-doxygen/html/html/namespacemembers_func_v.html +85 -0
- package/SVF-doxygen/html/html/namespacemembers_func_w.html +82 -0
- package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_i.html +12 -3
- package/SVF-doxygen/html/html/namespacemembers_m.html +12 -0
- package/SVF-doxygen/html/html/namespacemembers_n.html +9 -0
- package/SVF-doxygen/html/html/namespacemembers_r.html +4 -1
- package/SVF-doxygen/html/html/namespacemembers_t.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_g.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_type_r.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_v.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_w.html +3 -0
- package/SVF-doxygen/html/html/namespaces.html +4 -2
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +1 -0
- package/SVF-doxygen/html/html/search/all_10.js +13 -10
- package/SVF-doxygen/html/html/search/all_11.js +6 -3
- package/SVF-doxygen/html/html/search/all_12.js +7 -6
- package/SVF-doxygen/html/html/search/all_13.js +5 -4
- package/SVF-doxygen/html/html/search/all_15.js +6 -5
- package/SVF-doxygen/html/html/search/all_16.js +8 -1
- package/SVF-doxygen/html/html/search/all_2.js +6 -4
- package/SVF-doxygen/html/html/search/all_3.js +10 -7
- package/SVF-doxygen/html/html/search/all_4.js +21 -14
- package/SVF-doxygen/html/html/search/all_5.js +9 -4
- package/SVF-doxygen/html/html/search/all_6.js +3 -1
- package/SVF-doxygen/html/html/search/all_7.js +90 -46
- package/SVF-doxygen/html/html/search/all_8.js +1 -2
- package/SVF-doxygen/html/html/search/all_9.js +23 -5
- package/SVF-doxygen/html/html/search/all_d.js +6 -1
- package/SVF-doxygen/html/html/search/all_e.js +11 -8
- package/SVF-doxygen/html/html/search/all_f.js +19 -15
- package/SVF-doxygen/html/html/search/classes_3.js +13 -9
- package/SVF-doxygen/html/html/search/classes_6.js +64 -32
- package/SVF-doxygen/html/html/search/classes_8.js +11 -1
- package/SVF-doxygen/html/html/search/classes_a.js +1 -0
- package/SVF-doxygen/html/html/search/classes_d.js +2 -0
- package/SVF-doxygen/html/html/search/classes_e.js +1 -0
- package/SVF-doxygen/html/html/search/enums_8.js +1 -6
- package/SVF-doxygen/html/html/search/enums_9.js +6 -1
- package/SVF-doxygen/html/html/search/enums_a.js +1 -4
- package/SVF-doxygen/html/html/search/enums_b.js +4 -2
- package/SVF-doxygen/html/html/search/enums_c.js +2 -4
- package/SVF-doxygen/html/html/search/enums_d.js +4 -1
- package/SVF-doxygen/html/html/search/enums_e.html +26 -0
- package/SVF-doxygen/html/html/search/enums_e.js +4 -0
- package/SVF-doxygen/html/html/search/enumvalues_1.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_10.js +1 -0
- package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -0
- package/SVF-doxygen/html/html/search/enumvalues_3.js +1 -0
- package/SVF-doxygen/html/html/search/enumvalues_5.js +1 -0
- package/SVF-doxygen/html/html/search/enumvalues_8.js +3 -1
- package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -0
- package/SVF-doxygen/html/html/search/files_3.js +1 -0
- package/SVF-doxygen/html/html/search/files_6.js +4 -1
- package/SVF-doxygen/html/html/search/files_7.js +3 -1
- package/SVF-doxygen/html/html/search/functions_0.js +1 -0
- package/SVF-doxygen/html/html/search/functions_1.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +2 -0
- package/SVF-doxygen/html/html/search/functions_11.js +1 -2
- package/SVF-doxygen/html/html/search/functions_14.js +1 -0
- package/SVF-doxygen/html/html/search/functions_15.js +8 -1
- package/SVF-doxygen/html/html/search/functions_2.js +4 -2
- package/SVF-doxygen/html/html/search/functions_3.js +5 -4
- package/SVF-doxygen/html/html/search/functions_4.js +7 -3
- package/SVF-doxygen/html/html/search/functions_6.js +21 -12
- package/SVF-doxygen/html/html/search/functions_7.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +10 -4
- package/SVF-doxygen/html/html/search/functions_c.js +5 -0
- package/SVF-doxygen/html/html/search/functions_d.js +4 -2
- package/SVF-doxygen/html/html/search/functions_e.js +14 -8
- package/SVF-doxygen/html/html/search/functions_f.js +3 -1
- package/SVF-doxygen/html/html/search/namespaces_1.js +2 -0
- package/SVF-doxygen/html/html/search/related_9.js +3 -3
- package/SVF-doxygen/html/html/search/searchdata.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_1.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_3.js +2 -1
- package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_7.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_c.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_e.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_f.js +2 -1
- package/SVF-doxygen/html/html/search/variables_10.js +1 -0
- package/SVF-doxygen/html/html/search/variables_13.js +3 -3
- package/SVF-doxygen/html/html/search/variables_2.js +1 -0
- package/SVF-doxygen/html/html/search/variables_3.js +1 -1
- package/SVF-doxygen/html/html/search/variables_4.js +1 -0
- package/SVF-doxygen/html/html/search/variables_5.js +1 -0
- package/SVF-doxygen/html/html/search/variables_6.js +1 -0
- package/SVF-doxygen/html/html/search/variables_7.js +2 -1
- package/SVF-doxygen/html/html/search/variables_8.js +0 -1
- package/SVF-doxygen/html/html/search/variables_9.js +3 -0
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/search/variables_f.js +1 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits-members.html +99 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.html +193 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +105 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +443 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +104 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +388 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +481 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +475 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +107 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +486 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +457 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +108 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +595 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +105 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +409 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +107 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +543 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits-members.html +99 -0
- package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.html +855 -0
- package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericEdge_1_1equalGEdge.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits.html +116 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +88 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +324 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +99 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +467 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +89 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +367 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1Inverse-members.html +82 -0
- package/SVF-doxygen/html/html/structSVF_1_1Inverse.html +154 -0
- package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement-members.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +46 -46
- package/SVF-doxygen/html/html/structSVF_1_1pointee__iter-members.html +111 -0
- package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.html +279 -0
- package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits-members.html +99 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits.html +193 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +22 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +67 -10
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +21 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +65 -8
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +22 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +72 -12
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +23 -5
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +70 -10
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +23 -5
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +68 -11
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +23 -5
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +68 -11
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +24 -6
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +76 -15
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +22 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +67 -10
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +24 -6
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +73 -12
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits-members.html +99 -0
- package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits.html +855 -0
- package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits.html +116 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +12 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +12 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +12 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +12 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +33 -31
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +12 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +12 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +12 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +12 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +12 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +10 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +10 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +10 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +10 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +46 -44
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +38 -34
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +10 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +10 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +10 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +10 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +10 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +5 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structllvm_1_1Inverse-members.html +82 -0
- package/SVF-doxygen/html/html/structllvm_1_1Inverse.html +154 -0
- package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator-members.html +111 -0
- package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator.html +279 -0
- package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator.png +0 -0
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +9 -9
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/include/Graphs/CFLGraph.h +6 -6
- package/include/Graphs/CHG.h +6 -6
- package/include/Graphs/ConsG.h +6 -6
- package/include/Graphs/DOTGraphTraits.h +188 -0
- package/include/Graphs/GenericGraph.h +58 -18
- package/include/Graphs/GraphPrinter.h +14 -22
- package/include/Graphs/GraphTraits.h +150 -0
- package/include/Graphs/GraphWriter.h +380 -0
- package/include/Graphs/ICFG.h +6 -6
- package/include/Graphs/IRGraph.h +6 -7
- package/include/Graphs/PTACallGraph.h +6 -6
- package/include/Graphs/SVFG.h +6 -6
- package/include/Graphs/VFG.h +6 -6
- package/include/MTA/TCT.h +6 -6
- package/include/SABER/SrcSnkSolver.h +2 -2
- package/include/SVF-LLVM/DCHG.h +6 -6
- package/include/SVF-LLVM/LLVMUtil.h +5 -0
- package/include/SVF-LLVM/SymbolTableBuilder.h +0 -3
- package/include/SVFIR/SVFValue.h +2 -11
- package/include/SVFIR/SVFVariables.h +5 -5
- package/include/Util/GraphReachSolver.h +2 -2
- package/include/Util/SCC.h +1 -1
- package/include/Util/iterator.h +407 -0
- package/include/Util/iterator_range.h +76 -0
- package/include/WPA/WPASolver.h +1 -1
- package/lib/Graphs/CFLGraph.cpp +2 -2
- package/lib/Graphs/CHG.cpp +2 -2
- package/lib/Graphs/ConsG.cpp +2 -2
- package/lib/Graphs/GraphWriter.cpp +53 -0
- package/lib/Graphs/ICFG.cpp +2 -2
- package/lib/Graphs/IRGraph.cpp +2 -2
- package/lib/Graphs/PTACallGraph.cpp +2 -2
- package/lib/Graphs/SVFG.cpp +1 -1
- package/lib/Graphs/VFG.cpp +2 -2
- package/lib/MTA/TCT.cpp +1 -1
- package/lib/SVF-LLVM/LLVMModule.cpp +1 -2
- package/lib/SVF-LLVM/LLVMUtil.cpp +40 -0
- package/lib/SVF-LLVM/SVFIRBuilder.cpp +1 -1
- package/lib/SVF-LLVM/SymbolTableBuilder.cpp +0 -34
- package/lib/SVFIR/SVFValue.cpp +0 -1
- package/package.json +1 -1
|
@@ -66,10 +66,9 @@ $(function() {
|
|
|
66
66
|
<div class="title">CHG.h</div> </div>
|
|
67
67
|
</div><!--header-->
|
|
68
68
|
<div class="contents">
|
|
69
|
-
<a href="CHG_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===----- CHG.h -- Class hirachary graph ---------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * CHG.h (previously CHA.h)</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Created on: Apr 13, 2016</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Author: Xiaokang Fan</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Created on: Aug 24, 2019</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * Author: Mohamad Barbar</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> */</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifndef CHA_H_</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#define CHA_H_</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="SVFModule_8h.html">SVFIR/SVFModule.h</a>"</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="GenericGraph_8h.html">Graphs/GenericGraph.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="WorkList_8h.html">Util/WorkList.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">class </span>SVFModule;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a340a9e77adc2bbfdee79e22da9ead234"> 44</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHNode.html">CHNode</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFGlobalValue*></a> <a class="code" href="namespaceSVF.html#a340a9e77adc2bbfdee79e22da9ead234">VTableSet</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7"> 47</a></span> <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFFunction*></a> <a class="code" href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7">VFunSet</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html"> 50</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#aeb7e79b36c74bcded008fe227952c335"> 53</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#aeb7e79b36c74bcded008fe227952c335">~CommonCHGraph</a>() { };</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8"> 54</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8">CHGKind</a></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8afa3f4c3017fb95011bfdc11b147eae0c"> 56</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8afa3f4c3017fb95011bfdc11b147eae0c">Standard</a>,</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8ae9e3edea0bae930aa9af04699fca9506"> 57</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8ae9e3edea0bae930aa9af04699fca9506">DI</a></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  };</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#a0ce9117288d9e0b498f128217fda0cca">csHasVFnsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs) = 0;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> VFunSet &<a class="code" href="classSVF_1_1CommonCHGraph.html#abe9232b9cada361e0434f7c4390a7864">getCSVFsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs) = 0;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#aff7363feebc20267dad7230666b583b1">csHasVtblsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs) = 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> VTableSet &<a class="code" href="classSVF_1_1CommonCHGraph.html#ae90f9a2152ab07aa0df16badd733f1fd">getCSVtblsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs) = 0;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#aae511b2ee7c2c7ea7be70c7884e92021">getVFnsFromVtbls</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs, <span class="keyword">const</span> VTableSet &vtbls, VFunSet &virtualFunctions) = 0;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#adf2a02fff9d7dd9fc9d92121e5e28f8b"> 66</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8">CHGKind</a> <a class="code" href="classSVF_1_1CommonCHGraph.html#adf2a02fff9d7dd9fc9d92121e5e28f8b">getKind</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071">kind</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071"> 72</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8">CHGKind</a> <a class="code" href="classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071">kind</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> };</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a7cb629496a70d2dd22634405652e573a"> 76</a></span> <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericEdge.html">GenericEdge<CHNode></a> <a class="code" href="namespaceSVF.html#a7cb629496a70d2dd22634405652e573a">GenericCHEdgeTy</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html"> 77</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHEdge.html">CHEdge</a>: <span class="keyword">public</span> GenericCHEdgeTy</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676"> 80</a></span>  <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676a78df5157ac61c49a724af5aa03d36d0c"> 82</a></span>  INHERITANCE = 0x1, <span class="comment">// inheritance relation</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676a8721eaefd547d6ba5229463d644815f4"> 83</a></span>  INSTANTCE = 0x2 <span class="comment">// template-instance relation</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  } <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEDGETYPE</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#ae2c206fb3c7e4d9deec7d8298caf5017"> 86</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GenericNode<CHNode,CHEdge>::GEdgeSetTy</a> <a class="code" href="classSVF_1_1CHEdge.html#ae2c206fb3c7e4d9deec7d8298caf5017">CHEdgeSetTy</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#af01c14c28db231b7bfae39344d1ae8ee"> 88</a></span>  <a class="code" href="classSVF_1_1CHEdge.html#af01c14c28db231b7bfae39344d1ae8ee">CHEdge</a>(<a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *s, <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *d, <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEDGETYPE</a> et, <a class="code" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> k = 0):</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  GenericCHEdgeTy(s,d,k)</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  edgeType = et;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#ae2b90913c6c5a30df2b285d31c694525"> 94</a></span>  <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEDGETYPE</a> <a class="code" href="classSVF_1_1CHEdge.html#ae2b90913c6c5a30df2b285d31c694525">getEdgeType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> edgeType;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#a58ac14decda4041e773d723475f5c1c8"> 100</a></span>  <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEDGETYPE</a> <a class="code" href="classSVF_1_1CHEdge.html#a58ac14decda4041e773d723475f5c1c8">edgeType</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> };</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a838ed37e84836101711c25a760eec57d"> 103</a></span> <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericNode<CHNode,CHEdge></a> <a class="code" href="namespaceSVF.html#a838ed37e84836101711c25a760eec57d">GenericCHNodeTy</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html"> 104</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHNode.html">CHNode</a>: <span class="keyword">public</span> GenericCHNodeTy</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4"> 107</a></span>  <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  {</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4ab530567d5ba09c9c579aef964aef8f81"> 109</a></span>  PURE_ABSTRACT = 0x1, <span class="comment">// pure virtual abstract class</span></div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4afd6d851b22e741690f0736b4858d81a5"> 110</a></span>  MULTI_INHERITANCE = 0x2, <span class="comment">// multi inheritance class</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4a330331556c568fcd60c9df6df2c1281d"> 111</a></span>  TEMPLATE = 0x04 <span class="comment">// template class</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  } <a class="code" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4">CLASSATTR</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aa4af6538c9994ec54a7b82691f846a31"> 114</a></span>  <span class="keyword">typedef</span> std::vector<const SVFFunction*> <a class="code" href="classSVF_1_1CHNode.html#aa4af6538c9994ec54a7b82691f846a31">FuncVector</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a1f2c496e378d01841e4dc164942dc145"> 116</a></span>  <a class="code" href="classSVF_1_1CHNode.html#a1f2c496e378d01841e4dc164942dc145">CHNode</a> (<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>, <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> i = 0, <a class="code" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> k = 0):</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  GenericCHNodeTy(i, k), vtable(nullptr), className(name), flags(0)</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aff05589899b58112119af68df5d1997e"> 120</a></span>  <a class="code" href="classSVF_1_1CHNode.html#aff05589899b58112119af68df5d1997e">~CHNode</a>()</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089"> 123</a></span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">getName</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> className;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#ab3755d804852b8a98bdf8cd0171f3a2f"> 129</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#ab3755d804852b8a98bdf8cd0171f3a2f">setFlag</a>(<a class="code" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4">CLASSATTR</a> mask)</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  flags |= mask;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aebcbd36a7efc0dbe9b3c3f680ef033e7"> 133</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHNode.html#aebcbd36a7efc0dbe9b3c3f680ef033e7">hasFlag</a>(<a class="code" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4">CLASSATTR</a> mask)<span class="keyword"> const</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">return</span> (flags & mask) == mask;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  }</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#abac89987927dadd53dd646eae540a024"> 141</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#abac89987927dadd53dd646eae540a024">setPureAbstract</a>()</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  setFlag(PURE_ABSTRACT);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  }</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a5d751a3a0d88c0de374bfeb526051440"> 145</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#a5d751a3a0d88c0de374bfeb526051440">setMultiInheritance</a>()</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  setFlag(MULTI_INHERITANCE);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a00343177422c8d84d707432d0c483438"> 149</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#a00343177422c8d84d707432d0c483438">setTemplate</a>()</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  setFlag(TEMPLATE);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a268ccdfb486cc2efa8581ee7a3b5af39"> 153</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHNode.html#a268ccdfb486cc2efa8581ee7a3b5af39">isPureAbstract</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> hasFlag(PURE_ABSTRACT);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a224a394537fae62e64cf62a0d4fdd430"> 157</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHNode.html#a224a394537fae62e64cf62a0d4fdd430">isMultiInheritance</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">return</span> hasFlag(MULTI_INHERITANCE);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aff23fda93401c60422a4a5a08d77d749"> 161</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHNode.html#aff23fda93401c60422a4a5a08d77d749">isTemplate</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">return</span> hasFlag(TEMPLATE);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a8c51571df92b5e152cc42e9aaf712dc9"> 167</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#a8c51571df92b5e152cc42e9aaf712dc9">addVirtualFunctionVector</a>(FuncVector vfuncvec)</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  virtualFunctionVectors.push_back(vfuncvec);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a5df1cf4d51bf3406d188c96bc9aae0af"> 171</a></span>  <span class="keyword">const</span> std::vector<FuncVector> &<a class="code" href="classSVF_1_1CHNode.html#a5df1cf4d51bf3406d188c96bc9aae0af">getVirtualFunctionVectors</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">return</span> virtualFunctionVectors;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordtype">void</span> getVirtualFunctions(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx, FuncVector &virtualFunctions) <span class="keyword">const</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aa49ae91e2dd45c94f3d7694eb7e6737b"> 177</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a> *<a class="code" href="classSVF_1_1CHNode.html#aa49ae91e2dd45c94f3d7694eb7e6737b">getVTable</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> vtable;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aa72c4509da3bfd2a3c656da38fe36c81"> 182</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#aa72c4509da3bfd2a3c656da38fe36c81">setVTable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a> *vtbl)</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  vtable = vtbl;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a0caf16354322896e25a705bb179828ed"> 188</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a>* <a class="code" href="classSVF_1_1CHNode.html#a0caf16354322896e25a705bb179828ed">vtable</a>;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#ac7c18617b768a2988cf4eff7e849f397"> 189</a></span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1CHNode.html#ac7c18617b768a2988cf4eff7e849f397">className</a>;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a6844c89f715979709dc52d4854373e72"> 190</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CHNode.html#a6844c89f715979709dc52d4854373e72">flags</a>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="comment">/*</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> * virtual functions inherited from different classes are separately stored</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> * to model different vtables inherited from different fathers.</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> *</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> * Example:</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> * class C: public A, public B</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> * vtableC = {Af1, Af2, ..., inttoptr, Bg1, Bg2, ...} ("inttoptr"</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> * instruction works as the delimiter for separating virtual functions</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> * inherited from different classes)</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> *</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"> * virtualFunctionVectors = {{Af1, Af2, ...}, {Bg1, Bg2, ...}}</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> */</span></div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a9c81308b3eac1728c122fda39e260a90"> 203</a></span>  std::vector<FuncVector> <a class="code" href="classSVF_1_1CHNode.html#a9c81308b3eac1728c122fda39e260a90">virtualFunctionVectors</a>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> };</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="namespaceSVF.html#aa8bd37e4ec2e98c805a14adbf590b9dd"> 207</a></span> <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph<CHNode,CHEdge></a> <a class="code" href="namespaceSVF.html#aa8bd37e4ec2e98c805a14adbf590b9dd">GenericCHGraphTy</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html"> 208</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHGraph.html">CHGraph</a>: <span class="keyword">public</span> <a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a>, <span class="keyword">public</span> GenericCHGraphTy</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#af776f260ae050aa392e32f2a03f23733"> 210</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHGBuilder.html">CHGBuilder</a>;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b"> 213</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const CHNode*></a> <a class="code" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">CHNodeSetTy</a>;</div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#af1b638faf888898cdf168c25e008ab12"> 214</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList<const CHNode*></a> <a class="code" href="classSVF_1_1CHGraph.html#af1b638faf888898cdf168c25e008ab12">WorkList</a>;</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#aedb20aca2fa11a070cfe28e14fd3552b"> 215</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, CHNodeSetTy></a> <a class="code" href="classSVF_1_1CHGraph.html#aedb20aca2fa11a070cfe28e14fd3552b">NameToCHNodesMap</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a3740a239432a5c7237109aa72aa28eff"> 216</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<CallSite, CHNodeSetTy></a> <a class="code" href="classSVF_1_1CHGraph.html#a3740a239432a5c7237109aa72aa28eff">CallSiteToCHNodesMap</a>;</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#aefdf6c5fe8a26efce200e8225d463cac"> 217</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<CallSite, VTableSet></a> <a class="code" href="classSVF_1_1CHGraph.html#aefdf6c5fe8a26efce200e8225d463cac">CallSiteToVTableSetMap</a>;</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a0397e5da88106dc8b4a1e207ae455e74"> 218</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<CallSite, VFunSet></a> <a class="code" href="classSVF_1_1CHGraph.html#a0397e5da88106dc8b4a1e207ae455e74">CallSiteToVFunSetMap</a>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a2a1da7f262a2f11653fb583154a93a22"> 220</a></span>  <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a2a1da7f262a2f11653fb583154a93a22a331376f6d22d2346039db7a9c9a311c2"> 222</a></span>  CONSTRUCTOR = 0x1, <span class="comment">// connect node based on constructor</span></div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a2a1da7f262a2f11653fb583154a93a22adfb68ad45ad216277b580d9a45926dc7"> 223</a></span>  DESTRUCTOR = 0x2 <span class="comment">// connect node based on destructor</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  } <a class="code" href="classSVF_1_1CHGraph.html#a2a1da7f262a2f11653fb583154a93a22">RELATIONTYPE</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#afacd7d35dad4344a5c2551d951acb442"> 226</a></span>  <a class="code" href="classSVF_1_1CHGraph.html#afacd7d35dad4344a5c2551d951acb442">CHGraph</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule): svfMod(svfModule), classNum(0), vfID(0), buildingCHGTime(0)</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  this-><a class="code" href="classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071">kind</a> = <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8afa3f4c3017fb95011bfdc11b147eae0c">Standard</a>;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  }</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  ~<a class="code" href="classSVF_1_1CHGraph.html">CHGraph</a>() <span class="keyword">override</span> = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordtype">void</span> addEdge(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> className,</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> baseClassName,</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEdge::CHEDGETYPE</a> edgeType);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *getNode(<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>) <span class="keyword">const</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#aae511b2ee7c2c7ea7be70c7884e92021">getVFnsFromVtbls</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs, <span class="keyword">const</span> VTableSet &vtbls, VFunSet &virtualFunctions) <span class="keyword">override</span>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordtype">void</span> <a class="code" href="namespaceSVF.html#aae350f79ebcb9efd22ec9efa6678cd13">dump</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& filename);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordtype">void</span> view();</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordtype">void</span> printCH();</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a7151563857b7b6bdf8195aa571df7516"> 241</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CHGraph.html#a7151563857b7b6bdf8195aa571df7516">getVirtualFunctionID</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* vfn)<span class="keyword"> const</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, u32_t>::const_iterator</a> it =</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  virtualFunctionToIDMap.find(vfn);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">if</span> (it != virtualFunctionToIDMap.end())</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  }</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a7b678b4362a93e969f11b110b85d35ca"> 250</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1CHGraph.html#a7b678b4362a93e969f11b110b85d35ca">getVirtualFunctionBasedonID</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, u32_t>::const_iterator</a> it, eit;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">for</span> (it = virtualFunctionToIDMap.begin(), eit =</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  virtualFunctionToIDMap.end(); it != eit; ++it)</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">if</span> (it->second == <span class="keywordtype">id</span>)</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> it->first;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a5ee7e559425045f3af5c35ea6d6f03ee"> 262</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHGraph.html#a5ee7e559425045f3af5c35ea6d6f03ee">addInstances</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> templateName, <a class="code" href="classSVF_1_1CHNode.html">CHNode</a>* node)</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  NameToCHNodesMap::iterator it = templateNameToInstancesMap.find(</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  templateName);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">if</span> (it != templateNameToInstancesMap.end())</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  it->second.insert(node);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  templateNameToInstancesMap[templateName].insert(node);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  }</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a26f89a9b269cad3fc894110d25598715"> 271</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> CHNodeSetTy &<a class="code" href="classSVF_1_1CHGraph.html#a26f89a9b269cad3fc894110d25598715">getDescendants</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> className)</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> classNameToDescendantsMap[className];</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a894a69fa143d3f460d433646a0521b6f"> 275</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> CHNodeSetTy &<a class="code" href="classSVF_1_1CHGraph.html#a894a69fa143d3f460d433646a0521b6f">getInstances</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> className)</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> templateNameToInstancesMap[className];</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#acd4907aa926a4c7fdc3964700d721f79"> 280</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHGraph.html#acd4907aa926a4c7fdc3964700d721f79">csHasVtblsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)<span class="keyword"> override</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  CallSiteToVTableSetMap::const_iterator it = csToCHAVtblsMap.find(cs);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">return</span> it != csToCHAVtblsMap.end();</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  }</div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a885a81b08477e6ccdd7df98d249b8c39"> 285</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHGraph.html#a885a81b08477e6ccdd7df98d249b8c39">csHasVFnsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)<span class="keyword"> override</span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  CallSiteToVFunSetMap::const_iterator it = csToCHAVFnsMap.find(cs);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> it != csToCHAVFnsMap.end();</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div><div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a9878df891d2e20d09b65096060d2c148"> 290</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> VTableSet &<a class="code" href="classSVF_1_1CHGraph.html#a9878df891d2e20d09b65096060d2c148">getCSVtblsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)<span class="keyword"> override</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  CallSiteToVTableSetMap::const_iterator it = csToCHAVtblsMap.find(cs);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  assert(it != csToCHAVtblsMap.end() && <span class="stringliteral">"cs does not have vtabls based on CHA."</span>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  }</div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a1c0ca4e6a466ad317daf00a6c7de8e31"> 296</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> VFunSet &<a class="code" href="classSVF_1_1CHGraph.html#a1c0ca4e6a466ad317daf00a6c7de8e31">getCSVFsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)<span class="keyword"> override</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  CallSiteToVFunSetMap::const_iterator it = csToCHAVFnsMap.find(cs);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  assert(it != csToCHAVFnsMap.end() && <span class="stringliteral">"cs does not have vfns based on CHA."</span>);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  }</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ae7e9f1a3c524d80c77b2a75f877dc2d6"> 303</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHGraph.html#ae7e9f1a3c524d80c77b2a75f877dc2d6">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a> *chg)</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">return</span> chg-><a class="code" href="classSVF_1_1CommonCHGraph.html#adf2a02fff9d7dd9fc9d92121e5e28f8b">getKind</a>() == <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8afa3f4c3017fb95011bfdc11b147eae0c">Standard</a>;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a62a3ccdbc55381d5f8d96dc23141f2e5"> 310</a></span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* <a class="code" href="classSVF_1_1CHGraph.html#a62a3ccdbc55381d5f8d96dc23141f2e5">svfMod</a>;</div><div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#adb99b732d20cfc8cc0f078cda6753bc0"> 311</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CHGraph.html#adb99b732d20cfc8cc0f078cda6753bc0">classNum</a>;</div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270"> 312</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270">vfID</a>;</div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ab5bd2348e4418fcb2f3b18227fccd836"> 313</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CHGraph.html#ab5bd2348e4418fcb2f3b18227fccd836">buildingCHGTime</a>;</div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#aa040bc0a5653843419d24777343e1650"> 314</a></span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, CHNode *></a> <a class="code" href="classSVF_1_1CHGraph.html#aa040bc0a5653843419d24777343e1650">classNameToNodeMap</a>;</div><div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ac08f846413b6aed26a1bf39eb865b006"> 315</a></span>  NameToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#ac08f846413b6aed26a1bf39eb865b006">classNameToDescendantsMap</a>;</div><div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a083f726d74208c2d8107a75e0d6b3ca9"> 316</a></span>  NameToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#a083f726d74208c2d8107a75e0d6b3ca9">classNameToAncestorsMap</a>;</div><div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#aaec4bdde66e4a7a63ea3f3c6ec0bd045"> 317</a></span>  NameToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#aaec4bdde66e4a7a63ea3f3c6ec0bd045">classNameToInstAndDescsMap</a>;</div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#acd022005e2191bc3bcb265805abee4f8"> 318</a></span>  NameToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#acd022005e2191bc3bcb265805abee4f8">templateNameToInstancesMap</a>;</div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986"> 319</a></span>  CallSiteToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">csToClassesMap</a>;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div><div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0"> 321</a></span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, u32_t></a> <a class="code" href="classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0">virtualFunctionToIDMap</a>;</div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#af3ed2bee5d76e5a848b250950c3be333"> 322</a></span>  CallSiteToVTableSetMap <a class="code" href="classSVF_1_1CHGraph.html#af3ed2bee5d76e5a848b250950c3be333">csToCHAVtblsMap</a>;</div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a5e6502c5baad99c70e1cf56c84ce9474"> 323</a></span>  CallSiteToVFunSetMap <a class="code" href="classSVF_1_1CHGraph.html#a5e6502c5baad99c70e1cf56c84ce9474">csToCHAVFnsMap</a>;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> };</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keyword">namespace </span><a class="code" href="namespacellvm.html">llvm</a></div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment">/* !</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> * GraphTraits specializations for generic graph algorithms.</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> * Provide graph traits for traversing from a constraint node using standard graph traversals.</span></div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> */</span></div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html"> 334</a></span> <span class="keyword">template</span><> <span class="keyword">struct </span>GraphTraits<<a class="code" href="namespaceSVF.html">SVF</a>::CHNode*> : <span class="keyword">public</span> GraphTraits<SVF::GenericNode<SVF::CHNode,SVF::CHEdge>* ></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> };</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keyword">template</span><></div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html"> 340</a></span> <span class="keyword">struct </span>GraphTraits<Inverse<SVF::CHNode*> > : <span class="keyword">public</span> GraphTraits<Inverse<SVF::GenericNode<SVF::CHNode,SVF::CHEdge>* > ></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span> {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> };</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html"> 344</a></span> <span class="keyword">template</span><> <span class="keyword">struct </span>GraphTraits<SVF::CHGraph*> : <span class="keyword">public</span> GraphTraits<SVF::GenericGraph<SVF::CHNode,SVF::CHEdge>* ></div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html#aea2a657d278919364d2911d92b3e6f5a"> 346</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CHNode.html">SVF::CHNode</a> *<a class="code" href="structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html#aea2a657d278919364d2911d92b3e6f5a">NodeRef</a>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> };</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> } <span class="comment">// End namespace llvm</span></div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="preprocessor">#endif </span><span class="comment">/* CHA_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1CHGraph_html_adb99b732d20cfc8cc0f078cda6753bc0"><div class="ttname"><a href="classSVF_1_1CHGraph.html#adb99b732d20cfc8cc0f078cda6753bc0">SVF::CHGraph::classNum</a></div><div class="ttdeci">u32_t classNum</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00311">CHG.h:311</a></div></div>
|
|
69
|
+
<a href="CHG_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===----- CHG.h -- Class hirachary graph ---------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * CHG.h (previously CHA.h)</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Created on: Apr 13, 2016</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Author: Xiaokang Fan</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Created on: Aug 24, 2019</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * Author: Mohamad Barbar</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> */</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#ifndef CHA_H_</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#define CHA_H_</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="SVFModule_8h.html">SVFIR/SVFModule.h</a>"</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="GenericGraph_8h.html">Graphs/GenericGraph.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="WorkList_8h.html">Util/WorkList.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">class </span>SVFModule;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a340a9e77adc2bbfdee79e22da9ead234"> 44</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHNode.html">CHNode</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFGlobalValue*></a> <a class="code" href="namespaceSVF.html#a340a9e77adc2bbfdee79e22da9ead234">VTableSet</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7"> 47</a></span> <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFFunction*></a> <a class="code" href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7">VFunSet</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html"> 50</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#aeb7e79b36c74bcded008fe227952c335"> 53</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#aeb7e79b36c74bcded008fe227952c335">~CommonCHGraph</a>() { };</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8"> 54</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8">CHGKind</a></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8afa3f4c3017fb95011bfdc11b147eae0c"> 56</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8afa3f4c3017fb95011bfdc11b147eae0c">Standard</a>,</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8ae9e3edea0bae930aa9af04699fca9506"> 57</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8ae9e3edea0bae930aa9af04699fca9506">DI</a></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  };</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#a0ce9117288d9e0b498f128217fda0cca">csHasVFnsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs) = 0;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> VFunSet &<a class="code" href="classSVF_1_1CommonCHGraph.html#abe9232b9cada361e0434f7c4390a7864">getCSVFsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs) = 0;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#aff7363feebc20267dad7230666b583b1">csHasVtblsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs) = 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> VTableSet &<a class="code" href="classSVF_1_1CommonCHGraph.html#ae90f9a2152ab07aa0df16badd733f1fd">getCSVtblsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs) = 0;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#aae511b2ee7c2c7ea7be70c7884e92021">getVFnsFromVtbls</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs, <span class="keyword">const</span> VTableSet &vtbls, VFunSet &virtualFunctions) = 0;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#adf2a02fff9d7dd9fc9d92121e5e28f8b"> 66</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8">CHGKind</a> <a class="code" href="classSVF_1_1CommonCHGraph.html#adf2a02fff9d7dd9fc9d92121e5e28f8b">getKind</a>(<span class="keywordtype">void</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071">kind</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071"> 72</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8">CHGKind</a> <a class="code" href="classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071">kind</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> };</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a7cb629496a70d2dd22634405652e573a"> 76</a></span> <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericEdge.html">GenericEdge<CHNode></a> <a class="code" href="namespaceSVF.html#a7cb629496a70d2dd22634405652e573a">GenericCHEdgeTy</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html"> 77</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHEdge.html">CHEdge</a>: <span class="keyword">public</span> GenericCHEdgeTy</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676"> 80</a></span>  <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676a78df5157ac61c49a724af5aa03d36d0c"> 82</a></span>  INHERITANCE = 0x1, <span class="comment">// inheritance relation</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676a8721eaefd547d6ba5229463d644815f4"> 83</a></span>  INSTANTCE = 0x2 <span class="comment">// template-instance relation</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  } <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEDGETYPE</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#ae2c206fb3c7e4d9deec7d8298caf5017"> 86</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GenericNode<CHNode,CHEdge>::GEdgeSetTy</a> <a class="code" href="classSVF_1_1CHEdge.html#ae2c206fb3c7e4d9deec7d8298caf5017">CHEdgeSetTy</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#af01c14c28db231b7bfae39344d1ae8ee"> 88</a></span>  <a class="code" href="classSVF_1_1CHEdge.html#af01c14c28db231b7bfae39344d1ae8ee">CHEdge</a>(<a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *s, <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *d, <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEDGETYPE</a> et, <a class="code" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> k = 0):</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  GenericCHEdgeTy(s,d,k)</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  edgeType = et;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#ae2b90913c6c5a30df2b285d31c694525"> 94</a></span>  <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEDGETYPE</a> <a class="code" href="classSVF_1_1CHEdge.html#ae2b90913c6c5a30df2b285d31c694525">getEdgeType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> edgeType;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1CHEdge.html#a58ac14decda4041e773d723475f5c1c8"> 100</a></span>  <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEDGETYPE</a> <a class="code" href="classSVF_1_1CHEdge.html#a58ac14decda4041e773d723475f5c1c8">edgeType</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> };</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a838ed37e84836101711c25a760eec57d"> 103</a></span> <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericNode<CHNode,CHEdge></a> <a class="code" href="namespaceSVF.html#a838ed37e84836101711c25a760eec57d">GenericCHNodeTy</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html"> 104</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHNode.html">CHNode</a>: <span class="keyword">public</span> GenericCHNodeTy</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4"> 107</a></span>  <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  {</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4ab530567d5ba09c9c579aef964aef8f81"> 109</a></span>  PURE_ABSTRACT = 0x1, <span class="comment">// pure virtual abstract class</span></div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4afd6d851b22e741690f0736b4858d81a5"> 110</a></span>  MULTI_INHERITANCE = 0x2, <span class="comment">// multi inheritance class</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4a330331556c568fcd60c9df6df2c1281d"> 111</a></span>  TEMPLATE = 0x04 <span class="comment">// template class</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  } <a class="code" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4">CLASSATTR</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aa4af6538c9994ec54a7b82691f846a31"> 114</a></span>  <span class="keyword">typedef</span> std::vector<const SVFFunction*> <a class="code" href="classSVF_1_1CHNode.html#aa4af6538c9994ec54a7b82691f846a31">FuncVector</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a1f2c496e378d01841e4dc164942dc145"> 116</a></span>  <a class="code" href="classSVF_1_1CHNode.html#a1f2c496e378d01841e4dc164942dc145">CHNode</a> (<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>, <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> i = 0, <a class="code" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> k = 0):</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  GenericCHNodeTy(i, k), vtable(nullptr), className(name), flags(0)</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aff05589899b58112119af68df5d1997e"> 120</a></span>  <a class="code" href="classSVF_1_1CHNode.html#aff05589899b58112119af68df5d1997e">~CHNode</a>()</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089"> 123</a></span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">getName</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> className;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#ab3755d804852b8a98bdf8cd0171f3a2f"> 129</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#ab3755d804852b8a98bdf8cd0171f3a2f">setFlag</a>(<a class="code" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4">CLASSATTR</a> mask)</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  flags |= mask;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aebcbd36a7efc0dbe9b3c3f680ef033e7"> 133</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHNode.html#aebcbd36a7efc0dbe9b3c3f680ef033e7">hasFlag</a>(<a class="code" href="classSVF_1_1CHNode.html#a7111a3971f9f03e32bfd291a783d43b4">CLASSATTR</a> mask)<span class="keyword"> const</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">return</span> (flags & mask) == mask;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  }</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#abac89987927dadd53dd646eae540a024"> 141</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#abac89987927dadd53dd646eae540a024">setPureAbstract</a>()</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  setFlag(PURE_ABSTRACT);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  }</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a5d751a3a0d88c0de374bfeb526051440"> 145</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#a5d751a3a0d88c0de374bfeb526051440">setMultiInheritance</a>()</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  setFlag(MULTI_INHERITANCE);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a00343177422c8d84d707432d0c483438"> 149</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#a00343177422c8d84d707432d0c483438">setTemplate</a>()</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  setFlag(TEMPLATE);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a268ccdfb486cc2efa8581ee7a3b5af39"> 153</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHNode.html#a268ccdfb486cc2efa8581ee7a3b5af39">isPureAbstract</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> hasFlag(PURE_ABSTRACT);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a224a394537fae62e64cf62a0d4fdd430"> 157</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHNode.html#a224a394537fae62e64cf62a0d4fdd430">isMultiInheritance</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">return</span> hasFlag(MULTI_INHERITANCE);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aff23fda93401c60422a4a5a08d77d749"> 161</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHNode.html#aff23fda93401c60422a4a5a08d77d749">isTemplate</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">return</span> hasFlag(TEMPLATE);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a8c51571df92b5e152cc42e9aaf712dc9"> 167</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#a8c51571df92b5e152cc42e9aaf712dc9">addVirtualFunctionVector</a>(FuncVector vfuncvec)</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  virtualFunctionVectors.push_back(vfuncvec);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a5df1cf4d51bf3406d188c96bc9aae0af"> 171</a></span>  <span class="keyword">const</span> std::vector<FuncVector> &<a class="code" href="classSVF_1_1CHNode.html#a5df1cf4d51bf3406d188c96bc9aae0af">getVirtualFunctionVectors</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">return</span> virtualFunctionVectors;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordtype">void</span> getVirtualFunctions(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx, FuncVector &virtualFunctions) <span class="keyword">const</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aa49ae91e2dd45c94f3d7694eb7e6737b"> 177</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a> *<a class="code" href="classSVF_1_1CHNode.html#aa49ae91e2dd45c94f3d7694eb7e6737b">getVTable</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> vtable;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#aa72c4509da3bfd2a3c656da38fe36c81"> 182</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHNode.html#aa72c4509da3bfd2a3c656da38fe36c81">setVTable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a> *vtbl)</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  vtable = vtbl;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a0caf16354322896e25a705bb179828ed"> 188</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a>* <a class="code" href="classSVF_1_1CHNode.html#a0caf16354322896e25a705bb179828ed">vtable</a>;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#ac7c18617b768a2988cf4eff7e849f397"> 189</a></span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1CHNode.html#ac7c18617b768a2988cf4eff7e849f397">className</a>;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a6844c89f715979709dc52d4854373e72"> 190</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1CHNode.html#a6844c89f715979709dc52d4854373e72">flags</a>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="comment">/*</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment"> * virtual functions inherited from different classes are separately stored</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> * to model different vtables inherited from different fathers.</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> *</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> * Example:</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> * class C: public A, public B</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> * vtableC = {Af1, Af2, ..., inttoptr, Bg1, Bg2, ...} ("inttoptr"</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> * instruction works as the delimiter for separating virtual functions</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> * inherited from different classes)</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> *</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"> * virtualFunctionVectors = {{Af1, Af2, ...}, {Bg1, Bg2, ...}}</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> */</span></div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classSVF_1_1CHNode.html#a9c81308b3eac1728c122fda39e260a90"> 203</a></span>  std::vector<FuncVector> <a class="code" href="classSVF_1_1CHNode.html#a9c81308b3eac1728c122fda39e260a90">virtualFunctionVectors</a>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> };</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="namespaceSVF.html#aa8bd37e4ec2e98c805a14adbf590b9dd"> 207</a></span> <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph<CHNode,CHEdge></a> <a class="code" href="namespaceSVF.html#aa8bd37e4ec2e98c805a14adbf590b9dd">GenericCHGraphTy</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html"> 208</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHGraph.html">CHGraph</a>: <span class="keyword">public</span> <a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a>, <span class="keyword">public</span> GenericCHGraphTy</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#af776f260ae050aa392e32f2a03f23733"> 210</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CHGBuilder.html">CHGBuilder</a>;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b"> 213</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const CHNode*></a> <a class="code" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">CHNodeSetTy</a>;</div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#af1b638faf888898cdf168c25e008ab12"> 214</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList<const CHNode*></a> <a class="code" href="classSVF_1_1CHGraph.html#af1b638faf888898cdf168c25e008ab12">WorkList</a>;</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#aedb20aca2fa11a070cfe28e14fd3552b"> 215</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, CHNodeSetTy></a> <a class="code" href="classSVF_1_1CHGraph.html#aedb20aca2fa11a070cfe28e14fd3552b">NameToCHNodesMap</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a3740a239432a5c7237109aa72aa28eff"> 216</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<CallSite, CHNodeSetTy></a> <a class="code" href="classSVF_1_1CHGraph.html#a3740a239432a5c7237109aa72aa28eff">CallSiteToCHNodesMap</a>;</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#aefdf6c5fe8a26efce200e8225d463cac"> 217</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<CallSite, VTableSet></a> <a class="code" href="classSVF_1_1CHGraph.html#aefdf6c5fe8a26efce200e8225d463cac">CallSiteToVTableSetMap</a>;</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a0397e5da88106dc8b4a1e207ae455e74"> 218</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<CallSite, VFunSet></a> <a class="code" href="classSVF_1_1CHGraph.html#a0397e5da88106dc8b4a1e207ae455e74">CallSiteToVFunSetMap</a>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a2a1da7f262a2f11653fb583154a93a22"> 220</a></span>  <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a2a1da7f262a2f11653fb583154a93a22a331376f6d22d2346039db7a9c9a311c2"> 222</a></span>  CONSTRUCTOR = 0x1, <span class="comment">// connect node based on constructor</span></div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a2a1da7f262a2f11653fb583154a93a22adfb68ad45ad216277b580d9a45926dc7"> 223</a></span>  DESTRUCTOR = 0x2 <span class="comment">// connect node based on destructor</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  } <a class="code" href="classSVF_1_1CHGraph.html#a2a1da7f262a2f11653fb583154a93a22">RELATIONTYPE</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#afacd7d35dad4344a5c2551d951acb442"> 226</a></span>  <a class="code" href="classSVF_1_1CHGraph.html#afacd7d35dad4344a5c2551d951acb442">CHGraph</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule): svfMod(svfModule), classNum(0), vfID(0), buildingCHGTime(0)</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  this-><a class="code" href="classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071">kind</a> = <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8afa3f4c3017fb95011bfdc11b147eae0c">Standard</a>;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  }</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  ~<a class="code" href="classSVF_1_1CHGraph.html">CHGraph</a>() <span class="keyword">override</span> = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordtype">void</span> addEdge(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> className,</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> baseClassName,</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">CHEdge::CHEDGETYPE</a> edgeType);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *getNode(<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>) <span class="keyword">const</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CommonCHGraph.html#aae511b2ee7c2c7ea7be70c7884e92021">getVFnsFromVtbls</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs, <span class="keyword">const</span> VTableSet &vtbls, VFunSet &virtualFunctions) <span class="keyword">override</span>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordtype">void</span> <a class="code" href="namespaceSVF.html#aae350f79ebcb9efd22ec9efa6678cd13">dump</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& filename);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordtype">void</span> view();</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordtype">void</span> printCH();</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a7151563857b7b6bdf8195aa571df7516"> 241</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CHGraph.html#a7151563857b7b6bdf8195aa571df7516">getVirtualFunctionID</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* vfn)<span class="keyword"> const</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, u32_t>::const_iterator</a> it =</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  virtualFunctionToIDMap.find(vfn);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">if</span> (it != virtualFunctionToIDMap.end())</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  }</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a7b678b4362a93e969f11b110b85d35ca"> 250</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1CHGraph.html#a7b678b4362a93e969f11b110b85d35ca">getVirtualFunctionBasedonID</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, u32_t>::const_iterator</a> it, eit;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">for</span> (it = virtualFunctionToIDMap.begin(), eit =</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  virtualFunctionToIDMap.end(); it != eit; ++it)</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">if</span> (it->second == <span class="keywordtype">id</span>)</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> it->first;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a5ee7e559425045f3af5c35ea6d6f03ee"> 262</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CHGraph.html#a5ee7e559425045f3af5c35ea6d6f03ee">addInstances</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> templateName, <a class="code" href="classSVF_1_1CHNode.html">CHNode</a>* node)</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  NameToCHNodesMap::iterator it = templateNameToInstancesMap.find(</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  templateName);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">if</span> (it != templateNameToInstancesMap.end())</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  it->second.insert(node);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  templateNameToInstancesMap[templateName].insert(node);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  }</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a26f89a9b269cad3fc894110d25598715"> 271</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> CHNodeSetTy &<a class="code" href="classSVF_1_1CHGraph.html#a26f89a9b269cad3fc894110d25598715">getDescendants</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> className)</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> classNameToDescendantsMap[className];</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a894a69fa143d3f460d433646a0521b6f"> 275</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> CHNodeSetTy &<a class="code" href="classSVF_1_1CHGraph.html#a894a69fa143d3f460d433646a0521b6f">getInstances</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> className)</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> templateNameToInstancesMap[className];</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#acd4907aa926a4c7fdc3964700d721f79"> 280</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHGraph.html#acd4907aa926a4c7fdc3964700d721f79">csHasVtblsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)<span class="keyword"> override</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  CallSiteToVTableSetMap::const_iterator it = csToCHAVtblsMap.find(cs);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">return</span> it != csToCHAVtblsMap.end();</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  }</div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a885a81b08477e6ccdd7df98d249b8c39"> 285</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHGraph.html#a885a81b08477e6ccdd7df98d249b8c39">csHasVFnsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)<span class="keyword"> override</span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  CallSiteToVFunSetMap::const_iterator it = csToCHAVFnsMap.find(cs);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> it != csToCHAVFnsMap.end();</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div><div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a9878df891d2e20d09b65096060d2c148"> 290</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> VTableSet &<a class="code" href="classSVF_1_1CHGraph.html#a9878df891d2e20d09b65096060d2c148">getCSVtblsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)<span class="keyword"> override</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  CallSiteToVTableSetMap::const_iterator it = csToCHAVtblsMap.find(cs);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  assert(it != csToCHAVtblsMap.end() && <span class="stringliteral">"cs does not have vtabls based on CHA."</span>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  }</div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a1c0ca4e6a466ad317daf00a6c7de8e31"> 296</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> VFunSet &<a class="code" href="classSVF_1_1CHGraph.html#a1c0ca4e6a466ad317daf00a6c7de8e31">getCSVFsBasedonCHA</a>(<a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)<span class="keyword"> override</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  CallSiteToVFunSetMap::const_iterator it = csToCHAVFnsMap.find(cs);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  assert(it != csToCHAVFnsMap.end() && <span class="stringliteral">"cs does not have vfns based on CHA."</span>);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  }</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ae7e9f1a3c524d80c77b2a75f877dc2d6"> 303</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CHGraph.html#ae7e9f1a3c524d80c77b2a75f877dc2d6">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a> *chg)</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">return</span> chg-><a class="code" href="classSVF_1_1CommonCHGraph.html#adf2a02fff9d7dd9fc9d92121e5e28f8b">getKind</a>() == <a class="code" href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8afa3f4c3017fb95011bfdc11b147eae0c">Standard</a>;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a62a3ccdbc55381d5f8d96dc23141f2e5"> 310</a></span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* <a class="code" href="classSVF_1_1CHGraph.html#a62a3ccdbc55381d5f8d96dc23141f2e5">svfMod</a>;</div><div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#adb99b732d20cfc8cc0f078cda6753bc0"> 311</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CHGraph.html#adb99b732d20cfc8cc0f078cda6753bc0">classNum</a>;</div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270"> 312</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270">vfID</a>;</div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ab5bd2348e4418fcb2f3b18227fccd836"> 313</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CHGraph.html#ab5bd2348e4418fcb2f3b18227fccd836">buildingCHGTime</a>;</div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#aa040bc0a5653843419d24777343e1650"> 314</a></span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, CHNode *></a> <a class="code" href="classSVF_1_1CHGraph.html#aa040bc0a5653843419d24777343e1650">classNameToNodeMap</a>;</div><div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#ac08f846413b6aed26a1bf39eb865b006"> 315</a></span>  NameToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#ac08f846413b6aed26a1bf39eb865b006">classNameToDescendantsMap</a>;</div><div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a083f726d74208c2d8107a75e0d6b3ca9"> 316</a></span>  NameToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#a083f726d74208c2d8107a75e0d6b3ca9">classNameToAncestorsMap</a>;</div><div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#aaec4bdde66e4a7a63ea3f3c6ec0bd045"> 317</a></span>  NameToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#aaec4bdde66e4a7a63ea3f3c6ec0bd045">classNameToInstAndDescsMap</a>;</div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#acd022005e2191bc3bcb265805abee4f8"> 318</a></span>  NameToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#acd022005e2191bc3bcb265805abee4f8">templateNameToInstancesMap</a>;</div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986"> 319</a></span>  CallSiteToCHNodesMap <a class="code" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">csToClassesMap</a>;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div><div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0"> 321</a></span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, u32_t></a> <a class="code" href="classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0">virtualFunctionToIDMap</a>;</div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#af3ed2bee5d76e5a848b250950c3be333"> 322</a></span>  CallSiteToVTableSetMap <a class="code" href="classSVF_1_1CHGraph.html#af3ed2bee5d76e5a848b250950c3be333">csToCHAVtblsMap</a>;</div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="classSVF_1_1CHGraph.html#a5e6502c5baad99c70e1cf56c84ce9474"> 323</a></span>  CallSiteToVFunSetMap <a class="code" href="classSVF_1_1CHGraph.html#a5e6502c5baad99c70e1cf56c84ce9474">csToCHAVFnsMap</a>;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> };</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment">/* !</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> * GenericGraphTraits specializations for generic graph algorithms.</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> * Provide graph traits for traversing from a constraint node using standard graph traversals.</span></div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> */</span></div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html"> 334</a></span> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1CHNode.html">CHNode</a>*> : <span class="keyword">public</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><SVF::GenericNode<SVF::CHNode,SVF::CHEdge>* ></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> };</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keyword">template</span><></div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html"> 340</a></span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><<a class="code" href="structSVF_1_1Inverse.html">Inverse</a><SVF::<a class="code" href="classSVF_1_1CHNode.html">CHNode</a>*> > : <span class="keyword">public</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><Inverse<SVF::GenericNode<SVF::CHNode,SVF::CHEdge>* > ></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span> {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span> };</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html"> 344</a></span> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><SVF::<a class="code" href="classSVF_1_1CHGraph.html">CHGraph</a>*> : <span class="keyword">public</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><SVF::GenericGraph<SVF::CHNode,SVF::CHEdge>* ></div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html#ab94f45e7c2a40418fbba5c2cb916f79d"> 346</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CHNode.html">SVF::CHNode</a> *<a class="code" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html#ab94f45e7c2a40418fbba5c2cb916f79d">NodeRef</a>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> };</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> } <span class="comment">// End namespace llvm</span></div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="preprocessor">#endif </span><span class="comment">/* CHA_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1CHGraph_html_adb99b732d20cfc8cc0f078cda6753bc0"><div class="ttname"><a href="classSVF_1_1CHGraph.html#adb99b732d20cfc8cc0f078cda6753bc0">SVF::CHGraph::classNum</a></div><div class="ttdeci">u32_t classNum</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00311">CHG.h:311</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1CHGraph_html_acd022005e2191bc3bcb265805abee4f8"><div class="ttname"><a href="classSVF_1_1CHGraph.html#acd022005e2191bc3bcb265805abee4f8">SVF::CHGraph::templateNameToInstancesMap</a></div><div class="ttdeci">NameToCHNodesMap templateNameToInstancesMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00318">CHG.h:318</a></div></div>
|
|
71
71
|
<div class="ttc" id="classSVF_1_1CHEdge_html_ae2b90913c6c5a30df2b285d31c694525"><div class="ttname"><a href="classSVF_1_1CHEdge.html#ae2b90913c6c5a30df2b285d31c694525">SVF::CHEdge::getEdgeType</a></div><div class="ttdeci">CHEDGETYPE getEdgeType() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00094">CHG.h:94</a></div></div>
|
|
72
|
-
<div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00192">CFLGraph.h:192</a></div></div>
|
|
73
72
|
<div class="ttc" id="classSVF_1_1CommonCHGraph_html_a4d3f2b9ed7ae8e87baf69525e9115071"><div class="ttname"><a href="classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071">SVF::CommonCHGraph::kind</a></div><div class="ttdeci">CHGKind kind</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00072">CHG.h:72</a></div></div>
|
|
74
73
|
<div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
75
74
|
<div class="ttc" id="classSVF_1_1CHGraph_html_aedb20aca2fa11a070cfe28e14fd3552b"><div class="ttname"><a href="classSVF_1_1CHGraph.html#aedb20aca2fa11a070cfe28e14fd3552b">SVF::CHGraph::NameToCHNodesMap</a></div><div class="ttdeci">Map< std::string, CHNodeSetTy > NameToCHNodesMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00215">CHG.h:215</a></div></div>
|
|
@@ -82,7 +81,7 @@ $(function() {
|
|
|
82
81
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a2a1da7f262a2f11653fb583154a93a22"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a2a1da7f262a2f11653fb583154a93a22">SVF::CHGraph::RELATIONTYPE</a></div><div class="ttdeci">RELATIONTYPE</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00220">CHG.h:220</a></div></div>
|
|
83
82
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a885a81b08477e6ccdd7df98d249b8c39"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a885a81b08477e6ccdd7df98d249b8c39">SVF::CHGraph::csHasVFnsBasedonCHA</a></div><div class="ttdeci">bool csHasVFnsBasedonCHA(CallSite cs) override</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00285">CHG.h:285</a></div></div>
|
|
84
83
|
<div class="ttc" id="classSVF_1_1CommonCHGraph_html_a6a1feb9e268fb56b0de3efc39cfc8db8ae9e3edea0bae930aa9af04699fca9506"><div class="ttname"><a href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8ae9e3edea0bae930aa9af04699fca9506">SVF::CommonCHGraph::DI</a></div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00057">CHG.h:57</a></div></div>
|
|
85
|
-
<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="SVFValue_8h_source.html#
|
|
84
|
+
<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="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
|
|
86
85
|
<div class="ttc" id="classSVF_1_1CHNode_html_aa4af6538c9994ec54a7b82691f846a31"><div class="ttname"><a href="classSVF_1_1CHNode.html#aa4af6538c9994ec54a7b82691f846a31">SVF::CHNode::FuncVector</a></div><div class="ttdeci">std::vector< const SVFFunction * > FuncVector</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00114">CHG.h:114</a></div></div>
|
|
87
86
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a083f726d74208c2d8107a75e0d6b3ca9"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a083f726d74208c2d8107a75e0d6b3ca9">SVF::CHGraph::classNameToAncestorsMap</a></div><div class="ttdeci">NameToCHNodesMap classNameToAncestorsMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00316">CHG.h:316</a></div></div>
|
|
88
87
|
<div class="ttc" id="classSVF_1_1CHEdge_html_a26280c3b724551036f7e3ba2b5922676"><div class="ttname"><a href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676">SVF::CHEdge::CHEDGETYPE</a></div><div class="ttdeci">CHEDGETYPE</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00080">CHG.h:80</a></div></div>
|
|
@@ -101,7 +100,7 @@ $(function() {
|
|
|
101
100
|
<div class="ttc" id="classSVF_1_1CHNode_html_a224a394537fae62e64cf62a0d4fdd430"><div class="ttname"><a href="classSVF_1_1CHNode.html#a224a394537fae62e64cf62a0d4fdd430">SVF::CHNode::isMultiInheritance</a></div><div class="ttdeci">bool isMultiInheritance() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00157">CHG.h:157</a></div></div>
|
|
102
101
|
<div class="ttc" id="classSVF_1_1CHNode_html_a6844c89f715979709dc52d4854373e72"><div class="ttname"><a href="classSVF_1_1CHNode.html#a6844c89f715979709dc52d4854373e72">SVF::CHNode::flags</a></div><div class="ttdeci">size_t flags</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00190">CHG.h:190</a></div></div>
|
|
103
102
|
<div class="ttc" id="classSVF_1_1CHNode_html_aa72c4509da3bfd2a3c656da38fe36c81"><div class="ttname"><a href="classSVF_1_1CHNode.html#aa72c4509da3bfd2a3c656da38fe36c81">SVF::CHNode::setVTable</a></div><div class="ttdeci">void setVTable(const SVFGlobalValue *vtbl)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00182">CHG.h:182</a></div></div>
|
|
104
|
-
<div class="ttc" id="classSVF_1_1GenericEdge_html"><div class="ttname"><a href="classSVF_1_1GenericEdge.html">SVF::GenericEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
103
|
+
<div class="ttc" id="classSVF_1_1GenericEdge_html"><div class="ttname"><a href="classSVF_1_1GenericEdge.html">SVF::GenericEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00044">GenericGraph.h:44</a></div></div>
|
|
105
104
|
<div class="ttc" id="namespaceSVF_html_a7cb629496a70d2dd22634405652e573a"><div class="ttname"><a href="namespaceSVF.html#a7cb629496a70d2dd22634405652e573a">SVF::GenericCHEdgeTy</a></div><div class="ttdeci">GenericEdge< CHNode > GenericCHEdgeTy</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00076">CHG.h:76</a></div></div>
|
|
106
105
|
<div class="ttc" id="namespaceSVF_html_a838ed37e84836101711c25a760eec57d"><div class="ttname"><a href="namespaceSVF.html#a838ed37e84836101711c25a760eec57d">SVF::GenericCHNodeTy</a></div><div class="ttdeci">GenericNode< CHNode, CHEdge > GenericCHNodeTy</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00103">CHG.h:103</a></div></div>
|
|
107
106
|
<div class="ttc" id="classSVF_1_1CHEdge_html_a58ac14decda4041e773d723475f5c1c8"><div class="ttname"><a href="classSVF_1_1CHEdge.html#a58ac14decda4041e773d723475f5c1c8">SVF::CHEdge::edgeType</a></div><div class="ttdeci">CHEDGETYPE edgeType</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00100">CHG.h:100</a></div></div>
|
|
@@ -109,13 +108,14 @@ $(function() {
|
|
|
109
108
|
<div class="ttc" id="classSVF_1_1CommonCHGraph_html_aeb7e79b36c74bcded008fe227952c335"><div class="ttname"><a href="classSVF_1_1CommonCHGraph.html#aeb7e79b36c74bcded008fe227952c335">SVF::CommonCHGraph::~CommonCHGraph</a></div><div class="ttdeci">virtual ~CommonCHGraph()</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00053">CHG.h:53</a></div></div>
|
|
110
109
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a5ee7e559425045f3af5c35ea6d6f03ee"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a5ee7e559425045f3af5c35ea6d6f03ee">SVF::CHGraph::addInstances</a></div><div class="ttdeci">void addInstances(const std::string templateName, CHNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00262">CHG.h:262</a></div></div>
|
|
111
110
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a7ef9982d89a4932883bd58bc49ad9986"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">SVF::CHGraph::csToClassesMap</a></div><div class="ttdeci">CallSiteToCHNodesMap csToClassesMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00319">CHG.h:319</a></div></div>
|
|
112
|
-
<div class="ttc" id="
|
|
111
|
+
<div class="ttc" id="structSVF_1_1Inverse_html"><div class="ttname"><a href="structSVF_1_1Inverse.html">SVF::Inverse</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphTraits_8h_source.html#l00097">GraphTraits.h:97</a></div></div>
|
|
112
|
+
<div class="ttc" id="classSVF_1_1GenericNode_html_a03c6da4a73c47f84f5c5b47252bc339a"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">SVF::GenericNode::GEdgeSetTy</a></div><div class="ttdeci">OrderedSet< EdgeType *, typename EdgeType::equalGEdge > GEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00142">GenericGraph.h:142</a></div></div>
|
|
113
113
|
<div class="ttc" id="namespaceSVF_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="SVFType_8h_source.html#l00094">SVFType.h:94</a></div></div>
|
|
114
114
|
<div class="ttc" id="classSVF_1_1CHNode_html_a5d751a3a0d88c0de374bfeb526051440"><div class="ttname"><a href="classSVF_1_1CHNode.html#a5d751a3a0d88c0de374bfeb526051440">SVF::CHNode::setMultiInheritance</a></div><div class="ttdeci">void setMultiInheritance()</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00145">CHG.h:145</a></div></div>
|
|
115
115
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a894a69fa143d3f460d433646a0521b6f"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a894a69fa143d3f460d433646a0521b6f">SVF::CHGraph::getInstances</a></div><div class="ttdeci">const CHNodeSetTy & getInstances(const std::string className)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00275">CHG.h:275</a></div></div>
|
|
116
116
|
<div class="ttc" id="GenericGraph_8h_html"><div class="ttname"><a href="GenericGraph_8h.html">GenericGraph.h</a></div></div>
|
|
117
117
|
<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>
|
|
118
|
-
<div class="ttc" id="classSVF_1_1GenericEdge_html_aab8892b73370c32b48621cd1d0cce614"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">SVF::GenericEdge::GEdgeFlag</a></div><div class="ttdeci">u64_t GEdgeFlag</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
118
|
+
<div class="ttc" id="classSVF_1_1GenericEdge_html_aab8892b73370c32b48621cd1d0cce614"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">SVF::GenericEdge::GEdgeFlag</a></div><div class="ttdeci">u64_t GEdgeFlag</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00054">GenericGraph.h:54</a></div></div>
|
|
119
119
|
<div class="ttc" id="classSVF_1_1CommonCHGraph_html_a6a1feb9e268fb56b0de3efc39cfc8db8"><div class="ttname"><a href="classSVF_1_1CommonCHGraph.html#a6a1feb9e268fb56b0de3efc39cfc8db8">SVF::CommonCHGraph::CHGKind</a></div><div class="ttdeci">CHGKind</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00054">CHG.h:54</a></div></div>
|
|
120
120
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a5e6502c5baad99c70e1cf56c84ce9474"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a5e6502c5baad99c70e1cf56c84ce9474">SVF::CHGraph::csToCHAVFnsMap</a></div><div class="ttdeci">CallSiteToVFunSetMap csToCHAVFnsMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00323">CHG.h:323</a></div></div>
|
|
121
121
|
<div class="ttc" id="classSVF_1_1CHEdge_html"><div class="ttname"><a href="classSVF_1_1CHEdge.html">SVF::CHEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00077">CHG.h:77</a></div></div>
|
|
@@ -127,16 +127,15 @@ $(function() {
|
|
|
127
127
|
<div class="ttc" id="classSVF_1_1CommonCHGraph_html_aff7363feebc20267dad7230666b583b1"><div class="ttname"><a href="classSVF_1_1CommonCHGraph.html#aff7363feebc20267dad7230666b583b1">SVF::CommonCHGraph::csHasVtblsBasedonCHA</a></div><div class="ttdeci">virtual bool csHasVtblsBasedonCHA(CallSite cs)=0</div></div>
|
|
128
128
|
<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>
|
|
129
129
|
<div class="ttc" id="classSVF_1_1CHNode_html_ac7c18617b768a2988cf4eff7e849f397"><div class="ttname"><a href="classSVF_1_1CHNode.html#ac7c18617b768a2988cf4eff7e849f397">SVF::CHNode::className</a></div><div class="ttdeci">std::string className</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00189">CHG.h:189</a></div></div>
|
|
130
|
-
<div class="ttc" id="classSVF_1_1SVFGlobalValue_html"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html">SVF::SVFGlobalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
130
|
+
<div class="ttc" id="classSVF_1_1SVFGlobalValue_html"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html">SVF::SVFGlobalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00783">SVFValue.h:783</a></div></div>
|
|
131
131
|
<div class="ttc" id="classSVF_1_1CHGraph_html_aefdf6c5fe8a26efce200e8225d463cac"><div class="ttname"><a href="classSVF_1_1CHGraph.html#aefdf6c5fe8a26efce200e8225d463cac">SVF::CHGraph::CallSiteToVTableSetMap</a></div><div class="ttdeci">Map< CallSite, VTableSet > CallSiteToVTableSetMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00217">CHG.h:217</a></div></div>
|
|
132
132
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a26f89a9b269cad3fc894110d25598715"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a26f89a9b269cad3fc894110d25598715">SVF::CHGraph::getDescendants</a></div><div class="ttdeci">const CHNodeSetTy & getDescendants(const std::string className)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00271">CHG.h:271</a></div></div>
|
|
133
|
-
<div class="ttc" id="classSVF_1_1GenericNode_html_a3f20339b5295e11beb0f9adb95c7aa5b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">SVF::GenericNode::GNodeK</a></div><div class="ttdeci">s64_t GNodeK</div><div class="ttdoc">Edge kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
133
|
+
<div class="ttc" id="classSVF_1_1GenericNode_html_a3f20339b5295e11beb0f9adb95c7aa5b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">SVF::GenericNode::GNodeK</a></div><div class="ttdeci">s64_t GNodeK</div><div class="ttdoc">Edge kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00141">GenericGraph.h:141</a></div></div>
|
|
134
134
|
<div class="ttc" id="classSVF_1_1CHNode_html_a1f2c496e378d01841e4dc164942dc145"><div class="ttname"><a href="classSVF_1_1CHNode.html#a1f2c496e378d01841e4dc164942dc145">SVF::CHNode::CHNode</a></div><div class="ttdeci">CHNode(const std::string name, NodeID i=0, GNodeK k=0)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00116">CHG.h:116</a></div></div>
|
|
135
135
|
<div class="ttc" id="classSVF_1_1CHGraph_html_ac08f846413b6aed26a1bf39eb865b006"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ac08f846413b6aed26a1bf39eb865b006">SVF::CHGraph::classNameToDescendantsMap</a></div><div class="ttdeci">NameToCHNodesMap classNameToDescendantsMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00315">CHG.h:315</a></div></div>
|
|
136
|
-
<div class="ttc" id="classSVF_1_1GenericNode_html"><div class="ttname"><a href="classSVF_1_1GenericNode.html">SVF::GenericNode</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
136
|
+
<div class="ttc" id="classSVF_1_1GenericNode_html"><div class="ttname"><a href="classSVF_1_1GenericNode.html">SVF::GenericNode</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00134">GenericGraph.h:134</a></div></div>
|
|
137
137
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a1c0ca4e6a466ad317daf00a6c7de8e31"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a1c0ca4e6a466ad317daf00a6c7de8e31">SVF::CHGraph::getCSVFsBasedonCHA</a></div><div class="ttdeci">const VFunSet & getCSVFsBasedonCHA(CallSite cs) override</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00296">CHG.h:296</a></div></div>
|
|
138
138
|
<div class="ttc" id="classSVF_1_1CHGraph_html_ab5bd2348e4418fcb2f3b18227fccd836"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ab5bd2348e4418fcb2f3b18227fccd836">SVF::CHGraph::buildingCHGTime</a></div><div class="ttdeci">double buildingCHGTime</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00313">CHG.h:313</a></div></div>
|
|
139
|
-
<div class="ttc" id="structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4_html_aea2a657d278919364d2911d92b3e6f5a"><div class="ttname"><a href="structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html#aea2a657d278919364d2911d92b3e6f5a">llvm::GraphTraits< SVF::CHGraph * >::NodeRef</a></div><div class="ttdeci">SVF::CHNode * NodeRef</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00346">CHG.h:346</a></div></div>
|
|
140
139
|
<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>
|
|
141
140
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html">SVF::FIFOWorkList</a></div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00137">WorkList.h:137</a></div></div>
|
|
142
141
|
<div class="ttc" id="classSVF_1_1CHGraph_html_aa040bc0a5653843419d24777343e1650"><div class="ttname"><a href="classSVF_1_1CHGraph.html#aa040bc0a5653843419d24777343e1650">SVF::CHGraph::classNameToNodeMap</a></div><div class="ttdeci">Map< std::string, CHNode * > classNameToNodeMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00314">CHG.h:314</a></div></div>
|
|
@@ -145,7 +144,7 @@ $(function() {
|
|
|
145
144
|
<div class="ttc" id="classSVF_1_1CHNode_html_aebcbd36a7efc0dbe9b3c3f680ef033e7"><div class="ttname"><a href="classSVF_1_1CHNode.html#aebcbd36a7efc0dbe9b3c3f680ef033e7">SVF::CHNode::hasFlag</a></div><div class="ttdeci">bool hasFlag(CLASSATTR mask) const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00133">CHG.h:133</a></div></div>
|
|
146
145
|
<div class="ttc" id="namespaceSVF_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="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
|
|
147
146
|
<div class="ttc" id="classSVF_1_1CHNode_html_aa49ae91e2dd45c94f3d7694eb7e6737b"><div class="ttname"><a href="classSVF_1_1CHNode.html#aa49ae91e2dd45c94f3d7694eb7e6737b">SVF::CHNode::getVTable</a></div><div class="ttdeci">const SVFGlobalValue * getVTable() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00177">CHG.h:177</a></div></div>
|
|
148
|
-
<div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
147
|
+
<div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01014">SVFValue.h:1014</a></div></div>
|
|
149
148
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a0397e5da88106dc8b4a1e207ae455e74"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a0397e5da88106dc8b4a1e207ae455e74">SVF::CHGraph::CallSiteToVFunSetMap</a></div><div class="ttdeci">Map< CallSite, VFunSet > CallSiteToVFunSetMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00218">CHG.h:218</a></div></div>
|
|
150
149
|
<div class="ttc" id="namespaceSVF_html_aa8bd37e4ec2e98c805a14adbf590b9dd"><div class="ttname"><a href="namespaceSVF.html#aa8bd37e4ec2e98c805a14adbf590b9dd">SVF::GenericCHGraphTy</a></div><div class="ttdeci">GenericGraph< CHNode, CHEdge > GenericCHGraphTy</div><div class="ttdoc">class hierarchy graph </div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00207">CHG.h:207</a></div></div>
|
|
151
150
|
<div class="ttc" id="classSVF_1_1CHNode_html_aff05589899b58112119af68df5d1997e"><div class="ttname"><a href="classSVF_1_1CHNode.html#aff05589899b58112119af68df5d1997e">SVF::CHNode::~CHNode</a></div><div class="ttdeci">~CHNode()</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00120">CHG.h:120</a></div></div>
|
|
@@ -154,13 +153,15 @@ $(function() {
|
|
|
154
153
|
<div class="ttc" id="WorkList_8h_html"><div class="ttname"><a href="WorkList_8h.html">WorkList.h</a></div></div>
|
|
155
154
|
<div class="ttc" id="namespaceSVF_html_aae350f79ebcb9efd22ec9efa6678cd13"><div class="ttname"><a href="namespaceSVF.html#aae350f79ebcb9efd22ec9efa6678cd13">SVF::dump</a></div><div class="ttdeci">void dump(const SparseBitVector< ElementSize > &LHS, std::ostream &out)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01191">SparseBitVector.h:1191</a></div></div>
|
|
156
155
|
<div class="ttc" id="classSVF_1_1CHGraph_html_af1b638faf888898cdf168c25e008ab12"><div class="ttname"><a href="classSVF_1_1CHGraph.html#af1b638faf888898cdf168c25e008ab12">SVF::CHGraph::WorkList</a></div><div class="ttdeci">FIFOWorkList< const CHNode * > WorkList</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00214">CHG.h:214</a></div></div>
|
|
157
|
-
<div class="ttc" id="
|
|
156
|
+
<div class="ttc" id="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4_html_ab94f45e7c2a40418fbba5c2cb916f79d"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html#ab94f45e7c2a40418fbba5c2cb916f79d">SVF::GenericGraphTraits< SVF::CHGraph * >::NodeRef</a></div><div class="ttdeci">SVF::CHNode * NodeRef</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00346">CHG.h:346</a></div></div>
|
|
157
|
+
<div class="ttc" id="classSVF_1_1GenericGraph_html"><div class="ttname"><a href="classSVF_1_1GenericGraph.html">SVF::GenericGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00335">GenericGraph.h:335</a></div></div>
|
|
158
158
|
<div class="ttc" id="classSVF_1_1CommonCHGraph_html_a0ce9117288d9e0b498f128217fda0cca"><div class="ttname"><a href="classSVF_1_1CommonCHGraph.html#a0ce9117288d9e0b498f128217fda0cca">SVF::CommonCHGraph::csHasVFnsBasedonCHA</a></div><div class="ttdeci">virtual bool csHasVFnsBasedonCHA(CallSite cs)=0</div></div>
|
|
159
159
|
<div class="ttc" id="classSVF_1_1CHGraph_html_a7151563857b7b6bdf8195aa571df7516"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a7151563857b7b6bdf8195aa571df7516">SVF::CHGraph::getVirtualFunctionID</a></div><div class="ttdeci">u32_t getVirtualFunctionID(const SVFFunction *vfn) const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00241">CHG.h:241</a></div></div>
|
|
160
160
|
<div class="ttc" id="classSVF_1_1CHEdge_html_ae2c206fb3c7e4d9deec7d8298caf5017"><div class="ttname"><a href="classSVF_1_1CHEdge.html#ae2c206fb3c7e4d9deec7d8298caf5017">SVF::CHEdge::CHEdgeSetTy</a></div><div class="ttdeci">GenericNode< CHNode, CHEdge >::GEdgeSetTy CHEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00086">CHG.h:86</a></div></div>
|
|
161
161
|
<div class="ttc" id="classSVF_1_1CHEdge_html_af01c14c28db231b7bfae39344d1ae8ee"><div class="ttname"><a href="classSVF_1_1CHEdge.html#af01c14c28db231b7bfae39344d1ae8ee">SVF::CHEdge::CHEdge</a></div><div class="ttdeci">CHEdge(CHNode *s, CHNode *d, CHEDGETYPE et, GEdgeFlag k=0)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00088">CHG.h:88</a></div></div>
|
|
162
162
|
<div class="ttc" id="classSVF_1_1CommonCHGraph_html"><div class="ttname"><a href="classSVF_1_1CommonCHGraph.html">SVF::CommonCHGraph</a></div><div class="ttdoc">Common base for class hierarchy graph. Only implements what PointerAnalysis needs. </div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00050">CHG.h:50</a></div></div>
|
|
163
163
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
164
|
+
<div class="ttc" id="structSVF_1_1GenericGraphTraits_html"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits.html">SVF::GenericGraphTraits</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphTraits_8h_source.html#l00036">GraphTraits.h:36</a></div></div>
|
|
164
165
|
<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>
|
|
165
166
|
<div class="ttc" id="classSVF_1_1CHNode_html_a268ccdfb486cc2efa8581ee7a3b5af39"><div class="ttname"><a href="classSVF_1_1CHNode.html#a268ccdfb486cc2efa8581ee7a3b5af39">SVF::CHNode::isPureAbstract</a></div><div class="ttdeci">bool isPureAbstract() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00153">CHG.h:153</a></div></div>
|
|
166
167
|
<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>
|