svf-tools 1.0.442 → 1.0.445
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/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/BDDExpr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/BitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/BitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp.html +86 -0
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +104 -0
- package/SVF-doxygen/html/html/CFGNormalizer_8h.html +95 -0
- package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +95 -0
- package/SVF-doxygen/html/html/CFLAlias_8h.html +100 -0
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +136 -0
- package/SVF-doxygen/html/html/CFLGrammar_8cpp.html +81 -0
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +90 -0
- package/SVF-doxygen/html/html/CFLGrammar_8h.html +97 -0
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +114 -0
- package/SVF-doxygen/html/html/CFLGraph_8cpp.html +96 -0
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +123 -0
- package/SVF-doxygen/html/html/CFLGraph_8h.html +124 -0
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +114 -0
- package/SVF-doxygen/html/html/CFLSolver_8cpp.html +80 -0
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +107 -0
- package/SVF-doxygen/html/html/CFLSolver_8h.html +6 -5
- package/SVF-doxygen/html/html/CFLSolver_8h_source.html +27 -33
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CHG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CSC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CallGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Casting_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
- 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 +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/GrammarBuilder_8cpp.html +94 -0
- package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +92 -0
- package/SVF-doxygen/html/html/GrammarBuilder_8h.html +96 -0
- package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +87 -0
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Graph2Json_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GraphReachSolver_8h.html +96 -0
- package/SVF-doxygen/html/html/GraphReachSolver_8h_source.html +113 -0
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
- 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 +1 -1
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Options_8cpp_source.html +7 -2
- package/SVF-doxygen/html/html/Options_8h_source.html +7 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +5 -5
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SCC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SrcSnkDDA_8h.html +3 -3
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +61 -61
- package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TCT_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WorkList_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +302 -288
- package/SVF-doxygen/html/html/cfl_8cpp.html +171 -0
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +95 -0
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +56 -56
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +59 -59
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +53 -53
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer-members.html +90 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +458 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +216 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +801 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLEdge-members.html +96 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +216 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +110 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +591 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph-members.html +122 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +756 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +118 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +257 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver-members.html +17 -28
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +181 -548
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +3 -3
- 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-members.html +57 -57
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +64 -64
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +57 -57
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +66 -66
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +48 -48
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +59 -59
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +8 -24
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +10 -9
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +21 -20
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase-members.html +93 -0
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +399 -0
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder-members.html +85 -0
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +226 -0
- package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver-members.html +106 -0
- package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.html +937 -0
- package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +81 -81
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +80 -75
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +130 -0
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +17 -16
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +207 -207
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +0 -12
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +42 -42
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +45 -45
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +61 -61
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +5 -5
- package/SVF-doxygen/html/html/classes.html +103 -101
- package/SVF-doxygen/html/html/cuddInt_8c.html +6 -6
- package/SVF-doxygen/html/html/cuddInt_8c_source.html +2 -2
- package/SVF-doxygen/html/html/cudd_8h.html +4 -4
- package/SVF-doxygen/html/html/dda_8cpp.html +2 -46
- package/SVF-doxygen/html/html/dda_8cpp_source.html +4 -5
- package/SVF-doxygen/html/html/dir_1870ebf480d659cc38d2dd7ac3aa8993.html +2 -0
- package/SVF-doxygen/html/html/dir_4eeb864c4eec08c7d6b9d3b0352cfdde.html +2 -0
- package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
- package/SVF-doxygen/html/html/dir_97aefd0d527b934f1d99a682da8fe6a9.html +2 -0
- package/SVF-doxygen/html/html/dir_98f9a352f241e0e917d4efaa4086f6e8.html +89 -0
- package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +91 -0
- package/SVF-doxygen/html/html/dir_d44c64559bbebec7f509842c48db8b23.html +2 -0
- package/SVF-doxygen/html/html/dir_e6cca4e14eddbb730e0cbe3cab632ce5.html +83 -0
- package/SVF-doxygen/html/html/dir_fa02919a30fec2d2c2d591b4d920d648.html +2 -0
- package/SVF-doxygen/html/html/files.html +268 -252
- package/SVF-doxygen/html/html/functions.html +2 -1
- package/SVF-doxygen/html/html/functions_0x7e.html +18 -0
- package/SVF-doxygen/html/html/functions_a.html +16 -14
- package/SVF-doxygen/html/html/functions_b.html +16 -5
- package/SVF-doxygen/html/html/functions_c.html +69 -26
- package/SVF-doxygen/html/html/functions_d.html +3 -1
- package/SVF-doxygen/html/html/functions_e.html +19 -4
- package/SVF-doxygen/html/html/functions_eval.html +0 -6
- package/SVF-doxygen/html/html/functions_eval_c.html +9 -0
- package/SVF-doxygen/html/html/functions_eval_f.html +0 -3
- package/SVF-doxygen/html/html/functions_f.html +28 -21
- package/SVF-doxygen/html/html/functions_func.html +18 -10
- package/SVF-doxygen/html/html/functions_func_0x7e.html +18 -0
- package/SVF-doxygen/html/html/functions_func_b.html +19 -8
- package/SVF-doxygen/html/html/functions_func_c.html +42 -18
- package/SVF-doxygen/html/html/functions_func_d.html +4 -2
- package/SVF-doxygen/html/html/functions_func_e.html +10 -1
- package/SVF-doxygen/html/html/functions_func_f.html +6 -3
- package/SVF-doxygen/html/html/functions_func_g.html +56 -10
- package/SVF-doxygen/html/html/functions_func_h.html +12 -2
- package/SVF-doxygen/html/html/functions_func_i.html +19 -9
- package/SVF-doxygen/html/html/functions_func_n.html +7 -1
- package/SVF-doxygen/html/html/functions_func_p.html +8 -4
- package/SVF-doxygen/html/html/functions_func_s.html +20 -6
- package/SVF-doxygen/html/html/functions_func_v.html +3 -2
- package/SVF-doxygen/html/html/functions_g.html +86 -21
- package/SVF-doxygen/html/html/functions_h.html +15 -5
- package/SVF-doxygen/html/html/functions_i.html +27 -12
- package/SVF-doxygen/html/html/functions_l.html +5 -2
- package/SVF-doxygen/html/html/functions_n.html +22 -7
- package/SVF-doxygen/html/html/functions_o.html +6 -6
- package/SVF-doxygen/html/html/functions_p.html +23 -16
- package/SVF-doxygen/html/html/functions_r.html +11 -6
- package/SVF-doxygen/html/html/functions_s.html +53 -17
- package/SVF-doxygen/html/html/functions_t.html +11 -7
- package/SVF-doxygen/html/html/functions_type_c.html +5 -1
- package/SVF-doxygen/html/html/functions_type_g.html +6 -3
- package/SVF-doxygen/html/html/functions_type_i.html +4 -2
- package/SVF-doxygen/html/html/functions_type_n.html +6 -3
- package/SVF-doxygen/html/html/functions_type_p.html +9 -0
- package/SVF-doxygen/html/html/functions_type_s.html +6 -0
- package/SVF-doxygen/html/html/functions_type_w.html +3 -1
- package/SVF-doxygen/html/html/functions_v.html +2 -1
- package/SVF-doxygen/html/html/functions_vars.html +2 -1
- package/SVF-doxygen/html/html/functions_vars_c.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_e.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_f.html +9 -0
- package/SVF-doxygen/html/html/functions_vars_g.html +17 -1
- package/SVF-doxygen/html/html/functions_vars_i.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_n.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_r.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_s.html +16 -0
- package/SVF-doxygen/html/html/functions_vars_t.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_w.html +3 -1
- package/SVF-doxygen/html/html/functions_w.html +15 -1
- package/SVF-doxygen/html/html/globals_func_i.html +3 -10
- package/SVF-doxygen/html/html/globals_func_m.html +12 -11
- package/SVF-doxygen/html/html/globals_func_s.html +1 -0
- package/SVF-doxygen/html/html/globals_i.html +3 -10
- package/SVF-doxygen/html/html/globals_m.html +14 -13
- package/SVF-doxygen/html/html/globals_s.html +8 -7
- package/SVF-doxygen/html/html/hierarchy.html +433 -417
- package/SVF-doxygen/html/html/mta_8cpp.html +2 -46
- package/SVF-doxygen/html/html/mta_8cpp_source.html +3 -4
- package/SVF-doxygen/html/html/namespaceSVF.html +83 -6
- package/SVF-doxygen/html/html/namespacellvm.html +9 -0
- package/SVF-doxygen/html/html/namespacemembers_c.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_g.html +11 -2
- package/SVF-doxygen/html/html/namespacemembers_type.html +10 -1
- package/SVF-doxygen/html/html/saber_8cpp.html +2 -46
- package/SVF-doxygen/html/html/saber_8cpp_source.html +4 -5
- package/SVF-doxygen/html/html/search/all_0.js +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +4 -4
- package/SVF-doxygen/html/html/search/all_10.js +8 -6
- package/SVF-doxygen/html/html/search/all_12.js +2 -1
- package/SVF-doxygen/html/html/search/all_13.js +20 -11
- package/SVF-doxygen/html/html/search/all_14.js +5 -3
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_1b.js +6 -0
- package/SVF-doxygen/html/html/search/all_2.js +6 -4
- package/SVF-doxygen/html/html/search/all_3.js +27 -4
- package/SVF-doxygen/html/html/search/all_4.js +3 -2
- package/SVF-doxygen/html/html/search/all_5.js +5 -0
- package/SVF-doxygen/html/html/search/all_6.js +8 -5
- package/SVF-doxygen/html/html/search/all_7.js +40 -13
- package/SVF-doxygen/html/html/search/all_8.js +4 -1
- package/SVF-doxygen/html/html/search/all_9.js +9 -7
- package/SVF-doxygen/html/html/search/all_c.js +2 -1
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +9 -5
- package/SVF-doxygen/html/html/search/all_f.js +4 -4
- package/SVF-doxygen/html/html/search/classes_2.js +7 -0
- package/SVF-doxygen/html/html/search/classes_3.js +1 -0
- package/SVF-doxygen/html/html/search/classes_5.js +1 -0
- package/SVF-doxygen/html/html/search/classes_6.js +7 -0
- package/SVF-doxygen/html/html/search/enumvalues_0.js +0 -2
- package/SVF-doxygen/html/html/search/enumvalues_2.js +3 -0
- package/SVF-doxygen/html/html/search/enumvalues_5.js +0 -1
- package/SVF-doxygen/html/html/search/files_2.js +11 -1
- package/SVF-doxygen/html/html/search/files_6.js +4 -1
- package/SVF-doxygen/html/html/search/functions_0.js +4 -2
- package/SVF-doxygen/html/html/search/functions_1.js +6 -4
- package/SVF-doxygen/html/html/search/functions_10.js +7 -3
- package/SVF-doxygen/html/html/search/functions_13.js +1 -1
- package/SVF-doxygen/html/html/search/functions_16.js +6 -0
- package/SVF-doxygen/html/html/search/functions_2.js +8 -0
- package/SVF-doxygen/html/html/search/functions_3.js +2 -2
- package/SVF-doxygen/html/html/search/functions_4.js +3 -0
- package/SVF-doxygen/html/html/search/functions_5.js +3 -3
- package/SVF-doxygen/html/html/search/functions_6.js +22 -10
- package/SVF-doxygen/html/html/search/functions_7.js +4 -1
- package/SVF-doxygen/html/html/search/functions_8.js +5 -4
- package/SVF-doxygen/html/html/search/functions_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_c.js +2 -0
- package/SVF-doxygen/html/html/search/functions_e.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_15.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +3 -2
- package/SVF-doxygen/html/html/search/typedefs_6.js +6 -3
- package/SVF-doxygen/html/html/search/typedefs_8.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_d.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_f.js +2 -0
- package/SVF-doxygen/html/html/search/variables_0.js +1 -1
- package/SVF-doxygen/html/html/search/variables_12.js +1 -0
- package/SVF-doxygen/html/html/search/variables_13.js +5 -0
- package/SVF-doxygen/html/html/search/variables_14.js +3 -1
- package/SVF-doxygen/html/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +2 -0
- package/SVF-doxygen/html/html/search/variables_5.js +3 -1
- package/SVF-doxygen/html/html/search/variables_6.js +3 -0
- package/SVF-doxygen/html/html/search/variables_7.js +5 -1
- package/SVF-doxygen/html/html/search/variables_9.js +1 -0
- package/SVF-doxygen/html/html/search/variables_c.js +1 -0
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -0
- package/SVF-doxygen/html/html/st_8c.html +4 -4
- package/SVF-doxygen/html/html/st_8c_source.html +2 -2
- package/SVF-doxygen/html/html/st_8h.html +4 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +87 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +381 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_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.html +100 -0
- 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_01SVF_1_1CFLGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +122 -0
- 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.html +96 -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/svf-ex_8cpp.html +10 -54
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +8 -9
- package/SVF-doxygen/html/html/tools_2CFL_2CMakeLists_8txt.html +102 -0
- package/SVF-doxygen/html/html/wpa_8cpp.html +2 -46
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +3 -4
- package/include/CFL/CFGNormalizer.h +70 -0
- package/include/CFL/CFLAlias.h +124 -0
- package/include/CFL/CFLGrammar.h +127 -0
- package/include/CFL/CFLSolver.h +94 -0
- package/include/CFL/GrammarBuilder.h +65 -0
- package/include/Graphs/CFLGraph.h +175 -0
- package/include/Graphs/IRGraph.h +1 -1
- package/include/MemoryModel/PointerAnalysis.h +3 -3
- package/include/SABER/SrcSnkDDA.h +3 -2
- package/include/Util/GraphReachSolver.h +186 -0
- package/include/Util/Options.h +6 -0
- package/lib/CFL/CFGNormalizer.cpp +329 -0
- package/lib/CFL/CFLGrammar.cpp +101 -0
- package/lib/CFL/CFLSolver.cpp +106 -0
- package/lib/CFL/GrammarBuilder.cpp +155 -0
- package/lib/CMakeLists.txt +1 -0
- package/lib/Graphs/CFLGraph.cpp +225 -0
- package/lib/Util/Options.cpp +31 -0
- package/package.json +1 -1
- package/tools/CFL/CMakeLists.txt +12 -0
- package/tools/CFL/cfl.cpp +80 -0
- package/tools/CMakeLists.txt +1 -0
- package/tools/DDA/dda.cpp +0 -3
- package/tools/Example/svf-ex.cpp +0 -3
- package/tools/MTA/mta.cpp +0 -4
- package/tools/SABER/saber.cpp +0 -3
- package/tools/WPA/wpa.cpp +0 -4
|
@@ -80,10 +80,10 @@ Inheritance diagram for SVF::LeakChecker:</div>
|
|
|
80
80
|
<div class="center">
|
|
81
81
|
<img src="classSVF_1_1LeakChecker.png" usemap="#SVF::LeakChecker_map" alt=""/>
|
|
82
82
|
<map id="SVF::LeakChecker_map" name="SVF::LeakChecker_map">
|
|
83
|
-
<area href="classSVF_1_1SrcSnkDDA.html" alt="SVF::SrcSnkDDA" shape="rect" coords="
|
|
84
|
-
<area href="
|
|
85
|
-
<area href="classSVF_1_1DoubleFreeChecker.html" alt="SVF::DoubleFreeChecker" shape="rect" coords="0,168,
|
|
86
|
-
<area href="classSVF_1_1FileChecker.html" alt="SVF::FileChecker" shape="rect" coords="
|
|
83
|
+
<area href="classSVF_1_1SrcSnkDDA.html" alt="SVF::SrcSnkDDA" shape="rect" coords="148,56,435,80"/>
|
|
84
|
+
<area href="classSVF_1_1GraphReachSolver.html" alt="SVF::GraphReachSolver< GraphType, DPIm >" shape="rect" coords="148,0,435,24"/>
|
|
85
|
+
<area href="classSVF_1_1DoubleFreeChecker.html" alt="SVF::DoubleFreeChecker" shape="rect" coords="0,168,287,192"/>
|
|
86
|
+
<area href="classSVF_1_1FileChecker.html" alt="SVF::FileChecker" shape="rect" coords="297,168,584,192"/>
|
|
87
87
|
</map>
|
|
88
88
|
</div></div>
|
|
89
89
|
<table class="memberdecls">
|
|
@@ -124,26 +124,26 @@ Public Types</h2></td></tr>
|
|
|
124
124
|
<tr class="separator:a70cff8ea7c033c01400935c9e446f2c6 inherit pub_types_classSVF_1_1SrcSnkDDA"><td class="memSeparator" colspan="2"> </td></tr>
|
|
125
125
|
<tr class="memitem:a3c0d8850c4dae49a760ce5f80fb8822a inherit pub_types_classSVF_1_1SrcSnkDDA"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1ProgSlice.html#a684e44ade783439c6f77a8d84eed282c">ProgSlice::VFWorkList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a3c0d8850c4dae49a760ce5f80fb8822a">WorkList</a></td></tr>
|
|
126
126
|
<tr class="separator:a3c0d8850c4dae49a760ce5f80fb8822a inherit pub_types_classSVF_1_1SrcSnkDDA"><td class="memSeparator" colspan="2"> </td></tr>
|
|
127
|
-
<tr class="inherit_header
|
|
128
|
-
<tr class="memitem:
|
|
129
|
-
<tr class="memdesc:
|
|
130
|
-
<tr class="separator:
|
|
131
|
-
<tr class="memitem:
|
|
132
|
-
<tr class="separator:
|
|
133
|
-
<tr class="memitem:
|
|
134
|
-
<tr class="separator:
|
|
135
|
-
<tr class="memitem:
|
|
136
|
-
<tr class="separator:
|
|
137
|
-
<tr class="memitem:
|
|
138
|
-
<tr class="separator:
|
|
139
|
-
<tr class="memitem:
|
|
140
|
-
<tr class="memdesc:
|
|
141
|
-
<tr class="separator:
|
|
142
|
-
<tr class="memitem:
|
|
143
|
-
<tr class="separator:
|
|
144
|
-
<tr class="memitem:
|
|
145
|
-
<tr class="memdesc:
|
|
146
|
-
<tr class="separator:
|
|
127
|
+
<tr class="inherit_header pub_types_classSVF_1_1GraphReachSolver"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1GraphReachSolver')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1GraphReachSolver.html">SVF::GraphReachSolver< GraphType, DPIm ></a></td></tr>
|
|
128
|
+
<tr class="memitem:a2ede2e8b4c0f44d7f1d5ab7684915556 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">typedef llvm::GraphTraits< GraphType > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a2ede2e8b4c0f44d7f1d5ab7684915556">GTraits</a></td></tr>
|
|
129
|
+
<tr class="memdesc:a2ede2e8b4c0f44d7f1d5ab7684915556 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">Define the GTraits and node iterator. <a href="classSVF_1_1GraphReachSolver.html#a2ede2e8b4c0f44d7f1d5ab7684915556">More...</a><br /></td></tr>
|
|
130
|
+
<tr class="separator:a2ede2e8b4c0f44d7f1d5ab7684915556 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
131
|
+
<tr class="memitem:af499845fe35ebe782f660146808506de inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::NodeType </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#af499845fe35ebe782f660146808506de">GNODE</a></td></tr>
|
|
132
|
+
<tr class="separator:af499845fe35ebe782f660146808506de inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
133
|
+
<tr class="memitem:a8a42bdbb5987d0a340f9935f09e2acd2 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::EdgeType </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a8a42bdbb5987d0a340f9935f09e2acd2">GEDGE</a></td></tr>
|
|
134
|
+
<tr class="separator:a8a42bdbb5987d0a340f9935f09e2acd2 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
135
|
+
<tr class="memitem:a4e5126b0e97e490ce65804e2017f0084 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::nodes_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a4e5126b0e97e490ce65804e2017f0084">node_iterator</a></td></tr>
|
|
136
|
+
<tr class="separator:a4e5126b0e97e490ce65804e2017f0084 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
137
|
+
<tr class="memitem:ad3fb81ac5017c6c3dc4b2b3b65b3ca04 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::ChildIteratorType </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#ad3fb81ac5017c6c3dc4b2b3b65b3ca04">child_iterator</a></td></tr>
|
|
138
|
+
<tr class="separator:ad3fb81ac5017c6c3dc4b2b3b65b3ca04 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
139
|
+
<tr class="memitem:aa1542934a87c9edce00355fe2d690b9e inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">typedef llvm::GraphTraits< llvm::Inverse< <a class="el" href="classSVF_1_1GraphReachSolver.html#af499845fe35ebe782f660146808506de">GNODE</a> * > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#aa1542934a87c9edce00355fe2d690b9e">InvGTraits</a></td></tr>
|
|
140
|
+
<tr class="memdesc:aa1542934a87c9edce00355fe2d690b9e inherit pub_types_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">Define inverse GTraits and note iterator. <a href="classSVF_1_1GraphReachSolver.html#aa1542934a87c9edce00355fe2d690b9e">More...</a><br /></td></tr>
|
|
141
|
+
<tr class="separator:aa1542934a87c9edce00355fe2d690b9e inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
142
|
+
<tr class="memitem:a40fe9f5863619ee7c11a630e4fd89a91 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">typedef InvGTraits::ChildIteratorType </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a40fe9f5863619ee7c11a630e4fd89a91">inv_child_iterator</a></td></tr>
|
|
143
|
+
<tr class="separator:a40fe9f5863619ee7c11a630e4fd89a91 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
144
|
+
<tr class="memitem:a472784c3cb958b4347958f039d2fe054 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList</a>< DPIm > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a472784c3cb958b4347958f039d2fe054">WorkList</a></td></tr>
|
|
145
|
+
<tr class="memdesc:a472784c3cb958b4347958f039d2fe054 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">Define worklist. <a href="classSVF_1_1GraphReachSolver.html#a472784c3cb958b4347958f039d2fe054">More...</a><br /></td></tr>
|
|
146
|
+
<tr class="separator:a472784c3cb958b4347958f039d2fe054 inherit pub_types_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
147
147
|
</table><table class="memberdecls">
|
|
148
148
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
149
149
|
Public Member Functions</h2></td></tr>
|
|
@@ -299,47 +299,47 @@ Protected Member Functions</h2></td></tr>
|
|
|
299
299
|
<tr class="separator:a8817604b20724703121e9466e5cdb4cd inherit pro_methods_classSVF_1_1SrcSnkDDA"><td class="memSeparator" colspan="2"> </td></tr>
|
|
300
300
|
<tr class="memitem:ae3d665ff1e796348131e797eb0283bfb inherit pro_methods_classSVF_1_1SrcSnkDDA"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#ae3d665ff1e796348131e797eb0283bfb">printBDDStat</a> ()</td></tr>
|
|
301
301
|
<tr class="separator:ae3d665ff1e796348131e797eb0283bfb inherit pro_methods_classSVF_1_1SrcSnkDDA"><td class="memSeparator" colspan="2"> </td></tr>
|
|
302
|
-
<tr class="inherit_header
|
|
303
|
-
<tr class="memitem:
|
|
304
|
-
<tr class="memdesc:
|
|
305
|
-
<tr class="separator:
|
|
306
|
-
<tr class="memitem:
|
|
307
|
-
<tr class="memdesc:
|
|
308
|
-
<tr class="separator:
|
|
309
|
-
<tr class="memitem:
|
|
310
|
-
<tr class="separator:
|
|
311
|
-
<tr class="memitem:
|
|
312
|
-
<tr class="separator:
|
|
313
|
-
<tr class="memitem:
|
|
314
|
-
<tr class="memdesc:
|
|
315
|
-
<tr class="separator:
|
|
316
|
-
<tr class="memitem:
|
|
317
|
-
<tr class="memdesc:
|
|
318
|
-
<tr class="separator:
|
|
319
|
-
<tr class="memitem:
|
|
320
|
-
<tr class="memdesc:
|
|
321
|
-
<tr class="separator:
|
|
322
|
-
<tr class="memitem:
|
|
323
|
-
<tr class="separator:
|
|
324
|
-
<tr class="memitem:
|
|
325
|
-
<tr class="memdesc:
|
|
326
|
-
<tr class="separator:
|
|
327
|
-
<tr class="memitem:
|
|
328
|
-
<tr class="separator:
|
|
329
|
-
<tr class="memitem:
|
|
330
|
-
<tr class="memdesc:
|
|
331
|
-
<tr class="separator:
|
|
332
|
-
<tr class="memitem:
|
|
333
|
-
<tr class="separator:
|
|
334
|
-
<tr class="memitem:
|
|
335
|
-
<tr class="memdesc:
|
|
336
|
-
<tr class="separator:
|
|
337
|
-
<tr class="memitem:
|
|
338
|
-
<tr class="separator:
|
|
339
|
-
<tr class="memitem:
|
|
340
|
-
<tr class="separator:
|
|
341
|
-
<tr class="memitem:
|
|
342
|
-
<tr class="separator:
|
|
302
|
+
<tr class="inherit_header pro_methods_classSVF_1_1GraphReachSolver"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1GraphReachSolver')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1GraphReachSolver.html">SVF::GraphReachSolver< GraphType, DPIm ></a></td></tr>
|
|
303
|
+
<tr class="memitem:a766dc60e7ce7b24b829ba591d069c174 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a766dc60e7ce7b24b829ba591d069c174">GraphReachSolver</a> ()</td></tr>
|
|
304
|
+
<tr class="memdesc:a766dc60e7ce7b24b829ba591d069c174 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1GraphReachSolver.html#a766dc60e7ce7b24b829ba591d069c174">More...</a><br /></td></tr>
|
|
305
|
+
<tr class="separator:a766dc60e7ce7b24b829ba591d069c174 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
306
|
+
<tr class="memitem:a31e78a14271a152f5b7c0d751a39312a inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a31e78a14271a152f5b7c0d751a39312a">~GraphReachSolver</a> ()</td></tr>
|
|
307
|
+
<tr class="memdesc:a31e78a14271a152f5b7c0d751a39312a inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="classSVF_1_1GraphReachSolver.html#a31e78a14271a152f5b7c0d751a39312a">More...</a><br /></td></tr>
|
|
308
|
+
<tr class="separator:a31e78a14271a152f5b7c0d751a39312a inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
309
|
+
<tr class="memitem:a0b7f0923105dfb198a2a8428d6c1ca98 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GraphReachSolver.html#af499845fe35ebe782f660146808506de">GNODE</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">getNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id) const</td></tr>
|
|
310
|
+
<tr class="separator:a0b7f0923105dfb198a2a8428d6c1ca98 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
311
|
+
<tr class="memitem:a84f39b3234ddf8198c793ff8c5d59cdf inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf">getNodeIDFromItem</a> (const DPIm &item) const</td></tr>
|
|
312
|
+
<tr class="separator:a84f39b3234ddf8198c793ff8c5d59cdf inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
313
|
+
<tr class="memitem:ad1ad147241183e1077a4691ebe7861b5 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#ad1ad147241183e1077a4691ebe7861b5">forwardTraverse</a> (DPIm &it)</td></tr>
|
|
314
|
+
<tr class="memdesc:ad1ad147241183e1077a4691ebe7861b5 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">CFL forward traverse solve. <a href="classSVF_1_1GraphReachSolver.html#ad1ad147241183e1077a4691ebe7861b5">More...</a><br /></td></tr>
|
|
315
|
+
<tr class="separator:ad1ad147241183e1077a4691ebe7861b5 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
316
|
+
<tr class="memitem:a8785ea71a1b0da03595fc8f594921819 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a8785ea71a1b0da03595fc8f594921819">backwardTraverse</a> (DPIm &it)</td></tr>
|
|
317
|
+
<tr class="memdesc:a8785ea71a1b0da03595fc8f594921819 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">CFL forward traverse solve. <a href="classSVF_1_1GraphReachSolver.html#a8785ea71a1b0da03595fc8f594921819">More...</a><br /></td></tr>
|
|
318
|
+
<tr class="separator:a8785ea71a1b0da03595fc8f594921819 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
319
|
+
<tr class="memitem:a88775eedbbc3039caac1e350b48aa838 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">const GraphType </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a88775eedbbc3039caac1e350b48aa838">graph</a> () const</td></tr>
|
|
320
|
+
<tr class="memdesc:a88775eedbbc3039caac1e350b48aa838 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">Get/Set graph methods. <a href="classSVF_1_1GraphReachSolver.html#a88775eedbbc3039caac1e350b48aa838">More...</a><br /></td></tr>
|
|
321
|
+
<tr class="separator:a88775eedbbc3039caac1e350b48aa838 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
322
|
+
<tr class="memitem:a0298a692295a8a4eae32ab151aa6ccc3 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a0298a692295a8a4eae32ab151aa6ccc3">setGraph</a> (GraphType g)</td></tr>
|
|
323
|
+
<tr class="separator:a0298a692295a8a4eae32ab151aa6ccc3 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
324
|
+
<tr class="memitem:a6ea48755ca28468b426380e838494087 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a6ea48755ca28468b426380e838494087">FWProcessCurNode</a> (const DPIm &)</td></tr>
|
|
325
|
+
<tr class="memdesc:a6ea48755ca28468b426380e838494087 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">Process the DP item. <a href="classSVF_1_1GraphReachSolver.html#a6ea48755ca28468b426380e838494087">More...</a><br /></td></tr>
|
|
326
|
+
<tr class="separator:a6ea48755ca28468b426380e838494087 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
327
|
+
<tr class="memitem:a5b2ec04cbee0e457ed9d8a8a4c2e134f inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f">BWProcessCurNode</a> (const DPIm &)</td></tr>
|
|
328
|
+
<tr class="separator:a5b2ec04cbee0e457ed9d8a8a4c2e134f inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
329
|
+
<tr class="memitem:a3f205f7bc0f0ae1a14184bb8cae4bf92 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a3f205f7bc0f0ae1a14184bb8cae4bf92">FWProcessOutgoingEdge</a> (const DPIm &item, <a class="el" href="classSVF_1_1GraphReachSolver.html#a8a42bdbb5987d0a340f9935f09e2acd2">GEDGE</a> *edge)</td></tr>
|
|
330
|
+
<tr class="memdesc:a3f205f7bc0f0ae1a14184bb8cae4bf92 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">Propagation for the solving, to be implemented in the child class. <a href="classSVF_1_1GraphReachSolver.html#a3f205f7bc0f0ae1a14184bb8cae4bf92">More...</a><br /></td></tr>
|
|
331
|
+
<tr class="separator:a3f205f7bc0f0ae1a14184bb8cae4bf92 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
332
|
+
<tr class="memitem:aac7caf50b94caa7bd6960461c0c16014 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#aac7caf50b94caa7bd6960461c0c16014">BWProcessIncomingEdge</a> (const DPIm &item, <a class="el" href="classSVF_1_1GraphReachSolver.html#a8a42bdbb5987d0a340f9935f09e2acd2">GEDGE</a> *edge)</td></tr>
|
|
333
|
+
<tr class="separator:aac7caf50b94caa7bd6960461c0c16014 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
334
|
+
<tr class="memitem:a1638d1ccdcef472f2c54a2e18fc4130b inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">DPIm </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b">popFromWorklist</a> ()</td></tr>
|
|
335
|
+
<tr class="memdesc:a1638d1ccdcef472f2c54a2e18fc4130b inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="mdescLeft"> </td><td class="mdescRight">Worklist operations. <a href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b">More...</a><br /></td></tr>
|
|
336
|
+
<tr class="separator:a1638d1ccdcef472f2c54a2e18fc4130b inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
337
|
+
<tr class="memitem:a53564d384938c19980cb138f720e34e9 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a> (DPIm &item)</td></tr>
|
|
338
|
+
<tr class="separator:a53564d384938c19980cb138f720e34e9 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
339
|
+
<tr class="memitem:a7bfeccdf602cf901699e806e6c481f26 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a7bfeccdf602cf901699e806e6c481f26">isWorklistEmpty</a> ()</td></tr>
|
|
340
|
+
<tr class="separator:a7bfeccdf602cf901699e806e6c481f26 inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
341
|
+
<tr class="memitem:a448dd77a75555479e9c8769c0638af2c inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphReachSolver.html#a448dd77a75555479e9c8769c0638af2c">isInWorklist</a> (DPIm &item)</td></tr>
|
|
342
|
+
<tr class="separator:a448dd77a75555479e9c8769c0638af2c inherit pro_methods_classSVF_1_1GraphReachSolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
343
343
|
</table><table class="memberdecls">
|
|
344
344
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
|
345
345
|
Private Attributes</h2></td></tr>
|
|
@@ -622,11 +622,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
622
622
|
<div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
|
|
623
623
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a346b9300ad16ef65e3ab4e11f88193a7"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a346b9300ad16ef65e3ab4e11f88193a7">SVF::SVFIR::getCallSiteArgsMap</a></div><div class="ttdeci">CSToArgsListMap & getCallSiteArgsMap()</div><div class="ttdoc">Get callsite argument list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00237">SVFIR.h:237</a></div></div>
|
|
624
624
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a3b61042079a6c9dc395f38925c6a1271"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">SVF::SVFVar::isPointer</a></div><div class="ttdeci">virtual bool isPointer() const</div><div class="ttdoc">Whether it is a pointer. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00117">SVFVariables.h:117</a></div></div>
|
|
625
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a9c276e24d13cd1e8e5fbad10b46047f8"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a9c276e24d13cd1e8e5fbad10b46047f8">SVF::SrcSnkDDA::addToSinks</a></div><div class="ttdeci">void addToSinks(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
626
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
627
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a4f37c66db2588cd691353a9ad1a4d5b1"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">SVF::SrcSnkDDA::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdoc">Get SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
625
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a9c276e24d13cd1e8e5fbad10b46047f8"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a9c276e24d13cd1e8e5fbad10b46047f8">SVF::SrcSnkDDA::addToSinks</a></div><div class="ttdeci">void addToSinks(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00225">SrcSnkDDA.h:225</a></div></div>
|
|
626
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00121">SrcSnkDDA.h:121</a></div></div>
|
|
627
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a4f37c66db2588cd691353a9ad1a4d5b1"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">SVF::SrcSnkDDA::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdoc">Get SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00115">SrcSnkDDA.h:115</a></div></div>
|
|
628
628
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
629
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad445032e9b2027b3c990ce2a250257f8"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad445032e9b2027b3c990ce2a250257f8">SVF::SrcSnkDDA::getCallgraph</a></div><div class="ttdeci">PTACallGraph * getCallgraph() const</div><div class="ttdoc">Get Callgraph. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
629
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad445032e9b2027b3c990ce2a250257f8"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad445032e9b2027b3c990ce2a250257f8">SVF::SrcSnkDDA::getCallgraph</a></div><div class="ttdeci">PTACallGraph * getCallgraph() const</div><div class="ttdoc">Get Callgraph. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00127">SrcSnkDDA.h:127</a></div></div>
|
|
630
630
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a317e09edb29b110cf4273009551d31ec"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a317e09edb29b110cf4273009551d31ec">SVF::PTACallGraph::getCallees</a></div><div class="ttdeci">void getCallees(const CallICFGNode *cs, FunctionSet &callees)</div><div class="ttdoc">Get all callees for a callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00382">PTACallGraph.h:382</a></div></div>
|
|
631
631
|
<div class="ttc" id="classSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00047">SVFStatements.h:47</a></div></div>
|
|
632
632
|
<div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
|
|
@@ -664,21 +664,21 @@ Additional Inherited Members</h2></td></tr>
|
|
|
664
664
|
<p>Implements <a class="el" href="classSVF_1_1SrcSnkDDA.html#a1c8f91ffa0b9f01d51c8cd5e14f076d5">SVF::SrcSnkDDA</a>.</p>
|
|
665
665
|
|
|
666
666
|
<p class="definition">Definition at line <a class="el" href="LeakChecker_8cpp_source.html#l00041">41</a> of file <a class="el" href="LeakChecker_8cpp_source.html">LeakChecker.cpp</a>.</p>
|
|
667
|
-
<div class="fragment"><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> </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">getPAG</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg = pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">for</span>(SVFIR::CSToRetMap::iterator it = pag-><a class="code" href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">getCallSiteRets</a>().begin(),</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  eit = pag-><a class="code" href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">getCallSiteRets</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* cs = it->first;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">isPtrInDeadFunction</a>(cs-><a class="code" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">getCallSite</a>()) || !cs-><a class="code" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">getCallSite</a>()->getType()->isPointerTy())</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> callees;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad445032e9b2027b3c990ce2a250257f8">getCallgraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a317e09edb29b110cf4273009551d31ec">getCallees</a>(cs-><a class="code" href="classSVF_1_1RetICFGNode.html#a98c5e8394aa337e53a5ba8f4b0a245d4">getCallICFGNode</a>(),callees);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">for</span>(PTACallGraph::FunctionSet::const_iterator cit = callees.begin(), ecit = callees.end(); cit!=ecit; cit++)</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">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = *cit;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LeakChecker.html#afeee30f5f0c08d9aed59be3064bcc134">isSourceLikeFun</a>(fun))</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="classSVF_1_1LeakChecker.html#aa0d4c66929f8ae39cf5efc77e873f642">CSWorkList</a> <a class="code" href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">worklist</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="classSVF_1_1LeakChecker.html#a65b05e30410e40fe64d41f71516cd367">SVFGNodeBS</a> visited;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  worklist.push(it->first->getCallICFGNode());</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = worklist.pop();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = icfg-><a class="code" href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">getRetICFGNode</a>(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = pag-><a class="code" href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">getCallSiteRet</a>(retBlockNode);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = <a class="code" href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">getSVFG</a>()-><a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pagNode);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> (visited.test(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()) == 0)</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  visited.set(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a47a4be28c625bf4d079a04ac24132165">CallSiteSet</a> csSet;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="comment">// if this node is in an allocation wrapper, find all its call nodes</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SrcSnkDDA.html#afc75e55af839ef535d80555fd422342c">isInAWrapper</a>(node, csSet))</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">for</span> (CallSiteSet::iterator it = csSet.begin(), eit =</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  csSet.end(); it != eit; ++it)</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  worklist.push(*it);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="comment">// otherwise, this is the source we are interested</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// exclude sources in dead functions</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">isPtrInDeadFunction</a>(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()) == <span class="keyword">false</span>)</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>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#acdffb63fd5ae67306640bfe2fcfc3a79">addToSources</a>(node);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classSVF_1_1LeakChecker.html#a155da7c60f3232b43a3996313b0496c7">addSrcToCSID</a>(node, cs);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</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>  }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</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="ttc" id="classSVF_1_1SrcSnkDDA_html_acdffb63fd5ae67306640bfe2fcfc3a79"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#acdffb63fd5ae67306640bfe2fcfc3a79">SVF::SrcSnkDDA::addToSources</a></div><div class="ttdeci">void addToSources(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00208">SrcSnkDDA.h:208</a></div></div>
|
|
667
|
+
<div class="fragment"><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> </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">getPAG</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg = pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">for</span>(SVFIR::CSToRetMap::iterator it = pag-><a class="code" href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">getCallSiteRets</a>().begin(),</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  eit = pag-><a class="code" href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">getCallSiteRets</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* cs = it->first;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">isPtrInDeadFunction</a>(cs-><a class="code" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">getCallSite</a>()) || !cs-><a class="code" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">getCallSite</a>()->getType()->isPointerTy())</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> callees;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad445032e9b2027b3c990ce2a250257f8">getCallgraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a317e09edb29b110cf4273009551d31ec">getCallees</a>(cs-><a class="code" href="classSVF_1_1RetICFGNode.html#a98c5e8394aa337e53a5ba8f4b0a245d4">getCallICFGNode</a>(),callees);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">for</span>(PTACallGraph::FunctionSet::const_iterator cit = callees.begin(), ecit = callees.end(); cit!=ecit; cit++)</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">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = *cit;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LeakChecker.html#afeee30f5f0c08d9aed59be3064bcc134">isSourceLikeFun</a>(fun))</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="classSVF_1_1LeakChecker.html#aa0d4c66929f8ae39cf5efc77e873f642">CSWorkList</a> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="classSVF_1_1LeakChecker.html#a65b05e30410e40fe64d41f71516cd367">SVFGNodeBS</a> visited;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  worklist.push(it->first->getCallICFGNode());</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = worklist.pop();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = icfg-><a class="code" href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">getRetICFGNode</a>(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = pag-><a class="code" href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">getCallSiteRet</a>(retBlockNode);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = <a class="code" href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">getSVFG</a>()-><a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pagNode);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> (visited.test(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()) == 0)</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  visited.set(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a47a4be28c625bf4d079a04ac24132165">CallSiteSet</a> csSet;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="comment">// if this node is in an allocation wrapper, find all its call nodes</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SrcSnkDDA.html#afc75e55af839ef535d80555fd422342c">isInAWrapper</a>(node, csSet))</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">for</span> (CallSiteSet::iterator it = csSet.begin(), eit =</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  csSet.end(); it != eit; ++it)</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  worklist.push(*it);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="comment">// otherwise, this is the source we are interested</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// exclude sources in dead functions</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">isPtrInDeadFunction</a>(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()) == <span class="keyword">false</span>)</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>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#acdffb63fd5ae67306640bfe2fcfc3a79">addToSources</a>(node);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classSVF_1_1LeakChecker.html#a155da7c60f3232b43a3996313b0496c7">addSrcToCSID</a>(node, cs);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</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>  }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</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="ttc" id="classSVF_1_1SrcSnkDDA_html_acdffb63fd5ae67306640bfe2fcfc3a79"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#acdffb63fd5ae67306640bfe2fcfc3a79">SVF::SrcSnkDDA::addToSources</a></div><div class="ttdeci">void addToSources(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00209">SrcSnkDDA.h:209</a></div></div>
|
|
668
668
|
<div class="ttc" id="classSVF_1_1RetICFGNode_html_a8f0490ea9491afdf81641e9928f5a5f7"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">SVF::RetICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00474">ICFGNode.h:474</a></div></div>
|
|
669
669
|
<div class="ttc" id="classSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00171">SVFG.h:171</a></div></div>
|
|
670
670
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set< const SVFFunction * > FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
|
|
671
671
|
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00179">BasicTypes.h:179</a></div></div>
|
|
672
672
|
<div class="ttc" id="classSVF_1_1ICFG_html_a66cb50d8c176f800f06d9cb8924eb896"><div class="ttname"><a href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00222">ICFG.cpp:222</a></div></div>
|
|
673
|
+
<div class="ttc" id="classSVF_1_1GraphReachSolver_html_a5032d3988dbce5a29274c55dc4dbe6bc"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">SVF::GraphReachSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00180">GraphReachSolver.h:180</a></div></div>
|
|
673
674
|
<div class="ttc" id="classSVF_1_1RetICFGNode_html_a98c5e8394aa337e53a5ba8f4b0a245d4"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#a98c5e8394aa337e53a5ba8f4b0a245d4">SVF::RetICFGNode::getCallICFGNode</a></div><div class="ttdeci">const CallICFGNode * getCallICFGNode() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00479">ICFGNode.h:479</a></div></div>
|
|
674
675
|
<div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
|
|
675
676
|
<div class="ttc" id="classSVF_1_1LeakChecker_html_aa0d4c66929f8ae39cf5efc77e873f642"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#aa0d4c66929f8ae39cf5efc77e873f642">SVF::LeakChecker::CSWorkList</a></div><div class="ttdeci">FIFOWorkList< const CallICFGNode * > CSWorkList</div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00047">LeakChecker.h:47</a></div></div>
|
|
676
677
|
<div class="ttc" id="classSVF_1_1LeakChecker_html_afeee30f5f0c08d9aed59be3064bcc134"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#afeee30f5f0c08d9aed59be3064bcc134">SVF::LeakChecker::isSourceLikeFun</a></div><div class="ttdeci">virtual bool isSourceLikeFun(const SVFFunction *fun) override</div><div class="ttdoc">Whether the function is a heap allocator/reallocator (allocate memory) </div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00081">LeakChecker.h:81</a></div></div>
|
|
677
678
|
<div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00458">ICFGNode.h:458</a></div></div>
|
|
678
679
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a4dcfe3e66a16813350ec8dffd47c5644"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">SVF::SVFUtil::isPtrInDeadFunction</a></div><div class="ttdeci">bool isPtrInDeadFunction(const Value *value)</div><div class="ttdoc">Return true if this is value in a dead function (function without any caller) </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00159">LLVMUtil.cpp:159</a></div></div>
|
|
679
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
680
|
-
<div class="ttc" id="
|
|
681
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a47a4be28c625bf4d079a04ac24132165"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a47a4be28c625bf4d079a04ac24132165">SVF::SrcSnkDDA::CallSiteSet</a></div><div class="ttdeci">Set< const CallICFGNode * > CallSiteSet</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00056">SrcSnkDDA.h:56</a></div></div>
|
|
680
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00121">SrcSnkDDA.h:121</a></div></div>
|
|
681
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a47a4be28c625bf4d079a04ac24132165"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a47a4be28c625bf4d079a04ac24132165">SVF::SrcSnkDDA::CallSiteSet</a></div><div class="ttdeci">Set< const CallICFGNode * > CallSiteSet</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00057">SrcSnkDDA.h:57</a></div></div>
|
|
682
682
|
<div class="ttc" id="classSVF_1_1LeakChecker_html_a155da7c60f3232b43a3996313b0496c7"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#a155da7c60f3232b43a3996313b0496c7">SVF::LeakChecker::addSrcToCSID</a></div><div class="ttdeci">void addSrcToCSID(const SVFGNode *src, const CallICFGNode *cs)</div><div class="ttdoc">Record a source to its callsite. </div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00107">LeakChecker.h:107</a></div></div>
|
|
683
683
|
<div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00046">ICFG.h:46</a></div></div>
|
|
684
684
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_afc75e55af839ef535d80555fd422342c"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#afc75e55af839ef535d80555fd422342c">SVF::SrcSnkDDA::isInAWrapper</a></div><div class="ttdeci">bool isInAWrapper(const SVFGNode *src, CallSiteSet &csIdSet)</div><div class="ttdoc">Identify allocation wrappers. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00119">SrcSnkDDA.cpp:119</a></div></div>
|
|
@@ -686,12 +686,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
686
686
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a650b3931af337a92ffcb5dad5ab47b22"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">SVF::SVFIR::getCallSiteRets</a></div><div class="ttdeci">CSToRetMap & getCallSiteRets()</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00249">SVFIR.h:249</a></div></div>
|
|
687
687
|
<div class="ttc" id="classSVF_1_1LeakChecker_html_a65b05e30410e40fe64d41f71516cd367"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#a65b05e30410e40fe64d41f71516cd367">SVF::LeakChecker::SVFGNodeBS</a></div><div class="ttdeci">NodeBS SVFGNodeBS</div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00049">LeakChecker.h:49</a></div></div>
|
|
688
688
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
|
|
689
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a4f37c66db2588cd691353a9ad1a4d5b1"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">SVF::SrcSnkDDA::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdoc">Get SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
689
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a4f37c66db2588cd691353a9ad1a4d5b1"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">SVF::SrcSnkDDA::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdoc">Get SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00115">SrcSnkDDA.h:115</a></div></div>
|
|
690
690
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
691
691
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a3145677c7a3763fc0d6aa7e21b264ab6"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">SVF::SVFIR::getCallSiteRet</a></div><div class="ttdeci">const SVFVar * getCallSiteRet(const RetICFGNode *cs) const</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00254">SVFIR.h:254</a></div></div>
|
|
692
692
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
693
693
|
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
|
|
694
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad445032e9b2027b3c990ce2a250257f8"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad445032e9b2027b3c990ce2a250257f8">SVF::SrcSnkDDA::getCallgraph</a></div><div class="ttdeci">PTACallGraph * getCallgraph() const</div><div class="ttdoc">Get Callgraph. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
694
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad445032e9b2027b3c990ce2a250257f8"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad445032e9b2027b3c990ce2a250257f8">SVF::SrcSnkDDA::getCallgraph</a></div><div class="ttdeci">PTACallGraph * getCallgraph() const</div><div class="ttdoc">Get Callgraph. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00127">SrcSnkDDA.h:127</a></div></div>
|
|
695
695
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a317e09edb29b110cf4273009551d31ec"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a317e09edb29b110cf4273009551d31ec">SVF::PTACallGraph::getCallees</a></div><div class="ttdeci">void getCallees(const CallICFGNode *cs, FunctionSet &callees)</div><div class="ttdoc">Get all callees for a callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00382">PTACallGraph.h:382</a></div></div>
|
|
696
696
|
<div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
|
|
697
697
|
</div><!-- fragment -->
|
|
@@ -803,12 +803,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
803
803
|
<div class="fragment"><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">isAllPathReachable</a>() == <span class="keyword">false</span> && <a class="code" href="classSVF_1_1SrcSnkDDA.html#a19ab6f6df2a67b294268cfe7f4287fd7">isSomePathReachable</a>() == <span class="keyword">false</span>)</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="classSVF_1_1LeakChecker.html#a7b6710c3b56141a249bfc29fb6181583">reportNeverFree</a>(slice-><a class="code" href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">getSource</a>());</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">isAllPathReachable</a>() == <span class="keyword">false</span> && <a class="code" href="classSVF_1_1SrcSnkDDA.html#a19ab6f6df2a67b294268cfe7f4287fd7">isSomePathReachable</a>() == <span class="keyword">true</span>)</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="classSVF_1_1LeakChecker.html#a93486083c0f186b91e655cbef2382634">reportPartialLeak</a>(slice-><a class="code" href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">getSource</a>());</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t conditional free path: \n"</span> << slice-><a class="code" href="classSVF_1_1ProgSlice.html#afac06b0be2b04cb8a65af21fd697b756">evalFinalCond</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  slice-><a class="code" href="classSVF_1_1ProgSlice.html#ab1fdec8d39c9890324718607d7464eab">annotatePaths</a>();</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  }</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="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#aec491143ded97649da1ed61b8fda796c">Options::ValidateTests</a>)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="classSVF_1_1LeakChecker.html#aaf5d098e0d08929a108fb59bff46e424">testsValidation</a>(slice);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> }</div><div class="ttc" id="classSVF_1_1ProgSlice_html_ac1dc48ea64a89ce37394a22e609a0cd0"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">SVF::ProgSlice::getSource</a></div><div class="ttdeci">const SVFGNode * getSource() const</div><div class="ttdoc">root and sink operations </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00112">ProgSlice.h:112</a></div></div>
|
|
804
804
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_afac06b0be2b04cb8a65af21fd697b756"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#afac06b0be2b04cb8a65af21fd697b756">SVF::ProgSlice::evalFinalCond</a></div><div class="ttdeci">std::string evalFinalCond() const</div><div class="ttdoc">Evaluate final condition. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8cpp_source.html#l00160">ProgSlice.cpp:160</a></div></div>
|
|
805
805
|
<div class="ttc" id="classSVF_1_1LeakChecker_html_a7b6710c3b56141a249bfc29fb6181583"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#a7b6710c3b56141a249bfc29fb6181583">SVF::LeakChecker::reportNeverFree</a></div><div class="ttdeci">void reportNeverFree(const SVFGNode *src)</div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8cpp_source.html#l00147">LeakChecker.cpp:147</a></div></div>
|
|
806
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a19ab6f6df2a67b294268cfe7f4287fd7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a19ab6f6df2a67b294268cfe7f4287fd7">SVF::SrcSnkDDA::isSomePathReachable</a></div><div class="ttdeci">virtual bool isSomePathReachable()</div><div class="ttdoc">Whether it is some path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
806
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a19ab6f6df2a67b294268cfe7f4287fd7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a19ab6f6df2a67b294268cfe7f4287fd7">SVF::SrcSnkDDA::isSomePathReachable</a></div><div class="ttdeci">virtual bool isSomePathReachable()</div><div class="ttdoc">Whether it is some path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00298">SrcSnkDDA.h:298</a></div></div>
|
|
807
807
|
<div class="ttc" id="classSVF_1_1LeakChecker_html_a93486083c0f186b91e655cbef2382634"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#a93486083c0f186b91e655cbef2382634">SVF::LeakChecker::reportPartialLeak</a></div><div class="ttdeci">void reportPartialLeak(const SVFGNode *src)</div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8cpp_source.html#l00154">LeakChecker.cpp:154</a></div></div>
|
|
808
808
|
<div class="ttc" id="classSVF_1_1LeakChecker_html_aaf5d098e0d08929a108fb59bff46e424"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#aaf5d098e0d08929a108fb59bff46e424">SVF::LeakChecker::testsValidation</a></div><div class="ttdeci">void testsValidation(const ProgSlice *slice)</div><div class="ttdoc">Validate test cases for regression test purpose. </div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8cpp_source.html#l00183">LeakChecker.cpp:183</a></div></div>
|
|
809
809
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream & errs()</div><div class="ttdoc">Overwrite llvm::errs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00055">SVFUtil.h:55</a></div></div>
|
|
810
810
|
<div class="ttc" id="classSVF_1_1Options_html_aec491143ded97649da1ed61b8fda796c"><div class="ttname"><a href="classSVF_1_1Options.html#aec491143ded97649da1ed61b8fda796c">SVF::Options::ValidateTests</a></div><div class="ttdeci">static const llvm::cl::opt< bool > ValidateTests</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00195">Options.h:195</a></div></div>
|
|
811
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a6ae0d47bac09163e90b8b2e773ad69f0"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">SVF::SrcSnkDDA::isAllPathReachable</a></div><div class="ttdeci">virtual bool isAllPathReachable()</div><div class="ttdoc">Whether it is all path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
811
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a6ae0d47bac09163e90b8b2e773ad69f0"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">SVF::SrcSnkDDA::isAllPathReachable</a></div><div class="ttdeci">virtual bool isAllPathReachable()</div><div class="ttdoc">Whether it is all path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00293">SrcSnkDDA.h:293</a></div></div>
|
|
812
812
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ab1fdec8d39c9890324718607d7464eab"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ab1fdec8d39c9890324718607d7464eab">SVF::ProgSlice::annotatePaths</a></div><div class="ttdeci">void annotatePaths()</div><div class="ttdoc">Annotate program according to final condition. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8cpp_source.html#l00188">ProgSlice.cpp:188</a></div></div>
|
|
813
813
|
</div><!-- fragment -->
|
|
814
814
|
</div>
|
|
@@ -995,7 +995,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
995
995
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00269">SVFUtil.cpp:269</a></div></div>
|
|
996
996
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a6a55f1f8598998a3ffbbc67d32eaf8c4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6a55f1f8598998a3ffbbc67d32eaf8c4">SVF::SVFUtil::sucMsg</a></div><div class="ttdeci">std::string sucMsg(std::string msg)</div><div class="ttdoc">Returns successful message by converting a string into green string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00056">SVFUtil.cpp:56</a></div></div>
|
|
997
997
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00069">SVFUtil.cpp:69</a></div></div>
|
|
998
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a19ab6f6df2a67b294268cfe7f4287fd7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a19ab6f6df2a67b294268cfe7f4287fd7">SVF::SrcSnkDDA::isSomePathReachable</a></div><div class="ttdeci">virtual bool isSomePathReachable()</div><div class="ttdoc">Whether it is some path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
998
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a19ab6f6df2a67b294268cfe7f4287fd7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a19ab6f6df2a67b294268cfe7f4287fd7">SVF::SrcSnkDDA::isSomePathReachable</a></div><div class="ttdeci">virtual bool isSomePathReachable()</div><div class="ttdoc">Whether it is some path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00298">SrcSnkDDA.h:298</a></div></div>
|
|
999
999
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream & errs()</div><div class="ttdoc">Overwrite llvm::errs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00055">SVFUtil.h:55</a></div></div>
|
|
1000
1000
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
1001
1001
|
<div class="ttc" id="classSVF_1_1LeakChecker_html_a8cc561fddf3435b3b40ff4aace23b846"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#a8cc561fddf3435b3b40ff4aace23b846">SVF::LeakChecker::getSrcCSID</a></div><div class="ttdeci">const CallICFGNode * getSrcCSID(const SVFGNode *src)</div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00111">LeakChecker.h:111</a></div></div>
|
|
@@ -1005,7 +1005,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1005
1005
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
|
|
1006
1006
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
1007
1007
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a5d4bb92f5df30417f414397f8e58cf01"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">SVF::SVFUtil::errMsg</a></div><div class="ttdeci">std::string errMsg(std::string msg)</div><div class="ttdoc">Print error message by converting a string into red string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00078">SVFUtil.cpp:78</a></div></div>
|
|
1008
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a6ae0d47bac09163e90b8b2e773ad69f0"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">SVF::SrcSnkDDA::isAllPathReachable</a></div><div class="ttdeci">virtual bool isAllPathReachable()</div><div class="ttdoc">Whether it is all path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1008
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a6ae0d47bac09163e90b8b2e773ad69f0"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">SVF::SrcSnkDDA::isAllPathReachable</a></div><div class="ttdeci">virtual bool isAllPathReachable()</div><div class="ttdoc">Whether it is all path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00293">SrcSnkDDA.h:293</a></div></div>
|
|
1009
1009
|
</div><!-- fragment -->
|
|
1010
1010
|
</div>
|
|
1011
1011
|
</div>
|
|
@@ -1049,7 +1049,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1049
1049
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00269">SVFUtil.cpp:269</a></div></div>
|
|
1050
1050
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a6a55f1f8598998a3ffbbc67d32eaf8c4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6a55f1f8598998a3ffbbc67d32eaf8c4">SVF::SVFUtil::sucMsg</a></div><div class="ttdeci">std::string sucMsg(std::string msg)</div><div class="ttdoc">Returns successful message by converting a string into green string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00056">SVFUtil.cpp:56</a></div></div>
|
|
1051
1051
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00069">SVFUtil.cpp:69</a></div></div>
|
|
1052
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a19ab6f6df2a67b294268cfe7f4287fd7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a19ab6f6df2a67b294268cfe7f4287fd7">SVF::SrcSnkDDA::isSomePathReachable</a></div><div class="ttdeci">virtual bool isSomePathReachable()</div><div class="ttdoc">Whether it is some path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1052
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a19ab6f6df2a67b294268cfe7f4287fd7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a19ab6f6df2a67b294268cfe7f4287fd7">SVF::SrcSnkDDA::isSomePathReachable</a></div><div class="ttdeci">virtual bool isSomePathReachable()</div><div class="ttdoc">Whether it is some path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00298">SrcSnkDDA.h:298</a></div></div>
|
|
1053
1053
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream & errs()</div><div class="ttdoc">Overwrite llvm::errs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00055">SVFUtil.h:55</a></div></div>
|
|
1054
1054
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
1055
1055
|
<div class="ttc" id="classSVF_1_1LeakChecker_html_a8cc561fddf3435b3b40ff4aace23b846"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#a8cc561fddf3435b3b40ff4aace23b846">SVF::LeakChecker::getSrcCSID</a></div><div class="ttdeci">const CallICFGNode * getSrcCSID(const SVFGNode *src)</div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00111">LeakChecker.h:111</a></div></div>
|
|
@@ -1059,7 +1059,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1059
1059
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
|
|
1060
1060
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
1061
1061
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a5d4bb92f5df30417f414397f8e58cf01"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">SVF::SVFUtil::errMsg</a></div><div class="ttdeci">std::string errMsg(std::string msg)</div><div class="ttdoc">Print error message by converting a string into red string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00078">SVFUtil.cpp:78</a></div></div>
|
|
1062
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a6ae0d47bac09163e90b8b2e773ad69f0"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">SVF::SrcSnkDDA::isAllPathReachable</a></div><div class="ttdeci">virtual bool isAllPathReachable()</div><div class="ttdoc">Whether it is all path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1062
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a6ae0d47bac09163e90b8b2e773ad69f0"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">SVF::SrcSnkDDA::isAllPathReachable</a></div><div class="ttdeci">virtual bool isAllPathReachable()</div><div class="ttdoc">Whether it is all path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00293">SrcSnkDDA.h:293</a></div></div>
|
|
1063
1063
|
</div><!-- fragment -->
|
|
1064
1064
|
</div>
|
|
1065
1065
|
</div>
|
|
Binary file
|