svf-tools 1.0.558 → 1.0.561
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +43 -43
- package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/Andersen_8h_source.html +56 -56
- package/SVF-doxygen/html/html/CFLGrammar_8txt.html +8 -8
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +10 -1
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +3 -1
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +44 -44
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +43 -43
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +36 -36
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +21 -21
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +51 -51
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +51 -51
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +111 -111
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -2
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -2
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +40 -40
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +52 -52
- package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +42 -42
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +6 -6
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
- 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 +34 -34
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +114 -114
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +94 -94
- package/SVF-doxygen/html/html/MHP_8h_source.html +135 -135
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +6 -6
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +6 -6
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +33 -33
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +14 -14
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +28 -28
- package/SVF-doxygen/html/html/MTA_8h_source.html +24 -24
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +50 -50
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +93 -93
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +59 -59
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +103 -103
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +185 -185
- 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 +14 -14
- package/SVF-doxygen/html/html/PCG_8h_source.html +52 -52
- package/SVF-doxygen/html/html/PEGGrammar_8txt.html +14 -32
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +40 -40
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +181 -181
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +30 -30
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +60 -60
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/SVFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/SVFG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +2 -2
- 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/SaberCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +66 -66
- package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +6 -6
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +44 -44
- package/SVF-doxygen/html/html/TCT_8h_source.html +93 -93
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +38 -38
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/WPAStat_8h_source.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder-members.html +13 -10
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +190 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +102 -102
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +100 -100
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +58 -58
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +165 -165
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +286 -286
- package/SVF-doxygen/html/html/classSVF_1_1DFPTData.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1DiffPTData.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +40 -5
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +71 -71
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +218 -218
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +334 -334
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +246 -246
- package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +200 -200
- package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +53 -53
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +181 -181
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +267 -267
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +128 -128
- package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1MutableIncDFPTData.html +88 -88
- package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +78 -78
- package/SVF-doxygen/html/html/classSVF_1_1MutableVersionedPTData.html +77 -77
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +131 -131
- package/SVF-doxygen/html/html/classSVF_1_1PTData.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +107 -107
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +66 -66
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +84 -84
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +77 -77
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +134 -134
- package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData.html +77 -77
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +161 -161
- package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1RetMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGNodeLockSpan.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +157 -157
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +264 -264
- package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +100 -100
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedPTData.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +6 -6
- package/SVF-doxygen/html/html/dda_8cpp.html +2 -2
- package/SVF-doxygen/html/html/dda_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/functions_a.html +11 -5
- package/SVF-doxygen/html/html/functions_c.html +21 -18
- package/SVF-doxygen/html/html/functions_f.html +6 -6
- package/SVF-doxygen/html/html/functions_func.html +16 -10
- package/SVF-doxygen/html/html/functions_func_c.html +19 -16
- package/SVF-doxygen/html/html/functions_func_i.html +11 -8
- package/SVF-doxygen/html/html/functions_i.html +11 -8
- package/SVF-doxygen/html/html/functions_l.html +5 -5
- package/SVF-doxygen/html/html/functions_p.html +6 -6
- package/SVF-doxygen/html/html/functions_r.html +3 -7
- package/SVF-doxygen/html/html/functions_s.html +16 -14
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_w.html +11 -11
- package/SVF-doxygen/html/html/globals_g.html +3 -3
- package/SVF-doxygen/html/html/globals_v.html +1 -2
- package/SVF-doxygen/html/html/globals_vars.html +3 -4
- package/SVF-doxygen/html/html/mta_8cpp.html +2 -2
- package/SVF-doxygen/html/html/mta_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
- package/SVF-doxygen/html/html/search/all_1.js +2 -0
- package/SVF-doxygen/html/html/search/all_10.js +5 -5
- package/SVF-doxygen/html/html/search/all_11.js +2 -2
- package/SVF-doxygen/html/html/search/all_12.js +8 -8
- package/SVF-doxygen/html/html/search/all_13.js +2 -2
- package/SVF-doxygen/html/html/search/all_14.js +1 -1
- package/SVF-doxygen/html/html/search/all_15.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_3.js +1 -0
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +2 -1
- package/SVF-doxygen/html/html/search/all_c.js +3 -3
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/functions_0.js +2 -0
- package/SVF-doxygen/html/html/search/functions_2.js +1 -0
- package/SVF-doxygen/html/html/search/functions_8.js +1 -0
- package/SVF-doxygen/html/html/search/variables_13.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +2 -2
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html +4 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +15 -15
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SVFGNodeLockSpan_01_4.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/CFL/CFLGraphBuilder.h +9 -0
- package/include/CFL/PEGGrammar.txt +4 -8
- package/include/DDA/ContextDDA.h +29 -0
- package/include/DDA/DDAClient.h +23 -0
- package/include/DDA/DDAPass.h +22 -0
- package/include/DDA/DDAStat.h +22 -0
- package/include/DDA/DDAVFSolver.h +22 -0
- package/include/DDA/FlowDDA.h +29 -0
- package/include/MSSA/MSSAMuChi.h +1 -1
- package/include/MSSA/MemPartition.h +1 -1
- package/include/MSSA/MemRegion.h +5 -1
- package/include/MSSA/MemSSA.h +7 -1
- package/include/MSSA/SVFGBuilder.h +1 -1
- package/include/MTA/FSMPTA.h +26 -0
- package/include/MTA/LockAnalysis.h +22 -0
- package/include/MTA/MHP.h +22 -0
- package/include/MTA/MTA.h +27 -1
- package/include/MTA/MTAStat.h +22 -0
- package/include/MTA/PCG.h +22 -0
- package/include/MTA/TCT.h +22 -0
- package/include/MemoryModel/AbstractPointsToDS.h +34 -0
- package/include/MemoryModel/ConditionalPT.h +1 -1
- package/include/MemoryModel/LocationSet.h +1 -1
- package/include/MemoryModel/MutablePointsToDS.h +32 -0
- package/include/MemoryModel/PAGBuilderFromFile.h +2 -2
- package/include/MemoryModel/PersistentPointsToCache.h +3 -1
- package/include/MemoryModel/PersistentPointsToDS.h +10 -0
- package/include/MemoryModel/PointerAnalysis.h +1 -1
- package/include/MemoryModel/PointerAnalysisImpl.h +1 -1
- package/include/MemoryModel/SVFStatements.h +1 -1
- package/include/SABER/DoubleFreeChecker.h +1 -1
- package/include/SABER/FileChecker.h +1 -1
- package/include/SABER/LeakChecker.h +1 -1
- package/include/SABER/ProgSlice.h +8 -1
- package/include/SABER/SaberAnnotator.h +1 -1
- package/include/SABER/SaberCheckerAPI.h +1 -1
- package/include/SABER/SaberCondAllocator.h +1 -1
- package/include/SABER/SaberSVFGBuilder.h +1 -1
- package/include/SABER/SrcSnkDDA.h +8 -1
- package/include/SABER/SrcSnkSolver.h +1 -1
- package/include/Util/ExtAPI.h +3 -0
- package/include/Util/ExtAPI.json +1456 -44
- package/include/WPA/Andersen.h +5 -0
- package/include/WPA/TypeAnalysis.h +1 -1
- package/include/WPA/VersionedFlowSensitive.h +4 -0
- package/lib/CFL/CFLGraphBuilder.cpp +44 -0
- package/lib/DDA/ContextDDA.cpp +22 -0
- package/lib/DDA/DDAClient.cpp +22 -0
- package/lib/DDA/DDAPass.cpp +23 -0
- package/lib/DDA/DDAStat.cpp +22 -0
- package/lib/DDA/FlowDDA.cpp +22 -0
- package/lib/MTA/FSMPTA.cpp +22 -0
- package/lib/MTA/LockAnalysis.cpp +22 -0
- package/lib/MTA/MHP.cpp +23 -1
- package/lib/MTA/MTA.cpp +23 -0
- package/lib/MTA/MTAStat.cpp +22 -0
- package/lib/MTA/PCG.cpp +22 -0
- package/lib/MTA/TCT.cpp +23 -0
- package/lib/MemoryModel/LocationSet.cpp +1 -1
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +1 -1
- package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +23 -0
- package/lib/SABER/DoubleFreeChecker.cpp +1 -1
- package/lib/SABER/FileChecker.cpp +1 -1
- package/lib/SABER/LeakChecker.cpp +1 -1
- package/lib/SABER/ProgSlice.cpp +1 -1
- package/lib/SABER/SaberAnnotator.cpp +1 -1
- package/lib/SABER/SaberCheckerAPI.cpp +1 -1
- package/lib/SABER/SaberCondAllocator.cpp +1 -1
- package/lib/SABER/SaberSVFGBuilder.cpp +1 -1
- package/lib/SABER/SrcSnkDDA.cpp +1 -1
- package/lib/Util/ExtAPI.cpp +42 -4
- package/lib/WPA/Steensgaard.cpp +22 -0
- package/lib/WPA/TypeAnalysis.cpp +1 -1
- package/lib/WPA/WPAPass.cpp +1 -1
- package/package.json +1 -1
|
@@ -235,7 +235,7 @@ class SVF::PersistentDiffPTData< Key, KeySet, Data, DataSet ></h3>
|
|
|
235
235
|
|
|
236
236
|
<p><a class="el" href="classSVF_1_1DiffPTData.html">DiffPTData</a> implemented with a persistent points-to backing. </p>
|
|
237
237
|
|
|
238
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
238
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00200">200</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
239
239
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
240
240
|
<a id="a3a2cf38f220a831c4334614b835b57c6"></a>
|
|
241
241
|
<h2 class="memtitle"><span class="permalink"><a href="#a3a2cf38f220a831c4334614b835b57c6">◆ </a></span>BaseDiffPTData</h2>
|
|
@@ -251,7 +251,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
251
251
|
</table>
|
|
252
252
|
</div><div class="memdoc">
|
|
253
253
|
|
|
254
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
254
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00204">204</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
255
255
|
|
|
256
256
|
</div>
|
|
257
257
|
</div>
|
|
@@ -269,7 +269,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
269
269
|
</table>
|
|
270
270
|
</div><div class="memdoc">
|
|
271
271
|
|
|
272
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
272
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00205">205</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
273
273
|
|
|
274
274
|
</div>
|
|
275
275
|
</div>
|
|
@@ -287,7 +287,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
287
287
|
</table>
|
|
288
288
|
</div><div class="memdoc">
|
|
289
289
|
|
|
290
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
290
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00203">203</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
291
291
|
|
|
292
292
|
</div>
|
|
293
293
|
</div>
|
|
@@ -305,7 +305,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
305
305
|
</table>
|
|
306
306
|
</div><div class="memdoc">
|
|
307
307
|
|
|
308
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
308
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00208">208</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
309
309
|
|
|
310
310
|
</div>
|
|
311
311
|
</div>
|
|
@@ -323,7 +323,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
323
323
|
</table>
|
|
324
324
|
</div><div class="memdoc">
|
|
325
325
|
|
|
326
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
326
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00206">206</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
327
327
|
|
|
328
328
|
</div>
|
|
329
329
|
</div>
|
|
@@ -341,7 +341,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
341
341
|
</table>
|
|
342
342
|
</div><div class="memdoc">
|
|
343
343
|
|
|
344
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
344
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00209">209</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
345
345
|
|
|
346
346
|
</div>
|
|
347
347
|
</div>
|
|
@@ -390,10 +390,10 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
390
390
|
|
|
391
391
|
<p>Constructor. </p>
|
|
392
392
|
|
|
393
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
394
|
-
<div class="fragment"><div class="line"><a name="
|
|
395
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a3a2cf38f220a831c4334614b835b57c6"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a3a2cf38f220a831c4334614b835b57c6">SVF::PersistentDiffPTData::BaseDiffPTData</a></div><div class="ttdeci">DiffPTData< Key, KeySet, Data, DataSet > BaseDiffPTData</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
396
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
393
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00212">212</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
394
|
+
<div class="fragment"><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  : <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a3a2cf38f220a831c4334614b835b57c6">BaseDiffPTData</a>(reversePT, ty), <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">ptCache</a>(cache), <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>(cache, reversePT) { }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a444bc59754b4c365327b7ef44baadcd2"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">SVF::PersistentDiffPTData::ptCache</a></div><div class="ttdeci">PersistentPointsToCache< DataSet > & ptCache</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00323">PersistentPointsToDS.h:323</a></div></div>
|
|
395
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a3a2cf38f220a831c4334614b835b57c6"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a3a2cf38f220a831c4334614b835b57c6">SVF::PersistentDiffPTData::BaseDiffPTData</a></div><div class="ttdeci">DiffPTData< Key, KeySet, Data, DataSet > BaseDiffPTData</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00204">PersistentPointsToDS.h:204</a></div></div>
|
|
396
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
397
397
|
</div><!-- fragment -->
|
|
398
398
|
</div>
|
|
399
399
|
</div>
|
|
@@ -422,8 +422,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
422
422
|
</table>
|
|
423
423
|
</div><div class="memdoc">
|
|
424
424
|
|
|
425
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
426
|
-
<div class="fragment"><div class="line"><a name="
|
|
425
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00215">215</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
426
|
+
<div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> { }</div></div><!-- fragment -->
|
|
427
427
|
</div>
|
|
428
428
|
</div>
|
|
429
429
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
@@ -467,8 +467,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
467
467
|
|
|
468
468
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#ac1b9dc035fb0bdf468c7d14b9f9d437a">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
469
469
|
|
|
470
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
471
|
-
<div class="fragment"><div class="line"><a name="
|
|
470
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00235">235</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
471
|
+
<div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>.addPts(dstKey, element);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
472
472
|
</div><!-- fragment -->
|
|
473
473
|
</div>
|
|
474
474
|
</div>
|
|
@@ -499,8 +499,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
499
499
|
</div><div class="memdoc">
|
|
500
500
|
<p>Methods to support type inquiry through isa, cast, and dyn_cast: </p>
|
|
501
501
|
|
|
502
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
503
|
-
<div class="fragment"><div class="line"><a name="
|
|
502
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00311">311</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
503
|
+
<div class="fragment"><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  {</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  }</div></div><!-- fragment -->
|
|
504
504
|
</div>
|
|
505
505
|
</div>
|
|
506
506
|
<a id="a4f4b1869210228e9d1b4f3900b41bb88"></a>
|
|
@@ -529,8 +529,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
529
529
|
</table>
|
|
530
530
|
</div><div class="memdoc">
|
|
531
531
|
|
|
532
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
533
|
-
<div class="fragment"><div class="line"><a name="
|
|
532
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00316">316</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
533
|
+
<div class="fragment"><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  {</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">return</span> ptd->getPTDTY() == PTDataTy::PersDiff;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  }</div></div><!-- fragment -->
|
|
534
534
|
</div>
|
|
535
535
|
</div>
|
|
536
536
|
<a id="a10504f854b1b390818f8ee12182d857c"></a>
|
|
@@ -562,10 +562,10 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
562
562
|
|
|
563
563
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#ad45879017d8fdeedc987ce35c4eba1a5">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
564
564
|
|
|
565
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
566
|
-
<div class="fragment"><div class="line"><a name="
|
|
567
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_abffb5c9cfe1e306ce524ef1dc5ff18ad"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">SVF::PersistentDiffPTData::propaPtsMap</a></div><div class="ttdeci">KeyToIDMap propaPtsMap</div><div class="ttdoc">Points-to already propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
568
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
565
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00217">217</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
566
|
+
<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>.clear();</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="classSVF_1_1PersistentDiffPTData.html#ac54339952e2734a6affdaa543fb3ed22">diffPtsMap</a>.clear();</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">propaPtsMap</a>.clear();</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_ac54339952e2734a6affdaa543fb3ed22"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#ac54339952e2734a6affdaa543fb3ed22">SVF::PersistentDiffPTData::diffPtsMap</a></div><div class="ttdeci">KeyToIDMap diffPtsMap</div><div class="ttdoc">Diff points-to to be propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00327">PersistentPointsToDS.h:327</a></div></div>
|
|
567
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_abffb5c9cfe1e306ce524ef1dc5ff18ad"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">SVF::PersistentDiffPTData::propaPtsMap</a></div><div class="ttdeci">KeyToIDMap propaPtsMap</div><div class="ttdoc">Points-to already propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00329">PersistentPointsToDS.h:329</a></div></div>
|
|
568
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
569
569
|
</div><!-- fragment -->
|
|
570
570
|
</div>
|
|
571
571
|
</div>
|
|
@@ -599,8 +599,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
599
599
|
|
|
600
600
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#a877888f12d9f8048002cc0e6b83d45ac">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
601
601
|
|
|
602
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
603
|
-
<div class="fragment"><div class="line"><a name="
|
|
602
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00255">255</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
603
|
+
<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>.clearFullPts(var);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
604
604
|
</div><!-- fragment -->
|
|
605
605
|
</div>
|
|
606
606
|
</div>
|
|
@@ -634,10 +634,10 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
634
634
|
|
|
635
635
|
<p>Implements <a class="el" href="classSVF_1_1DiffPTData.html#a7784c4a76aa41149975840af8b32c2a9">SVF::DiffPTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
636
636
|
|
|
637
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
638
|
-
<div class="fragment"><div class="line"><a name="
|
|
639
|
-
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a921a4ef4c72ccde5724860f98ad62a57"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a921a4ef4c72ccde5724860f98ad62a57">SVF::PersistentPointsToCache::emptyPointsToId</a></div><div class="ttdeci">static PointsToID emptyPointsToId(void)</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#
|
|
640
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_abffb5c9cfe1e306ce524ef1dc5ff18ad"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">SVF::PersistentDiffPTData::propaPtsMap</a></div><div class="ttdeci">KeyToIDMap propaPtsMap</div><div class="ttdoc">Points-to already propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
637
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00299">299</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
638
|
+
<div class="fragment"><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <a class="code" href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">propaPtsMap</a>[var] = <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">ptCache</a>.<a class="code" href="classSVF_1_1PersistentPointsToCache.html#a921a4ef4c72ccde5724860f98ad62a57">emptyPointsToId</a>();</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a444bc59754b4c365327b7ef44baadcd2"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">SVF::PersistentDiffPTData::ptCache</a></div><div class="ttdeci">PersistentPointsToCache< DataSet > & ptCache</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00323">PersistentPointsToDS.h:323</a></div></div>
|
|
639
|
+
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a921a4ef4c72ccde5724860f98ad62a57"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a921a4ef4c72ccde5724860f98ad62a57">SVF::PersistentPointsToCache::emptyPointsToId</a></div><div class="ttdeci">static PointsToID emptyPointsToId(void)</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#l00039">PersistentPointsToCache.h:39</a></div></div>
|
|
640
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_abffb5c9cfe1e306ce524ef1dc5ff18ad"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">SVF::PersistentDiffPTData::propaPtsMap</a></div><div class="ttdeci">KeyToIDMap propaPtsMap</div><div class="ttdoc">Points-to already propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00329">PersistentPointsToDS.h:329</a></div></div>
|
|
641
641
|
</div><!-- fragment -->
|
|
642
642
|
</div>
|
|
643
643
|
</div>
|
|
@@ -681,8 +681,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
681
681
|
|
|
682
682
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#a03c783b9a1faac0aee3e22361df594ce">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
683
683
|
|
|
684
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
685
|
-
<div class="fragment"><div class="line"><a name="
|
|
684
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00250">250</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
685
|
+
<div class="fragment"><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>.clearPts(var, element);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
686
686
|
</div><!-- fragment -->
|
|
687
687
|
</div>
|
|
688
688
|
</div>
|
|
@@ -728,13 +728,13 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
728
728
|
|
|
729
729
|
<p>Implements <a class="el" href="classSVF_1_1DiffPTData.html#a6eab8e1201083ed8705379e100cfb3b7">SVF::DiffPTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
730
730
|
|
|
731
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
732
|
-
<div class="fragment"><div class="line"><a name="
|
|
733
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a444bc59754b4c365327b7ef44baadcd2"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">SVF::PersistentDiffPTData::ptCache</a></div><div class="ttdeci">PersistentPointsToCache< DataSet > & ptCache</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
734
|
-
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a86bf6959fb5587e350015d58d529af14"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a86bf6959fb5587e350015d58d529af14">SVF::PersistentPointsToCache::complementPts</a></div><div class="ttdeci">PointsToID complementPts(PointsToID lhs, PointsToID rhs)</div><div class="ttdoc">Relatively complements lhs and rhs (lhs \ rhs) and returns it&#39;s ID. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#
|
|
735
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_ac54339952e2734a6affdaa543fb3ed22"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#ac54339952e2734a6affdaa543fb3ed22">SVF::PersistentDiffPTData::diffPtsMap</a></div><div class="ttdeci">KeyToIDMap diffPtsMap</div><div class="ttdoc">Diff points-to to be propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
736
|
-
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a921a4ef4c72ccde5724860f98ad62a57"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a921a4ef4c72ccde5724860f98ad62a57">SVF::PersistentPointsToCache::emptyPointsToId</a></div><div class="ttdeci">static PointsToID emptyPointsToId(void)</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#
|
|
737
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_abffb5c9cfe1e306ce524ef1dc5ff18ad"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">SVF::PersistentDiffPTData::propaPtsMap</a></div><div class="ttdeci">KeyToIDMap propaPtsMap</div><div class="ttdoc">Points-to already propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
731
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00276">276</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
732
|
+
<div class="fragment"><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">PointsToID</a> propaId = <a class="code" href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">propaPtsMap</a>[var];</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">PointsToID</a> allId = <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">ptCache</a>.<a class="code" href="classSVF_1_1PersistentPointsToCache.html#a98d176e384469e0308bfee2061ef84b5">emplacePts</a>(all);</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="comment">// Diff is made up of the entire points-to set minus what has been propagated.</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">PointsToID</a> diffId = <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">ptCache</a>.<a class="code" href="classSVF_1_1PersistentPointsToCache.html#a86bf6959fb5587e350015d58d529af14">complementPts</a>(allId, propaId);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="classSVF_1_1PersistentDiffPTData.html#ac54339952e2734a6affdaa543fb3ed22">diffPtsMap</a>[var] = diffId;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="comment">// We've now propagated the entire thing.</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <a class="code" href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">propaPtsMap</a>[var] = allId;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="comment">// Whether diff is empty or not; just need to check against the ID since it</span></div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="comment">// is the only empty set.</span></div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">return</span> diffId != <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">ptCache</a>.<a class="code" href="classSVF_1_1PersistentPointsToCache.html#a921a4ef4c72ccde5724860f98ad62a57">emptyPointsToId</a>();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  }</div><div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a98d176e384469e0308bfee2061ef84b5"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a98d176e384469e0308bfee2061ef84b5">SVF::PersistentPointsToCache::emplacePts</a></div><div class="ttdeci">PointsToID emplacePts(const Data &pts)</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#l00091">PersistentPointsToCache.h:91</a></div></div>
|
|
733
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a444bc59754b4c365327b7ef44baadcd2"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">SVF::PersistentDiffPTData::ptCache</a></div><div class="ttdeci">PersistentPointsToCache< DataSet > & ptCache</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00323">PersistentPointsToDS.h:323</a></div></div>
|
|
734
|
+
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a86bf6959fb5587e350015d58d529af14"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a86bf6959fb5587e350015d58d529af14">SVF::PersistentPointsToCache::complementPts</a></div><div class="ttdeci">PointsToID complementPts(PointsToID lhs, PointsToID rhs)</div><div class="ttdoc">Relatively complements lhs and rhs (lhs \ rhs) and returns it&#39;s ID. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#l00173">PersistentPointsToCache.h:173</a></div></div>
|
|
735
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_ac54339952e2734a6affdaa543fb3ed22"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#ac54339952e2734a6affdaa543fb3ed22">SVF::PersistentDiffPTData::diffPtsMap</a></div><div class="ttdeci">KeyToIDMap diffPtsMap</div><div class="ttdoc">Diff points-to to be propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00327">PersistentPointsToDS.h:327</a></div></div>
|
|
736
|
+
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a921a4ef4c72ccde5724860f98ad62a57"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a921a4ef4c72ccde5724860f98ad62a57">SVF::PersistentPointsToCache::emptyPointsToId</a></div><div class="ttdeci">static PointsToID emptyPointsToId(void)</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#l00039">PersistentPointsToCache.h:39</a></div></div>
|
|
737
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_abffb5c9cfe1e306ce524ef1dc5ff18ad"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">SVF::PersistentDiffPTData::propaPtsMap</a></div><div class="ttdeci">KeyToIDMap propaPtsMap</div><div class="ttdoc">Points-to already propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00329">PersistentPointsToDS.h:329</a></div></div>
|
|
738
738
|
<div class="ttc" id="namespaceSVF_html_ae545a88267bd2246de827cf590675aca"><div class="ttname"><a href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">SVF::PointsToID</a></div><div class="ttdeci">unsigned PointsToID</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00101">SVFBasicTypes.h:101</a></div></div>
|
|
739
739
|
</div><!-- fragment -->
|
|
740
740
|
</div>
|
|
@@ -768,8 +768,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
768
768
|
|
|
769
769
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#a91b898e3547eecfbf1ab155d183734bf">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
770
770
|
|
|
771
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
772
|
-
<div class="fragment"><div class="line"><a name="
|
|
771
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00265">265</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
772
|
+
<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="comment">// TODO.</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  }</div></div><!-- fragment -->
|
|
773
773
|
</div>
|
|
774
774
|
</div>
|
|
775
775
|
<a id="a3bad0126e25b0a7134e8ef25869bd40e"></a>
|
|
@@ -801,8 +801,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
801
801
|
|
|
802
802
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#adbe2b955f119871b54dc502de84b94c4">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
803
803
|
|
|
804
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
805
|
-
<div class="fragment"><div class="line"><a name="
|
|
804
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00304">304</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
805
|
+
<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>.getAllPts(liveOnly);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
806
806
|
</div><!-- fragment -->
|
|
807
807
|
</div>
|
|
808
808
|
</div>
|
|
@@ -836,10 +836,10 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
836
836
|
|
|
837
837
|
<p>Implements <a class="el" href="classSVF_1_1DiffPTData.html#a7c4159d873a836b6f6d9b2d2c044921d">SVF::DiffPTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
838
838
|
|
|
839
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
840
|
-
<div class="fragment"><div class="line"><a name="
|
|
841
|
-
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_ab2888b033a29de3af48d377dc2fe70aa"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#ab2888b033a29de3af48d377dc2fe70aa">SVF::PersistentPointsToCache::getActualPts</a></div><div class="ttdeci">const Data & getActualPts(PointsToID id) const</div><div class="ttdoc">Returns the points-to set which id represents. id must be stored in the cache. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#
|
|
842
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_ac54339952e2734a6affdaa543fb3ed22"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#ac54339952e2734a6affdaa543fb3ed22">SVF::PersistentDiffPTData::diffPtsMap</a></div><div class="ttdeci">KeyToIDMap diffPtsMap</div><div class="ttdoc">Diff points-to to be propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
839
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00270">270</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
840
|
+
<div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">PointsToID</a> <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1PersistentDiffPTData.html#ac54339952e2734a6affdaa543fb3ed22">diffPtsMap</a>[var];</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">ptCache</a>.<a class="code" href="classSVF_1_1PersistentPointsToCache.html#ab2888b033a29de3af48d377dc2fe70aa">getActualPts</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a444bc59754b4c365327b7ef44baadcd2"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">SVF::PersistentDiffPTData::ptCache</a></div><div class="ttdeci">PersistentPointsToCache< DataSet > & ptCache</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00323">PersistentPointsToDS.h:323</a></div></div>
|
|
841
|
+
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_ab2888b033a29de3af48d377dc2fe70aa"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#ab2888b033a29de3af48d377dc2fe70aa">SVF::PersistentPointsToCache::getActualPts</a></div><div class="ttdeci">const Data & getActualPts(PointsToID id) const</div><div class="ttdoc">Returns the points-to set which id represents. id must be stored in the cache. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#l00106">PersistentPointsToCache.h:106</a></div></div>
|
|
842
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_ac54339952e2734a6affdaa543fb3ed22"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#ac54339952e2734a6affdaa543fb3ed22">SVF::PersistentDiffPTData::diffPtsMap</a></div><div class="ttdeci">KeyToIDMap diffPtsMap</div><div class="ttdoc">Diff points-to to be propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00327">PersistentPointsToDS.h:327</a></div></div>
|
|
843
843
|
<div class="ttc" id="namespaceSVF_html_ae545a88267bd2246de827cf590675aca"><div class="ttname"><a href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">SVF::PointsToID</a></div><div class="ttdeci">unsigned PointsToID</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00101">SVFBasicTypes.h:101</a></div></div>
|
|
844
844
|
</div><!-- fragment -->
|
|
845
845
|
</div>
|
|
@@ -874,8 +874,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
874
874
|
|
|
875
875
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#a9ae6037637d8b9acb323333f491f4a7d">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
876
876
|
|
|
877
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
878
|
-
<div class="fragment"><div class="line"><a name="
|
|
877
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00224">224</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
878
|
+
<div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>.getPts(var);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
879
879
|
</div><!-- fragment -->
|
|
880
880
|
</div>
|
|
881
881
|
</div>
|
|
@@ -909,9 +909,9 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
909
909
|
|
|
910
910
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#ab6146f5582946c08568f3a8d45e57b03">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
911
911
|
|
|
912
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
913
|
-
<div class="fragment"><div class="line"><a name="
|
|
914
|
-
<div class="ttc" id="classSVF_1_1PTData_html_a46fa3ec6462f3dda19549340281bb219"><div class="ttname"><a href="classSVF_1_1PTData.html#a46fa3ec6462f3dda19549340281bb219">SVF::PTData::rev</a></div><div class="ttdeci">bool rev</div><div class="ttdoc">Whether we maintain reverse points-to sets or not. </div><div class="ttdef"><b>Definition:</b> <a href="AbstractPointsToDS_8h_source.html#
|
|
912
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00229">229</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
913
|
+
<div class="fragment"><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  assert(this-><a class="code" href="classSVF_1_1PTData.html#a46fa3ec6462f3dda19549340281bb219">rev</a> && <span class="stringliteral">"PersistentDiffPTData::getRevPts: constructed without reverse PT support!"</span>);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>.getRevPts(data);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
914
|
+
<div class="ttc" id="classSVF_1_1PTData_html_a46fa3ec6462f3dda19549340281bb219"><div class="ttname"><a href="classSVF_1_1PTData.html#a46fa3ec6462f3dda19549340281bb219">SVF::PTData::rev</a></div><div class="ttdeci">bool rev</div><div class="ttdoc">Whether we maintain reverse points-to sets or not. </div><div class="ttdef"><b>Definition:</b> <a href="AbstractPointsToDS_8h_source.html#l00141">AbstractPointsToDS.h:141</a></div></div>
|
|
915
915
|
</div><!-- fragment -->
|
|
916
916
|
</div>
|
|
917
917
|
</div>
|
|
@@ -945,9 +945,9 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
945
945
|
|
|
946
946
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#af2f176027169e18730848c7a583aed93">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
947
947
|
|
|
948
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
949
|
-
<div class="fragment"><div class="line"><a name="
|
|
950
|
-
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a89c4e8c8edcc6744f298e90d721a0745"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a89c4e8c8edcc6744f298e90d721a0745">SVF::PersistentPointsToCache::remapAllPts</a></div><div class="ttdeci">void remapAllPts(void)</div><div class="ttdoc">Remaps all points-to sets stored in the cache to the current mapping. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#
|
|
948
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00260">260</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
949
|
+
<div class="fragment"><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">ptCache</a>.<a class="code" href="classSVF_1_1PersistentPointsToCache.html#a89c4e8c8edcc6744f298e90d721a0745">remapAllPts</a>();</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a444bc59754b4c365327b7ef44baadcd2"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">SVF::PersistentDiffPTData::ptCache</a></div><div class="ttdeci">PersistentPointsToCache< DataSet > & ptCache</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00323">PersistentPointsToDS.h:323</a></div></div>
|
|
950
|
+
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a89c4e8c8edcc6744f298e90d721a0745"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a89c4e8c8edcc6744f298e90d721a0745">SVF::PersistentPointsToCache::remapAllPts</a></div><div class="ttdeci">void remapAllPts(void)</div><div class="ttdoc">Remaps all points-to sets stored in the cache to the current mapping. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#l00080">PersistentPointsToCache.h:80</a></div></div>
|
|
951
951
|
</div><!-- fragment -->
|
|
952
952
|
</div>
|
|
953
953
|
</div>
|
|
@@ -991,8 +991,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
991
991
|
|
|
992
992
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#af7aa22f11558c12ff16612174e2221dd">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
993
993
|
|
|
994
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
995
|
-
<div class="fragment"><div class="line"><a name="
|
|
994
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00240">240</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
995
|
+
<div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>.unionPts(dstKey, srcKey);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
996
996
|
</div><!-- fragment -->
|
|
997
997
|
</div>
|
|
998
998
|
</div>
|
|
@@ -1036,8 +1036,8 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
1036
1036
|
|
|
1037
1037
|
<p>Implements <a class="el" href="classSVF_1_1PTData.html#aa8f281fbccfbdb13ab7671094d78a5c0">SVF::PTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
1038
1038
|
|
|
1039
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
1040
|
-
<div class="fragment"><div class="line"><a name="
|
|
1039
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00245">245</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
1040
|
+
<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">persPTData</a>.unionPts(dstKey, srcDataSet);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a0d6620a7078bd60d16256ac48af58db9"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a0d6620a7078bd60d16256ac48af58db9">SVF::PersistentDiffPTData::persPTData</a></div><div class="ttdeci">PersistentPTData< Key, KeySet, Data, DataSet > persPTData</div><div class="ttdoc">Backing to implement basic PTData methods. Allows us to avoid multiple inheritance. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00325">PersistentPointsToDS.h:325</a></div></div>
|
|
1041
1041
|
</div><!-- fragment -->
|
|
1042
1042
|
</div>
|
|
1043
1043
|
</div>
|
|
@@ -1080,11 +1080,11 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
1080
1080
|
|
|
1081
1081
|
<p>Implements <a class="el" href="classSVF_1_1DiffPTData.html#a0f422f826bb378ebb34199f0378e351d">SVF::DiffPTData< Key, KeySet, Data, DataSet ></a>.</p>
|
|
1082
1082
|
|
|
1083
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
1084
|
-
<div class="fragment"><div class="line"><a name="
|
|
1085
|
-
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_abffb5c9cfe1e306ce524ef1dc5ff18ad"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">SVF::PersistentDiffPTData::propaPtsMap</a></div><div class="ttdeci">KeyToIDMap propaPtsMap</div><div class="ttdoc">Points-to already propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#
|
|
1083
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00292">292</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
1084
|
+
<div class="fragment"><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <a class="code" href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">PointsToID</a> dstId = <a class="code" href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">propaPtsMap</a>[dst];</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">PointsToID</a> srcId = <a class="code" href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">propaPtsMap</a>[src];</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">propaPtsMap</a>[dst] = <a class="code" href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">ptCache</a>.<a class="code" href="classSVF_1_1PersistentPointsToCache.html#a17d33558208c19019e541ee167009494">intersectPts</a>(dstId, srcId);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  }</div><div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_a444bc59754b4c365327b7ef44baadcd2"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#a444bc59754b4c365327b7ef44baadcd2">SVF::PersistentDiffPTData::ptCache</a></div><div class="ttdeci">PersistentPointsToCache< DataSet > & ptCache</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00323">PersistentPointsToDS.h:323</a></div></div>
|
|
1085
|
+
<div class="ttc" id="classSVF_1_1PersistentDiffPTData_html_abffb5c9cfe1e306ce524ef1dc5ff18ad"><div class="ttname"><a href="classSVF_1_1PersistentDiffPTData.html#abffb5c9cfe1e306ce524ef1dc5ff18ad">SVF::PersistentDiffPTData::propaPtsMap</a></div><div class="ttdeci">KeyToIDMap propaPtsMap</div><div class="ttdoc">Points-to already propagated. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00329">PersistentPointsToDS.h:329</a></div></div>
|
|
1086
1086
|
<div class="ttc" id="namespaceSVF_html_ae545a88267bd2246de827cf590675aca"><div class="ttname"><a href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">SVF::PointsToID</a></div><div class="ttdeci">unsigned PointsToID</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00101">SVFBasicTypes.h:101</a></div></div>
|
|
1087
|
-
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a17d33558208c19019e541ee167009494"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a17d33558208c19019e541ee167009494">SVF::PersistentPointsToCache::intersectPts</a></div><div class="ttdeci">PointsToID intersectPts(PointsToID lhs, PointsToID rhs)</div><div class="ttdoc">Intersects lhs and rhs (lhs AND rhs) and returns the intersection&#39;s ID. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#
|
|
1087
|
+
<div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a17d33558208c19019e541ee167009494"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a17d33558208c19019e541ee167009494">SVF::PersistentPointsToCache::intersectPts</a></div><div class="ttdeci">PointsToID intersectPts(PointsToID lhs, PointsToID rhs)</div><div class="ttdoc">Intersects lhs and rhs (lhs AND rhs) and returns the intersection&#39;s ID. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#l00236">PersistentPointsToCache.h:236</a></div></div>
|
|
1088
1088
|
</div><!-- fragment -->
|
|
1089
1089
|
</div>
|
|
1090
1090
|
</div>
|
|
@@ -1113,7 +1113,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
1113
1113
|
|
|
1114
1114
|
<p>Diff points-to to be propagated. </p>
|
|
1115
1115
|
|
|
1116
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
1116
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00327">327</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
1117
1117
|
|
|
1118
1118
|
</div>
|
|
1119
1119
|
</div>
|
|
@@ -1141,7 +1141,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
1141
1141
|
|
|
1142
1142
|
<p>Backing to implement basic <a class="el" href="classSVF_1_1PTData.html">PTData</a> methods. Allows us to avoid multiple inheritance. </p>
|
|
1143
1143
|
|
|
1144
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
1144
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00325">325</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
1145
1145
|
|
|
1146
1146
|
</div>
|
|
1147
1147
|
</div>
|
|
@@ -1169,7 +1169,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
1169
1169
|
|
|
1170
1170
|
<p>Points-to already propagated. </p>
|
|
1171
1171
|
|
|
1172
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
1172
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00329">329</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
1173
1173
|
|
|
1174
1174
|
</div>
|
|
1175
1175
|
</div>
|
|
@@ -1195,7 +1195,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet &g
|
|
|
1195
1195
|
</table>
|
|
1196
1196
|
</div><div class="memdoc">
|
|
1197
1197
|
|
|
1198
|
-
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#
|
|
1198
|
+
<p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00323">323</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
|
|
1199
1199
|
|
|
1200
1200
|
</div>
|
|
1201
1201
|
</div>
|