svf-tools 1.0.342 → 1.0.346
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +7 -7
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +15 -15
- package/SVF-doxygen/html/html/ICFGNode_8h.html +7 -7
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +69 -69
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +45 -44
- package/SVF-doxygen/html/html/ICFG_8h_source.html +34 -34
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +6 -6
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MHP_8h_source.html +6 -6
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +26 -26
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +18 -18
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +12 -12
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +41 -41
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +47 -46
- package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PCG_8h_source.html +4 -4
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -17
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +17 -17
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +31 -31
- package/SVF-doxygen/html/html/SVFG_8h_source.html +27 -27
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +31 -31
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +14 -14
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TCT_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +20 -20
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/VFG_8h_source.html +19 -19
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/annotated.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +158 -0
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +852 -0
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CallMU-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +60 -60
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +45 -45
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode-members.html +150 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +618 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +149 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +624 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode-members.html +144 -0
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +413 -0
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +191 -184
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +69 -66
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode-members.html +144 -0
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +399 -0
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode-members.html +146 -0
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +494 -0
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +61 -61
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1MHP-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +196 -196
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +77 -77
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +43 -39
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +90 -90
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PCG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +118 -118
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +107 -107
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +153 -0
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +696 -0
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +159 -159
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +76 -76
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +132 -132
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +58 -58
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TCT-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +220 -220
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +96 -96
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +12 -12
- package/SVF-doxygen/html/html/classes.html +16 -16
- package/SVF-doxygen/html/html/functions_a.html +59 -59
- package/SVF-doxygen/html/html/functions_c.html +65 -67
- package/SVF-doxygen/html/html/functions_eval_r.html +3 -0
- package/SVF-doxygen/html/html/functions_f.html +14 -14
- package/SVF-doxygen/html/html/functions_func.html +56 -56
- package/SVF-doxygen/html/html/functions_func_c.html +28 -28
- package/SVF-doxygen/html/html/functions_func_f.html +6 -6
- package/SVF-doxygen/html/html/functions_func_g.html +86 -86
- package/SVF-doxygen/html/html/functions_func_h.html +17 -17
- package/SVF-doxygen/html/html/functions_func_i.html +12 -12
- package/SVF-doxygen/html/html/functions_func_m.html +1 -1
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_r.html +6 -6
- package/SVF-doxygen/html/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/html/functions_func_t.html +7 -7
- package/SVF-doxygen/html/html/functions_func_u.html +3 -3
- package/SVF-doxygen/html/html/functions_g.html +88 -88
- package/SVF-doxygen/html/html/functions_h.html +16 -16
- package/SVF-doxygen/html/html/functions_i.html +22 -22
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +2 -2
- package/SVF-doxygen/html/html/functions_o.html +13 -13
- package/SVF-doxygen/html/html/functions_p.html +14 -14
- package/SVF-doxygen/html/html/functions_r.html +13 -12
- package/SVF-doxygen/html/html/functions_s.html +13 -13
- package/SVF-doxygen/html/html/functions_t.html +12 -14
- package/SVF-doxygen/html/html/functions_type.html +1 -1
- package/SVF-doxygen/html/html/functions_type_c.html +24 -24
- package/SVF-doxygen/html/html/functions_type_f.html +3 -3
- package/SVF-doxygen/html/html/functions_type_i.html +2 -2
- package/SVF-doxygen/html/html/functions_type_p.html +1 -1
- package/SVF-doxygen/html/html/functions_type_s.html +1 -1
- package/SVF-doxygen/html/html/functions_type_v.html +2 -2
- package/SVF-doxygen/html/html/functions_u.html +3 -3
- package/SVF-doxygen/html/html/functions_v.html +8 -8
- package/SVF-doxygen/html/html/functions_vars_a.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_c.html +11 -11
- package/SVF-doxygen/html/html/functions_vars_f.html +5 -5
- package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_i.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_r.html +1 -1
- package/SVF-doxygen/html/html/functions_w.html +9 -5
- package/SVF-doxygen/html/html/hierarchy.html +7 -7
- package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
- package/SVF-doxygen/html/html/search/all_1.js +58 -58
- package/SVF-doxygen/html/html/search/all_10.js +8 -8
- package/SVF-doxygen/html/html/search/all_12.js +8 -7
- package/SVF-doxygen/html/html/search/all_13.js +11 -11
- package/SVF-doxygen/html/html/search/all_14.js +8 -8
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +4 -4
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +35 -34
- package/SVF-doxygen/html/html/search/all_6.js +12 -12
- package/SVF-doxygen/html/html/search/all_7.js +62 -61
- package/SVF-doxygen/html/html/search/all_8.js +17 -17
- package/SVF-doxygen/html/html/search/all_9.js +16 -16
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +5 -5
- package/SVF-doxygen/html/html/search/all_e.js +3 -3
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/classes_2.js +1 -1
- package/SVF-doxygen/html/html/search/classes_5.js +2 -2
- package/SVF-doxygen/html/html/search/classes_6.js +1 -1
- package/SVF-doxygen/html/html/search/classes_8.js +2 -2
- package/SVF-doxygen/html/html/search/classes_e.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_e.js +2 -1
- package/SVF-doxygen/html/html/search/functions_0.js +55 -55
- package/SVF-doxygen/html/html/search/functions_10.js +3 -3
- package/SVF-doxygen/html/html/search/functions_11.js +4 -4
- package/SVF-doxygen/html/html/search/functions_12.js +1 -1
- package/SVF-doxygen/html/html/search/functions_2.js +10 -10
- package/SVF-doxygen/html/html/search/functions_5.js +4 -4
- package/SVF-doxygen/html/html/search/functions_6.js +61 -61
- package/SVF-doxygen/html/html/search/functions_7.js +17 -17
- package/SVF-doxygen/html/html/search/functions_8.js +12 -12
- package/SVF-doxygen/html/html/search/functions_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_0.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +21 -21
- package/SVF-doxygen/html/html/search/typedefs_5.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_8.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
- package/SVF-doxygen/html/html/search/variables_1.js +2 -2
- package/SVF-doxygen/html/html/search/variables_12.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +4 -4
- package/SVF-doxygen/html/html/search/variables_6.js +5 -5
- package/SVF-doxygen/html/html/search/variables_7.js +1 -1
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +22 -22
- package/include/DDA/ContextDDA.h +3 -3
- package/include/DDA/DDAClient.h +2 -2
- package/include/DDA/DDAVFSolver.h +2 -2
- package/include/DDA/FlowDDA.h +2 -2
- package/include/Graphs/ICFG.h +33 -33
- package/include/Graphs/ICFGNode.h +33 -33
- package/include/Graphs/ICFGStat.h +11 -11
- package/include/Graphs/PTACallGraph.h +19 -19
- package/include/Graphs/SVFG.h +16 -16
- package/include/Graphs/SVFGNode.h +14 -14
- package/include/Graphs/SVFGOPT.h +1 -1
- package/include/Graphs/ThreadCallGraph.h +25 -25
- package/include/Graphs/VFG.h +10 -10
- package/include/Graphs/VFGNode.h +8 -8
- package/include/MSSA/MSSAMuChi.h +6 -6
- package/include/MSSA/MemRegion.h +24 -24
- package/include/MSSA/MemSSA.h +10 -10
- package/include/MTA/LockResultValidator.h +2 -2
- package/include/MTA/MHP.h +4 -4
- package/include/MTA/PCG.h +1 -1
- package/include/MTA/TCT.h +2 -2
- package/include/MemoryModel/PointerAnalysis.h +12 -12
- package/include/MemoryModel/SVFIR.h +21 -21
- package/include/MemoryModel/SVFStatements.h +11 -11
- package/include/SABER/LeakChecker.h +4 -4
- package/include/SABER/ProgSlice.h +2 -2
- package/include/SABER/SaberCheckerAPI.h +4 -4
- package/include/SABER/SaberSVFGBuilder.h +1 -1
- package/include/SABER/SrcSnkDDA.h +1 -1
- package/include/SVF-FE/ICFGBuilder.h +4 -4
- package/include/SVF-FE/SVFIRBuilder.h +5 -5
- package/include/Util/NodeIDAllocator.h +3 -0
- package/lib/DDA/ContextDDA.cpp +3 -3
- package/lib/DDA/DDAClient.cpp +1 -1
- package/lib/DDA/FlowDDA.cpp +1 -1
- package/lib/Graphs/ICFG.cpp +55 -50
- package/lib/Graphs/PTACallGraph.cpp +5 -5
- package/lib/Graphs/SVFG.cpp +7 -7
- package/lib/Graphs/ThreadCallGraph.cpp +6 -6
- package/lib/Graphs/VFG.cpp +6 -6
- package/lib/MSSA/MemRegion.cpp +17 -17
- package/lib/MSSA/MemSSA.cpp +3 -3
- package/lib/MTA/LockAnalysis.cpp +4 -4
- package/lib/MTA/MHP.cpp +5 -5
- package/lib/MTA/MTAResultValidator.cpp +1 -1
- package/lib/MTA/PCG.cpp +1 -1
- package/lib/MemoryModel/PointerAnalysis.cpp +10 -10
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
- package/lib/MemoryModel/SVFIR.cpp +5 -5
- package/lib/SABER/DoubleFreeChecker.cpp +1 -1
- package/lib/SABER/FileChecker.cpp +2 -2
- package/lib/SABER/LeakChecker.cpp +8 -8
- package/lib/SABER/ProgSlice.cpp +2 -2
- package/lib/SVF-FE/CallGraphBuilder.cpp +4 -4
- package/lib/SVF-FE/Graph2Json.cpp +5 -5
- package/lib/SVF-FE/ICFGBuilder.cpp +31 -25
- package/lib/SVF-FE/SVFIRBuilder.cpp +8 -8
- package/lib/Util/NodeIDAllocator.cpp +12 -0
- package/lib/Util/Options.cpp +2 -1
- package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
- package/lib/WPA/Andersen.cpp +3 -3
- package/lib/WPA/FlowSensitive.cpp +2 -2
- package/lib/WPA/TypeAnalysis.cpp +1 -1
- package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
- package/lib/WPA/WPAPass.cpp +4 -4
- package/package.json +1 -1
|
@@ -66,116 +66,116 @@ $(function() {
|
|
|
66
66
|
<div class="title">ICFGNode.h</div> </div>
|
|
67
67
|
</div><!--header-->
|
|
68
68
|
<div class="contents">
|
|
69
|
-
<a href="ICFGNode_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- ICFGNode.h -- ICFG node------------------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-2018> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * ICFGNode.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Created on: Sep 11, 2018</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Author: Yulei</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef ICFGNODE_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define ICFGNODE_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="GenericGraph_8h.html">Graphs/GenericGraph.h</a>"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="ICFGEdge_8h.html">Graphs/ICFGEdge.h</a>"</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">class </span>ICFGNode;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">class </span>RetBlockNode;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">class </span>CallPE;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">class </span>RetPE;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">class </span>SVFStmt;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">class </span>SVFVar;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="namespaceSVF.html#afc2824871ad4eb9b871c35ae28494cd3"> 46</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericNode<ICFGNode, ICFGEdge></a> <a class="code" href="namespaceSVF.html#afc2824871ad4eb9b871c35ae28494cd3">GenericICFGNodeTy</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html"> 54</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> : <span class="keyword">public</span> GenericICFGNodeTy</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> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376"> 60</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376">ICFGNodeK</a></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4"> 62</a></span>  <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4">IntraBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">GlobalBlock</a></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  };</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff"> 65</a></span>  <span class="keyword">typedef</span> ICFGEdge::ICFGEdgeSetTy::iterator <a class="code" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">iterator</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2"> 66</a></span>  <span class="keyword">typedef</span> ICFGEdge::ICFGEdgeSetTy::const_iterator <a class="code" href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">const_iterator</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ab1a4b4a8dc600ca375d9f5adbd2a5b59"> 67</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const CallPE *></a> <a class="code" href="classSVF_1_1ICFGNode.html#ab1a4b4a8dc600ca375d9f5adbd2a5b59">CallPESet</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a2c39225f7b5ca0c392ea7afc3cec1fdb"> 68</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const RetPE *></a> <a class="code" href="classSVF_1_1ICFGNode.html#a2c39225f7b5ca0c392ea7afc3cec1fdb">RetPESet</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a53a4a33b8ea241f46b37111905a48169"> 69</a></span>  <span class="keyword">typedef</span> std::list<const VFGNode*> <a class="code" href="classSVF_1_1ICFGNode.html#a53a4a33b8ea241f46b37111905a48169">VFGNodeList</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#aa84a3724426f08a0e31ecdbc99114072"> 70</a></span>  <span class="keyword">typedef</span> std::list<const SVFStmt*> <a class="code" href="classSVF_1_1ICFGNode.html#aa84a3724426f08a0e31ecdbc99114072">SVFStmtList</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ae6fe836e269ac36f14b2d2b1499a11e6"> 74</a></span>  <a class="code" href="classSVF_1_1ICFGNode.html#ae6fe836e269ac36f14b2d2b1499a11e6">ICFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> i, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376">ICFGNodeK</a> k) : GenericICFGNodeTy(i, k), <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>(nullptr), <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a>(nullptr)</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</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>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ae526280cca2d6cbb2868c80461bc16da"> 80</a></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1ICFGNode.html#ae526280cca2d6cbb2868c80461bc16da">getFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>;</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> </div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ac1689701c75e04481e2ae2f4482551c4"> 86</a></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1ICFGNode.html#ac1689701c75e04481e2ae2f4482551c4">getBB</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a>;</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> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a19844bff2f6a0e90217c7a2ce9bb5184"> 94</a></span>  <span class="keyword">friend</span> <a class="code" href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">raw_ostream</a> &<a class="code" href="classSVF_1_1ICFGNode.html#a19844bff2f6a0e90217c7a2ce9bb5184">operator<<</a>(<a class="code" href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">raw_ostream</a> &o, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> &node)</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>  o << node.<a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> o;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#aff18898b9bbd85d08b00d64d48eea6a5"> 103</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ICFGNode.html#aff18898b9bbd85d08b00d64d48eea6a5">addVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *vfgNode)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3">VFGNodes</a>.push_back(vfgNode);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#abcc53637a634f7ec92b9c7861b941601"> 108</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> VFGNodeList& <a class="code" href="classSVF_1_1ICFGNode.html#abcc53637a634f7ec92b9c7861b941601">getVFGNodes</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3">VFGNodes</a>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a8a133398c691ab3639ceefbc57cd33be"> 116</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ICFGNode.html#a8a133398c691ab3639ceefbc57cd33be">addSVFStmt</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *edge)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71">pagEdges</a>.push_back(edge);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661"> 121</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> SVFStmtList& <a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71">pagEdges</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ICFGNode.html#a3c193da05d6dee7313a141ae3ab43e97">dump</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be"> 132</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005"> 133</a></span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3"> 134</a></span>  VFGNodeList <a class="code" href="classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3">VFGNodes</a>; <span class="comment">//< a list of VFGNodes</span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71"> 135</a></span>  SVFStmtList <a class="code" href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71">pagEdges</a>; <span class="comment">//< a list of PAGEdges</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> };</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalBlockNode.html"> 142</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1GlobalBlockNode.html">GlobalBlockNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalBlockNode.html#a233fceb667e517862fd97d50832a4d7e"> 146</a></span>  <a class="code" href="classSVF_1_1GlobalBlockNode.html#a233fceb667e517862fd97d50832a4d7e">GlobalBlockNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>) : <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>(id, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">GlobalBlock</a>)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  }</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalBlockNode.html#a42b0e52fb503c704bec4b1506991ed75"> 153</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GlobalBlockNode.html#a42b0e52fb503c704bec4b1506991ed75">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GlobalBlockNode.html">GlobalBlockNode</a> *)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalBlockNode.html#aab88b3a34534158e3f67e81f047248d0"> 158</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GlobalBlockNode.html#aab88b3a34534158e3f67e81f047248d0">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">GlobalBlock</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalBlockNode.html#a26f244ed2fdbc1cb7abdb97373465caf"> 163</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GlobalBlockNode.html#a26f244ed2fdbc1cb7abdb97373465caf">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">GlobalBlock</a>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> };</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraBlockNode.html"> 175</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1IntraBlockNode.html">IntraBlockNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraBlockNode.html#a2381ce8fea9eb3213bd2f2d00db0086d"> 178</a></span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *<a class="code" href="classSVF_1_1IntraBlockNode.html#a2381ce8fea9eb3213bd2f2d00db0086d">inst</a>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraBlockNode.html#a498e59de4ef7bc2ec8f76de43608a778"> 181</a></span>  <a class="code" href="classSVF_1_1IntraBlockNode.html#a498e59de4ef7bc2ec8f76de43608a778">IntraBlockNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *i) : <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>(id, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4">IntraBlock</a>), inst(i)</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a> = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(inst->getFunction());</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a> = inst->getParent();</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraBlockNode.html#ac4d046229e38c7501d7aca638f13f07b"> 187</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *<a class="code" href="classSVF_1_1IntraBlockNode.html#ac4d046229e38c7501d7aca638f13f07b">getInst</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> inst;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraBlockNode.html#afec0f1abe96e4f6e0e3f9e4d075bf308"> 194</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraBlockNode.html#afec0f1abe96e4f6e0e3f9e4d075bf308">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntraBlockNode.html">IntraBlockNode</a> *)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraBlockNode.html#aab3d8287388f8d4b5e22e8496bb37f8d"> 199</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraBlockNode.html#aab3d8287388f8d4b5e22e8496bb37f8d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4">IntraBlock</a>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraBlockNode.html#a7a4180f1fc1b33da820c676aa8c4613d"> 204</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraBlockNode.html#a7a4180f1fc1b33da820c676aa8c4613d">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4">IntraBlock</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> };</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1InterBlockNode.html"> 213</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classSVF_1_1InterBlockNode.html#a02b79c6ff51262d4c92a69597a8b46db"> 218</a></span>  <a class="code" href="classSVF_1_1InterBlockNode.html#a02b79c6ff51262d4c92a69597a8b46db">InterBlockNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376">ICFGNodeK</a> k) : <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>(id, k)</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classSVF_1_1InterBlockNode.html#aba751d4e1585e5e42bf505574f8b288a"> 224</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterBlockNode.html#aba751d4e1585e5e42bf505574f8b288a">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a> *)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1InterBlockNode.html#a2a0f22695ebcceefe2c57a4ba9255e35"> 229</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterBlockNode.html#a2a0f22695ebcceefe2c57a4ba9255e35">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><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>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  }</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="classSVF_1_1InterBlockNode.html#a4ab1005f23a3f3a0e2e275a9be183553"> 237</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterBlockNode.html#a4ab1005f23a3f3a0e2e275a9be183553">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> };</div><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> </div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html"> 251</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1FunEntryBlockNode.html">FunEntryBlockNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html#a44354534e0f2fc7626e5ed11126f2549"> 255</a></span>  <span class="keyword">typedef</span> std::vector<const SVFVar *> <a class="code" href="classSVF_1_1FunEntryBlockNode.html#a44354534e0f2fc7626e5ed11126f2549">FormalParmNodeVec</a>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html#afc829a259f3c15524a71cef27d294949"> 257</a></span>  FormalParmNodeVec <a class="code" href="classSVF_1_1FunEntryBlockNode.html#afc829a259f3c15524a71cef27d294949">FPNodes</a>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="classSVF_1_1FunEntryBlockNode.html">FunEntryBlockNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html#ac0f34c048695a1ed822bc7fec0dfe028"> 262</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1FunEntryBlockNode.html#ac0f34c048695a1ed822bc7fec0dfe028">getFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html#a2206a196a4bfcc4475c1a0b48e16b180"> 268</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> FormalParmNodeVec &<a class="code" href="classSVF_1_1FunEntryBlockNode.html#a2206a196a4bfcc4475c1a0b48e16b180">getFormalParms</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> FPNodes;</div><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> </div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html#ae6ebc073885c5d47f685c61097dadf20"> 274</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1FunEntryBlockNode.html#ae6ebc073885c5d47f685c61097dadf20">addFormalParms</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *fp)</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  FPNodes.push_back(fp);</div><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> </div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div><div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html#a7a3c08df6a65f82ecda01d3f547aa158"> 281</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunEntryBlockNode.html#a7a3c08df6a65f82ecda01d3f547aa158">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryBlockNode.html">FunEntryBlockNode</a> *)</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  {</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html#a86f816aea050a089d7a86dbc774deba3"> 286</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunEntryBlockNode.html#a86f816aea050a089d7a86dbc774deba3">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a> *node)</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div><div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html#a590bf75c1e200b6e9a66b852a6002c32"> 291</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunEntryBlockNode.html#a590bf75c1e200b6e9a66b852a6002c32">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  {</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  }</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryBlockNode.html#a0c124155eaac6adf80029dbf708294ff"> 296</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunEntryBlockNode.html#a0c124155eaac6adf80029dbf708294ff">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a>;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  }</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keyword">const</span> <span class="keyword">virtual</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> };</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html"> 308</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1FunExitBlockNode.html">FunExitBlockNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a></div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html#a0d18e92e60f6060ee188d4e4947f8097"> 312</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1FunExitBlockNode.html#a0d18e92e60f6060ee188d4e4947f8097">fun</a>;</div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html#ae759d153ed7d3296b67574c888b99e4f"> 313</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *<a class="code" href="classSVF_1_1FunExitBlockNode.html#ae759d153ed7d3296b67574c888b99e4f">formalRet</a>;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="classSVF_1_1FunExitBlockNode.html">FunExitBlockNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html#a1463cde3f7e218c4bef996b2e1e9aef4"> 318</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1FunExitBlockNode.html#a1463cde3f7e218c4bef996b2e1e9aef4">getFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  }</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div><div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html#af1f343711d10adacf264f1aaebf44d54"> 324</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *<a class="code" href="classSVF_1_1FunExitBlockNode.html#af1f343711d10adacf264f1aaebf44d54">getFormalRet</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">return</span> formalRet;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html#ae1499a3ea7d5bb90dccd5d04a8b97dfc"> 330</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1FunExitBlockNode.html#ae1499a3ea7d5bb90dccd5d04a8b97dfc">addFormalRet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *fr)</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  formalRet = fr;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  }</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html#a5fdc1edafbd26a57c1c563f8df439cfc"> 337</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunExitBlockNode.html#a5fdc1edafbd26a57c1c563f8df439cfc">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryBlockNode.html">FunEntryBlockNode</a> *)</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html#abeae6aae021670c80206c1f5a82ccd97"> 342</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunExitBlockNode.html#abeae6aae021670c80206c1f5a82ccd97">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  {</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a>;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html#aceef01ea3cc4d85385705df32b6f67da"> 347</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunExitBlockNode.html#aceef01ea3cc4d85385705df32b6f67da">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a> *node)</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a>;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  }</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitBlockNode.html#a6cda85f67241db56f0a8ca4830c574f0"> 352</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunExitBlockNode.html#a6cda85f67241db56f0a8ca4830c574f0">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  }</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> };</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html"> 364</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> {</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a058711bcf2ae9bc15106c8d99ce02c1c"> 368</a></span>  <span class="keyword">typedef</span> std::vector<const SVFVar *> <a class="code" href="classSVF_1_1CallBlockNode.html#a058711bcf2ae9bc15106c8d99ce02c1c">ActualParmNodeVec</a>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a4236d60c129adc0d959bed14dce71053"> 370</a></span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* <a class="code" href="classSVF_1_1CallBlockNode.html#a4236d60c129adc0d959bed14dce71053">cs</a>;</div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a3d0f509f08dd017efecc949f0a98e1af"> 371</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetBlockNode.html">RetBlockNode</a>* <a class="code" href="classSVF_1_1CallBlockNode.html#a3d0f509f08dd017efecc949f0a98e1af">ret</a>;</div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a1caa9664587eb96c575af2f293b4cd1e"> 372</a></span>  ActualParmNodeVec <a class="code" href="classSVF_1_1CallBlockNode.html#a1caa9664587eb96c575af2f293b4cd1e">APNodes</a>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a4f5af7780f4290ae69724fd3050dab1a"> 374</a></span>  <a class="code" href="classSVF_1_1CallBlockNode.html#a4f5af7780f4290ae69724fd3050dab1a">CallBlockNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* c) : <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a>(id, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>), cs(c), ret(nullptr)</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a> = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(cs->getFunction());</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a> = cs->getParent();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f"> 381</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* <a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">return</span> cs;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#ad48f8aa952074fba88c54d6e9fad4a17"> 387</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetBlockNode.html">RetBlockNode</a>* <a class="code" href="classSVF_1_1CallBlockNode.html#ad48f8aa952074fba88c54d6e9fad4a17">getRetBlockNode</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(ret && <span class="stringliteral">"RetBlockNode not set?"</span>);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  }</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a8ad5091c13a0dc2f6518a0e3340dcb05"> 394</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CallBlockNode.html#a8ad5091c13a0dc2f6518a0e3340dcb05">setRetBlockNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetBlockNode.html">RetBlockNode</a>* r)</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  {</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  ret = r;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  }</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a5bab98a0b8cf0a804d53abd994e922c0"> 400</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1CallBlockNode.html#a5bab98a0b8cf0a804d53abd994e922c0">getCaller</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(cs->getFunction());</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  }</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#aa541f0ab3c35110d5a00ae8bb4af58bc"> 406</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1CallBlockNode.html#aa541f0ab3c35110d5a00ae8bb4af58bc">getParent</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">return</span> cs->getParent();</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div><div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a285c517dfd7fee5467606663a0fdd035"> 412</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallBlockNode.html#a285c517dfd7fee5467606663a0fdd035">isIndirectCall</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span> == <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(cs);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  }</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div><div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#abfc30a2fc6e996c2e1b0902abc7c813b"> 418</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> ActualParmNodeVec &<a class="code" href="classSVF_1_1CallBlockNode.html#abfc30a2fc6e996c2e1b0902abc7c813b">getActualParms</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">return</span> APNodes;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  }</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div><div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a6d819186e239e68c117af16ed405da84"> 424</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CallBlockNode.html#a6d819186e239e68c117af16ed405da84">addActualParms</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *ap)</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  {</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  APNodes.push_back(ap);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  }</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div><div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a1c688ff81489957e775cb2463c59d1ef"> 431</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallBlockNode.html#a1c688ff81489957e775cb2463c59d1ef">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *)</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  {</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  }</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div><div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a43a5f89377aef18e7e6d31731b8bf11d"> 436</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallBlockNode.html#a43a5f89377aef18e7e6d31731b8bf11d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  }</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div><div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a8ac74fdb13bee140b0568f40c3a94b2a"> 441</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallBlockNode.html#a8ac74fdb13bee140b0568f40c3a94b2a">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a> *node)</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  {</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  }</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div><div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="classSVF_1_1CallBlockNode.html#a1fab44c7854d6bc5fe0ab9ad236b64c3"> 446</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallBlockNode.html#a1fab44c7854d6bc5fe0ab9ad236b64c3">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  {</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  }</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> };</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div><div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html"> 459</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1RetBlockNode.html">RetBlockNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> {</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#a9ed7b40bb07977642484362673e7ba2d"> 463</a></span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* <a class="code" href="classSVF_1_1RetBlockNode.html#a9ed7b40bb07977642484362673e7ba2d">cs</a>;</div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#a74ea1e2e7765016e0a07720d9c2e0a81"> 464</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *<a class="code" href="classSVF_1_1RetBlockNode.html#a74ea1e2e7765016e0a07720d9c2e0a81">actualRet</a>;</div><div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#aa135efaadc44746c585cb295b8b2bf77"> 465</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* <a class="code" href="classSVF_1_1RetBlockNode.html#aa135efaadc44746c585cb295b8b2bf77">callBlockNode</a>;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#a7a35666782fd9fff6954ad6b5fd284ee"> 467</a></span>  <a class="code" href="classSVF_1_1RetBlockNode.html#a7a35666782fd9fff6954ad6b5fd284ee">RetBlockNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* c, <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* cb) :</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a>(id, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>), cs(c), actualRet(nullptr), callBlockNode(cb)</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a> = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(cs->getFunction());</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a> = cs->getParent();</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  }</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div><div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#a436cd30be9fba449fee6bc6dcc18bb18"> 475</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* <a class="code" href="classSVF_1_1RetBlockNode.html#a436cd30be9fba449fee6bc6dcc18bb18">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">return</span> cs;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#a6f47c3169f64fb7637b544ec1faf6f31"> 480</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* <a class="code" href="classSVF_1_1RetBlockNode.html#a6f47c3169f64fb7637b544ec1faf6f31">getCallBlockNode</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">return</span> callBlockNode;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  }</div><div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#aa9ecd6854337dfa67a828d2416f3813f"> 485</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *<a class="code" href="classSVF_1_1RetBlockNode.html#aa9ecd6854337dfa67a828d2416f3813f">getActualRet</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">return</span> actualRet;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  }</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div><div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#ad2cd6f6589ce5464d6fbcac49f115714"> 491</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RetBlockNode.html#ad2cd6f6589ce5464d6fbcac49f115714">addActualRet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *ar)</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  actualRet = ar;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  }</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div><div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#abd3a2b54fdb7e1339f765b3e5ab86947"> 498</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetBlockNode.html#abd3a2b54fdb7e1339f765b3e5ab86947">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetBlockNode.html">RetBlockNode</a> *)</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  }</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div><div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#a06433b4ec10e147df00c1e36990cdaab"> 503</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetBlockNode.html#a06433b4ec10e147df00c1e36990cdaab">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterBlockNode.html">InterBlockNode</a> *node)</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div><div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#aed4047d93fee5e00c58e5bff0cbc06e0"> 508</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetBlockNode.html#aed4047d93fee5e00c58e5bff0cbc06e0">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  }</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div><div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="classSVF_1_1RetBlockNode.html#a383ea0e36372dad2a0603428a8c26f7d"> 513</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetBlockNode.html#a383ea0e36372dad2a0603428a8c26f7d">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  }</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span> };</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="preprocessor">#endif </span><span class="comment">/* ICFGNode_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="namespaceSVF_html_afc2824871ad4eb9b871c35ae28494cd3"><div class="ttname"><a href="namespaceSVF.html#afc2824871ad4eb9b871c35ae28494cd3">SVF::GenericICFGNodeTy</a></div><div class="ttdeci">GenericNode< ICFGNode, ICFGEdge > GenericICFGNodeTy</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00046">ICFGNode.h:46</a></div></div>
|
|
70
|
-
<div class="ttc" id="
|
|
71
|
-
<div class="ttc" id="
|
|
72
|
-
<div class="ttc" id="classSVF_1_1FunExitBlockNode_html_ae1499a3ea7d5bb90dccd5d04a8b97dfc"><div class="ttname"><a href="classSVF_1_1FunExitBlockNode.html#ae1499a3ea7d5bb90dccd5d04a8b97dfc">SVF::FunExitBlockNode::addFormalRet</a></div><div class="ttdeci">void addFormalRet(const SVFVar *fr)</div><div class="ttdoc">Add actual return parameter. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00330">ICFGNode.h:330</a></div></div>
|
|
73
|
-
<div class="ttc" id="classSVF_1_1IntraBlockNode_html_aab3d8287388f8d4b5e22e8496bb37f8d"><div class="ttname"><a href="classSVF_1_1IntraBlockNode.html#aab3d8287388f8d4b5e22e8496bb37f8d">SVF::IntraBlockNode::classof</a></div><div class="ttdeci">static bool classof(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00199">ICFGNode.h:199</a></div></div>
|
|
69
|
+
<a href="ICFGNode_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- ICFGNode.h -- ICFG node------------------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-2018> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * ICFGNode.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Created on: Sep 11, 2018</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Author: Yulei</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef ICFGNODE_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define ICFGNODE_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="GenericGraph_8h.html">Graphs/GenericGraph.h</a>"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="ICFGEdge_8h.html">Graphs/ICFGEdge.h</a>"</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">class </span>ICFGNode;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">class </span>RetICFGNode;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">class </span>CallPE;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">class </span>RetPE;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">class </span>SVFStmt;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">class </span>SVFVar;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="namespaceSVF.html#afc2824871ad4eb9b871c35ae28494cd3"> 46</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericNode.html">GenericNode<ICFGNode, ICFGEdge></a> <a class="code" href="namespaceSVF.html#afc2824871ad4eb9b871c35ae28494cd3">GenericICFGNodeTy</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html"> 54</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> : <span class="keyword">public</span> GenericICFGNodeTy</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> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376"> 60</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376">ICFGNodeK</a></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4"> 62</a></span>  <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4">IntraBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">GlobalBlock</a></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  };</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff"> 65</a></span>  <span class="keyword">typedef</span> ICFGEdge::ICFGEdgeSetTy::iterator <a class="code" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">iterator</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2"> 66</a></span>  <span class="keyword">typedef</span> ICFGEdge::ICFGEdgeSetTy::const_iterator <a class="code" href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">const_iterator</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ab1a4b4a8dc600ca375d9f5adbd2a5b59"> 67</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const CallPE *></a> <a class="code" href="classSVF_1_1ICFGNode.html#ab1a4b4a8dc600ca375d9f5adbd2a5b59">CallPESet</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a2c39225f7b5ca0c392ea7afc3cec1fdb"> 68</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const RetPE *></a> <a class="code" href="classSVF_1_1ICFGNode.html#a2c39225f7b5ca0c392ea7afc3cec1fdb">RetPESet</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a53a4a33b8ea241f46b37111905a48169"> 69</a></span>  <span class="keyword">typedef</span> std::list<const VFGNode*> <a class="code" href="classSVF_1_1ICFGNode.html#a53a4a33b8ea241f46b37111905a48169">VFGNodeList</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#aa84a3724426f08a0e31ecdbc99114072"> 70</a></span>  <span class="keyword">typedef</span> std::list<const SVFStmt*> <a class="code" href="classSVF_1_1ICFGNode.html#aa84a3724426f08a0e31ecdbc99114072">SVFStmtList</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ae6fe836e269ac36f14b2d2b1499a11e6"> 74</a></span>  <a class="code" href="classSVF_1_1ICFGNode.html#ae6fe836e269ac36f14b2d2b1499a11e6">ICFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> i, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376">ICFGNodeK</a> k) : GenericICFGNodeTy(i, k), <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>(nullptr), <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a>(nullptr)</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</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>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ae526280cca2d6cbb2868c80461bc16da"> 80</a></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1ICFGNode.html#ae526280cca2d6cbb2868c80461bc16da">getFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>;</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> </div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ac1689701c75e04481e2ae2f4482551c4"> 86</a></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1ICFGNode.html#ac1689701c75e04481e2ae2f4482551c4">getBB</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a>;</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> </div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a19844bff2f6a0e90217c7a2ce9bb5184"> 94</a></span>  <span class="keyword">friend</span> <a class="code" href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">raw_ostream</a> &<a class="code" href="classSVF_1_1ICFGNode.html#a19844bff2f6a0e90217c7a2ce9bb5184">operator<<</a>(<a class="code" href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">raw_ostream</a> &o, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> &node)</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>  o << node.<a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> o;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#aff18898b9bbd85d08b00d64d48eea6a5"> 103</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ICFGNode.html#aff18898b9bbd85d08b00d64d48eea6a5">addVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a> *vfgNode)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3">VFGNodes</a>.push_back(vfgNode);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#abcc53637a634f7ec92b9c7861b941601"> 108</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> VFGNodeList& <a class="code" href="classSVF_1_1ICFGNode.html#abcc53637a634f7ec92b9c7861b941601">getVFGNodes</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3">VFGNodes</a>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a8a133398c691ab3639ceefbc57cd33be"> 116</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ICFGNode.html#a8a133398c691ab3639ceefbc57cd33be">addSVFStmt</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *edge)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71">pagEdges</a>.push_back(edge);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661"> 121</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> SVFStmtList& <a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71">pagEdges</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ICFGNode.html#a3c193da05d6dee7313a141ae3ab43e97">dump</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be"> 132</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005"> 133</a></span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3"> 134</a></span>  VFGNodeList <a class="code" href="classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3">VFGNodes</a>; <span class="comment">//< a list of VFGNodes</span></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71"> 135</a></span>  SVFStmtList <a class="code" href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71">pagEdges</a>; <span class="comment">//< a list of PAGEdges</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> };</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalICFGNode.html"> 142</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1GlobalICFGNode.html">GlobalICFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalICFGNode.html#a01e8a9844fcad1cc5faa22d8b0e0efd7"> 146</a></span>  <a class="code" href="classSVF_1_1GlobalICFGNode.html#a01e8a9844fcad1cc5faa22d8b0e0efd7">GlobalICFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>) : <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>(id, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">GlobalBlock</a>)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  }</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalICFGNode.html#a06d0940d1b923991144c827e145a028e"> 153</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GlobalICFGNode.html#a06d0940d1b923991144c827e145a028e">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GlobalICFGNode.html">GlobalICFGNode</a> *)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalICFGNode.html#a982efb288d9b6ec41cd64be562e4be6d"> 158</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GlobalICFGNode.html#a982efb288d9b6ec41cd64be562e4be6d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">GlobalBlock</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classSVF_1_1GlobalICFGNode.html#af6b336561b3924b438d0e4d7c5fd34e3"> 163</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GlobalICFGNode.html#af6b336561b3924b438d0e4d7c5fd34e3">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">GlobalBlock</a>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> };</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraICFGNode.html"> 175</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraICFGNode.html#ac160eae9228d5b6627a6ca74da0b03e4"> 178</a></span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *<a class="code" href="classSVF_1_1IntraICFGNode.html#ac160eae9228d5b6627a6ca74da0b03e4">inst</a>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraICFGNode.html#ad8a53409330e7ea74c50cdeaf37acef8"> 181</a></span>  <a class="code" href="classSVF_1_1IntraICFGNode.html#ad8a53409330e7ea74c50cdeaf37acef8">IntraICFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *i) : <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>(id, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4">IntraBlock</a>), inst(i)</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a> = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(inst->getFunction());</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a> = inst->getParent();</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraICFGNode.html#a6f9112d3a9d423bbcd391fbbdea3e785"> 187</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *<a class="code" href="classSVF_1_1IntraICFGNode.html#a6f9112d3a9d423bbcd391fbbdea3e785">getInst</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> inst;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraICFGNode.html#a295649753e583729a9f3bfd9e8a1e87f"> 194</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraICFGNode.html#a295649753e583729a9f3bfd9e8a1e87f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a> *)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraICFGNode.html#a9ce3f760813e3108dda53ff3f558a23d"> 199</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraICFGNode.html#a9ce3f760813e3108dda53ff3f558a23d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4">IntraBlock</a>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classSVF_1_1IntraICFGNode.html#a00e015884ec85772b161cc7b4a5bfbd8"> 204</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntraICFGNode.html#a00e015884ec85772b161cc7b4a5bfbd8">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4">IntraBlock</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> };</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1InterICFGNode.html"> 213</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classSVF_1_1InterICFGNode.html#a192826ba075a80add6a39a039a32bc05"> 218</a></span>  <a class="code" href="classSVF_1_1InterICFGNode.html#a192826ba075a80add6a39a039a32bc05">InterICFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376">ICFGNodeK</a> k) : <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>(id, k)</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classSVF_1_1InterICFGNode.html#a67ef8b6f4d8961c54145df0ce8a5c843"> 224</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterICFGNode.html#a67ef8b6f4d8961c54145df0ce8a5c843">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a> *)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1InterICFGNode.html#adfe73a4bcd2a3074bef97661a787bfa3"> 229</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterICFGNode.html#adfe73a4bcd2a3074bef97661a787bfa3">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><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>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  }</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="classSVF_1_1InterICFGNode.html#a6b43bc8bf2bd2cd78e6cd5064cf7c470"> 237</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1InterICFGNode.html#a6b43bc8bf2bd2cd78e6cd5064cf7c470">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  || node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> };</div><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> </div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html"> 251</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html#a0e8ff24e445a670f5ea1fef66ea928c5"> 255</a></span>  <span class="keyword">typedef</span> std::vector<const SVFVar *> <a class="code" href="classSVF_1_1FunEntryICFGNode.html#a0e8ff24e445a670f5ea1fef66ea928c5">FormalParmNodeVec</a>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html#a30e8c63bf2ae7a7528b9d8a516340ade"> 257</a></span>  FormalParmNodeVec <a class="code" href="classSVF_1_1FunEntryICFGNode.html#a30e8c63bf2ae7a7528b9d8a516340ade">FPNodes</a>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html#ac2451fdc53f319bc92528af7edc94b2d"> 262</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1FunEntryICFGNode.html#ac2451fdc53f319bc92528af7edc94b2d">getFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html#a0807f2ce6c0949cafa9c5a1817fbca6c"> 268</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> FormalParmNodeVec &<a class="code" href="classSVF_1_1FunEntryICFGNode.html#a0807f2ce6c0949cafa9c5a1817fbca6c">getFormalParms</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> FPNodes;</div><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> </div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html#aeb9dfc9dfb0aad871cefcf80da2d881d"> 274</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html#aeb9dfc9dfb0aad871cefcf80da2d881d">addFormalParms</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *fp)</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  FPNodes.push_back(fp);</div><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> </div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div><div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html#ad7f8c8f10b067b6766d7c7974f2b751c"> 281</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html#ad7f8c8f10b067b6766d7c7974f2b751c">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> *)</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  {</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html#a1964b1b95d37b8b250a4779c7d4214b4"> 286</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html#a1964b1b95d37b8b250a4779c7d4214b4">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a> *node)</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div><div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html#a3f0f02c9fb1ab2406ed970f0e0e7942e"> 291</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html#a3f0f02c9fb1ab2406ed970f0e0e7942e">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  {</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  }</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classSVF_1_1FunEntryICFGNode.html#a5225463cf5c8601d919ab810bc3276ef"> 296</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html#a5225463cf5c8601d919ab810bc3276ef">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">FunEntryBlock</a>;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  }</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keyword">const</span> <span class="keyword">virtual</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> };</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html"> 308</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a></div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html#adfcebc33f3c36b8145074d370dfa1cb9"> 312</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1FunExitICFGNode.html#adfcebc33f3c36b8145074d370dfa1cb9">fun</a>;</div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html#ac3765c6a34ddff0018e38ce644d96641"> 313</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *<a class="code" href="classSVF_1_1FunExitICFGNode.html#ac3765c6a34ddff0018e38ce644d96641">formalRet</a>;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html#a54dfbbebbfe18a8a493656d6ad8663be"> 318</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1FunExitICFGNode.html#a54dfbbebbfe18a8a493656d6ad8663be">getFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a>;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  }</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div><div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html#a03a1b6551377b4a85fdecf36ec247767"> 324</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *<a class="code" href="classSVF_1_1FunExitICFGNode.html#a03a1b6551377b4a85fdecf36ec247767">getFormalRet</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">return</span> formalRet;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html#a51bdfbda3a351daa7ba898e2f88bb067"> 330</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html#a51bdfbda3a351daa7ba898e2f88bb067">addFormalRet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *fr)</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  formalRet = fr;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  }</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html#ab81f7f50638b8ce85f83ca3b7b566213"> 337</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html#ab81f7f50638b8ce85f83ca3b7b566213">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> *)</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html#acace98ae1961dcd498678694b7ba4699"> 342</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html#acace98ae1961dcd498678694b7ba4699">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  {</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a>;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html#a9731fdd29f15eab3a900eb72d3447e13"> 347</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html#a9731fdd29f15eab3a900eb72d3447e13">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a> *node)</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a>;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  }</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classSVF_1_1FunExitICFGNode.html#ab980476a746eecd8d1018e43b40db635"> 352</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html#ab980476a746eecd8d1018e43b40db635">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">FunExitBlock</a>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  }</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> };</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html"> 364</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> {</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#aa9bdf2b575f08976dcd0ba815a70f841"> 368</a></span>  <span class="keyword">typedef</span> std::vector<const SVFVar *> <a class="code" href="classSVF_1_1CallICFGNode.html#aa9bdf2b575f08976dcd0ba815a70f841">ActualParmNodeVec</a>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#ae1af4091b0f7f2c34f4909b96ab17586"> 370</a></span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* <a class="code" href="classSVF_1_1CallICFGNode.html#ae1af4091b0f7f2c34f4909b96ab17586">cs</a>;</div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#a6c27c0d796b3d4becdebeba93f4fc785"> 371</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* <a class="code" href="classSVF_1_1CallICFGNode.html#a6c27c0d796b3d4becdebeba93f4fc785">ret</a>;</div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#a07615cb6245a9dccbba2cc70bde9bf22"> 372</a></span>  ActualParmNodeVec <a class="code" href="classSVF_1_1CallICFGNode.html#a07615cb6245a9dccbba2cc70bde9bf22">APNodes</a>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#a7c514653ca97c9a97f5a26a57a2955e1"> 374</a></span>  <a class="code" href="classSVF_1_1CallICFGNode.html#a7c514653ca97c9a97f5a26a57a2955e1">CallICFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* c) : <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a>(id, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>), cs(c), ret(nullptr)</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a> = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(cs->getFunction());</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a> = cs->getParent();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf"> 381</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* <a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">return</span> cs;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#ae23a7540609879ac0379fc53b4e7eead"> 387</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* <a class="code" href="classSVF_1_1CallICFGNode.html#ae23a7540609879ac0379fc53b4e7eead">getRetICFGNode</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(ret && <span class="stringliteral">"RetICFGNode not set?"</span>);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  }</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#a91b38c6930f3c15b9b38121662fded20"> 394</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CallICFGNode.html#a91b38c6930f3c15b9b38121662fded20">setRetICFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* r)</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  {</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  ret = r;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  }</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e"> 400</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(cs->getFunction());</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  }</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#afb35b6c191a5a0b8e92019f6f3dbcc54"> 406</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1CallICFGNode.html#afb35b6c191a5a0b8e92019f6f3dbcc54">getParent</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">return</span> cs->getParent();</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div><div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518"> 412</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">isIndirectCall</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span> == <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(cs);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  }</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div><div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#ab43c000436d0f6d978f4fff831671d5c"> 418</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> ActualParmNodeVec &<a class="code" href="classSVF_1_1CallICFGNode.html#ab43c000436d0f6d978f4fff831671d5c">getActualParms</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">return</span> APNodes;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  }</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div><div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#ab389873c50b952b67aeafe7204864d59"> 424</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CallICFGNode.html#ab389873c50b952b67aeafe7204864d59">addActualParms</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *ap)</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  {</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  APNodes.push_back(ap);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  }</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div><div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#afb8bed9242cea8c927d14028526c19b9"> 431</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallICFGNode.html#afb8bed9242cea8c927d14028526c19b9">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *)</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  {</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  }</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div><div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#ad064bfbbc08c297d66071ff7a9c0c991"> 436</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallICFGNode.html#ad064bfbbc08c297d66071ff7a9c0c991">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  }</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div><div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#a678d5ffc5c2bc44f82f8bd6d97daefc6"> 441</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallICFGNode.html#a678d5ffc5c2bc44f82f8bd6d97daefc6">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a> *node)</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  {</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  }</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div><div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="classSVF_1_1CallICFGNode.html#a406c851efb93f7b838f3246deb2610ec"> 446</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallICFGNode.html#a406c851efb93f7b838f3246deb2610ec">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  {</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">FunCallBlock</a>;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  }</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> };</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div><div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html"> 459</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> {</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#abd7b5e9cdb73b6e52b4fcb8b5e1b2b23"> 463</a></span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* <a class="code" href="classSVF_1_1RetICFGNode.html#abd7b5e9cdb73b6e52b4fcb8b5e1b2b23">cs</a>;</div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#ab11aa45c33cdcf5836fa2ee88bda9a9c"> 464</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *<a class="code" href="classSVF_1_1RetICFGNode.html#ab11aa45c33cdcf5836fa2ee88bda9a9c">actualRet</a>;</div><div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#a42f4b87f590b3a393059bcca5736c596"> 465</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1RetICFGNode.html#a42f4b87f590b3a393059bcca5736c596">callBlockNode</a>;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#a663ed651c2e0eb3a8ae2da0bc52e1b6f"> 467</a></span>  <a class="code" href="classSVF_1_1RetICFGNode.html#a663ed651c2e0eb3a8ae2da0bc52e1b6f">RetICFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* c, <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cb) :</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a>(id, <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>), cs(c), actualRet(nullptr), callBlockNode(cb)</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <a class="code" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">fun</a> = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(cs->getFunction());</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <a class="code" href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">bb</a> = cs->getParent();</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  }</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div><div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7"> 475</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* <a class="code" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">getCallSite</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">return</span> cs;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  }</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#afd2a06f0749c359c544048ae40085695"> 480</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1RetICFGNode.html#afd2a06f0749c359c544048ae40085695">getCallBlockNode</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">return</span> callBlockNode;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  }</div><div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#a9815b38f376af31b14ea2e0f3afd3427"> 485</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *<a class="code" href="classSVF_1_1RetICFGNode.html#a9815b38f376af31b14ea2e0f3afd3427">getActualRet</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">return</span> actualRet;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  }</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div><div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#ac719aea72183e187f71471e1e58c9e54"> 491</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RetICFGNode.html#ac719aea72183e187f71471e1e58c9e54">addActualRet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *ar)</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  actualRet = ar;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  }</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div><div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#a495a6ff3a561fac9a5157308c68a5ea8"> 498</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetICFGNode.html#a495a6ff3a561fac9a5157308c68a5ea8">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> *)</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  }</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div><div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#abc490a79a39229d10010816bbd105326"> 503</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetICFGNode.html#abc490a79a39229d10010816bbd105326">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterICFGNode.html">InterICFGNode</a> *node)</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div><div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#a5ce46692509e51b32afb060cce5701dd"> 508</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetICFGNode.html#a5ce46692509e51b32afb060cce5701dd">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  }</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div><div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="classSVF_1_1RetICFGNode.html#a9a1d69cec6f240971767eee3c1c6ac41"> 513</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RetICFGNode.html#a9a1d69cec6f240971767eee3c1c6ac41">classof</a>(<span class="keyword">const</span> GenericICFGNodeTy *node)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>() == <a class="code" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">FunRetBlock</a>;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  }</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span> };</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="preprocessor">#endif </span><span class="comment">/* ICFGNode_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="namespaceSVF_html_afc2824871ad4eb9b871c35ae28494cd3"><div class="ttname"><a href="namespaceSVF.html#afc2824871ad4eb9b871c35ae28494cd3">SVF::GenericICFGNodeTy</a></div><div class="ttdeci">GenericNode< ICFGNode, ICFGEdge > GenericICFGNodeTy</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00046">ICFGNode.h:46</a></div></div>
|
|
70
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html_ab81f7f50638b8ce85f83ca3b7b566213"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#ab81f7f50638b8ce85f83ca3b7b566213">SVF::FunExitICFGNode::classof</a></div><div class="ttdeci">static bool classof(const FunEntryICFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00337">ICFGNode.h:337</a></div></div>
|
|
71
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_ab389873c50b952b67aeafe7204864d59"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#ab389873c50b952b67aeafe7204864d59">SVF::CallICFGNode::addActualParms</a></div><div class="ttdeci">void addActualParms(const SVFVar *ap)</div><div class="ttdoc">Add actual parameters. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00424">ICFGNode.h:424</a></div></div>
|
|
74
72
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a03587dbd558d8fffe25307b42e3195be"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">SVF::ICFGNode::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00132">ICFGNode.h:132</a></div></div>
|
|
75
73
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_abcc53637a634f7ec92b9c7861b941601"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#abcc53637a634f7ec92b9c7861b941601">SVF::ICFGNode::getVFGNodes</a></div><div class="ttdeci">const VFGNodeList & getVFGNodes() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00108">ICFGNode.h:108</a></div></div>
|
|
74
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_afd2a06f0749c359c544048ae40085695"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#afd2a06f0749c359c544048ae40085695">SVF::RetICFGNode::getCallBlockNode</a></div><div class="ttdeci">const CallICFGNode * getCallBlockNode() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00480">ICFGNode.h:480</a></div></div>
|
|
76
75
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a12ce3aabc1bd3bae7caa9be9ec0a6a71"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71">SVF::ICFGNode::pagEdges</a></div><div class="ttdeci">SVFStmtList pagEdges</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00135">ICFGNode.h:135</a></div></div>
|
|
77
|
-
<div class="ttc" id="
|
|
78
|
-
<div class="ttc" id="
|
|
76
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html_a9731fdd29f15eab3a900eb72d3447e13"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#a9731fdd29f15eab3a900eb72d3447e13">SVF::FunExitICFGNode::classof</a></div><div class="ttdeci">static bool classof(const InterICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00347">ICFGNode.h:347</a></div></div>
|
|
77
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_a5ce46692509e51b32afb060cce5701dd"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#a5ce46692509e51b32afb060cce5701dd">SVF::RetICFGNode::classof</a></div><div class="ttdeci">static bool classof(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00508">ICFGNode.h:508</a></div></div>
|
|
79
78
|
<div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
|
|
79
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html_a51bdfbda3a351daa7ba898e2f88bb067"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#a51bdfbda3a351daa7ba898e2f88bb067">SVF::FunExitICFGNode::addFormalRet</a></div><div class="ttdeci">void addFormalRet(const SVFVar *fr)</div><div class="ttdoc">Add actual return parameter. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00330">ICFGNode.h:330</a></div></div>
|
|
80
80
|
<div class="ttc" id="namespaceSVF_html_a424cc053c29ad7303699c529d1a2cc71"><div class="ttname"><a href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">SVF::raw_ostream</a></div><div class="ttdeci">llvm::raw_ostream raw_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00099">BasicTypes.h:99</a></div></div>
|
|
81
81
|
<div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
|
|
82
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a678d5ffc5c2bc44f82f8bd6d97daefc6"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a678d5ffc5c2bc44f82f8bd6d97daefc6">SVF::CallICFGNode::classof</a></div><div class="ttdeci">static bool classof(const InterICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00441">ICFGNode.h:441</a></div></div>
|
|
82
83
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a19844bff2f6a0e90217c7a2ce9bb5184"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a19844bff2f6a0e90217c7a2ce9bb5184">SVF::ICFGNode::operator<<</a></div><div class="ttdeci">friend raw_ostream & operator<<(raw_ostream &o, const ICFGNode &node)</div><div class="ttdoc">Overloading operator << for dumping ICFG node ID. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00094">ICFGNode.h:94</a></div></div>
|
|
83
|
-
<div class="ttc" id="
|
|
84
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a07615cb6245a9dccbba2cc70bde9bf22"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a07615cb6245a9dccbba2cc70bde9bf22">SVF::CallICFGNode::APNodes</a></div><div class="ttdeci">ActualParmNodeVec APNodes</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00372">ICFGNode.h:372</a></div></div>
|
|
84
85
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a8a133398c691ab3639ceefbc57cd33be"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a8a133398c691ab3639ceefbc57cd33be">SVF::ICFGNode::addSVFStmt</a></div><div class="ttdeci">void addSVFStmt(const SVFStmt *edge)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00116">ICFGNode.h:116</a></div></div>
|
|
85
|
-
<div class="ttc" id="
|
|
86
|
-
<div class="ttc" id="
|
|
86
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_a495a6ff3a561fac9a5157308c68a5ea8"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#a495a6ff3a561fac9a5157308c68a5ea8">SVF::RetICFGNode::classof</a></div><div class="ttdeci">static bool classof(const RetICFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00498">ICFGNode.h:498</a></div></div>
|
|
87
|
+
<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#l00475">ICFGNode.h:475</a></div></div>
|
|
87
88
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
88
|
-
<div class="ttc" id="
|
|
89
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_ab11aa45c33cdcf5836fa2ee88bda9a9c"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#ab11aa45c33cdcf5836fa2ee88bda9a9c">SVF::RetICFGNode::actualRet</a></div><div class="ttdeci">const SVFVar * actualRet</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00464">ICFGNode.h:464</a></div></div>
|
|
89
90
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_ae6fe836e269ac36f14b2d2b1499a11e6"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ae6fe836e269ac36f14b2d2b1499a11e6">SVF::ICFGNode::ICFGNode</a></div><div class="ttdeci">ICFGNode(NodeID i, ICFGNodeK k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00074">ICFGNode.h:74</a></div></div>
|
|
90
|
-
<div class="ttc" id="
|
|
91
|
+
<div class="ttc" id="classSVF_1_1InterICFGNode_html_a6b43bc8bf2bd2cd78e6cd5064cf7c470"><div class="ttname"><a href="classSVF_1_1InterICFGNode.html#a6b43bc8bf2bd2cd78e6cd5064cf7c470">SVF::InterICFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericICFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00237">ICFGNode.h:237</a></div></div>
|
|
91
92
|
<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="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
|
|
92
|
-
<div class="ttc" id="
|
|
93
|
-
<div class="ttc" id="
|
|
94
|
-
<div class="ttc" id="classSVF_1_1InterBlockNode_html_aba751d4e1585e5e42bf505574f8b288a"><div class="ttname"><a href="classSVF_1_1InterBlockNode.html#aba751d4e1585e5e42bf505574f8b288a">SVF::InterBlockNode::classof</a></div><div class="ttdeci">static bool classof(const InterBlockNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00224">ICFGNode.h:224</a></div></div>
|
|
95
|
-
<div class="ttc" id="classSVF_1_1GlobalBlockNode_html"><div class="ttname"><a href="classSVF_1_1GlobalBlockNode.html">SVF::GlobalBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00142">ICFGNode.h:142</a></div></div>
|
|
93
|
+
<div class="ttc" id="classSVF_1_1InterICFGNode_html_adfe73a4bcd2a3074bef97661a787bfa3"><div class="ttname"><a href="classSVF_1_1InterICFGNode.html#adfe73a4bcd2a3074bef97661a787bfa3">SVF::InterICFGNode::classof</a></div><div class="ttdeci">static bool classof(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00229">ICFGNode.h:229</a></div></div>
|
|
94
|
+
<div class="ttc" id="classSVF_1_1InterICFGNode_html_a192826ba075a80add6a39a039a32bc05"><div class="ttname"><a href="classSVF_1_1InterICFGNode.html#a192826ba075a80add6a39a039a32bc05">SVF::InterICFGNode::InterICFGNode</a></div><div class="ttdeci">InterICFGNode(NodeID id, ICFGNodeK k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00218">ICFGNode.h:218</a></div></div>
|
|
96
95
|
<div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
97
|
-
<div class="ttc" id="classSVF_1_1FunExitBlockNode_html_aceef01ea3cc4d85385705df32b6f67da"><div class="ttname"><a href="classSVF_1_1FunExitBlockNode.html#aceef01ea3cc4d85385705df32b6f67da">SVF::FunExitBlockNode::classof</a></div><div class="ttdeci">static bool classof(const InterBlockNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00347">ICFGNode.h:347</a></div></div>
|
|
98
96
|
<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>
|
|
97
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html_a0807f2ce6c0949cafa9c5a1817fbca6c"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#a0807f2ce6c0949cafa9c5a1817fbca6c">SVF::FunEntryICFGNode::getFormalParms</a></div><div class="ttdeci">const FormalParmNodeVec & getFormalParms() const</div><div class="ttdoc">Return the set of formal parameters. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00268">ICFGNode.h:268</a></div></div>
|
|
99
98
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_aa84a3724426f08a0e31ecdbc99114072"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#aa84a3724426f08a0e31ecdbc99114072">SVF::ICFGNode::SVFStmtList</a></div><div class="ttdeci">std::list< const SVFStmt * > SVFStmtList</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00070">ICFGNode.h:70</a></div></div>
|
|
100
|
-
<div class="ttc" id="
|
|
101
|
-
<div class="ttc" id="classSVF_1_1FunExitBlockNode_html_a6cda85f67241db56f0a8ca4830c574f0"><div class="ttname"><a href="classSVF_1_1FunExitBlockNode.html#a6cda85f67241db56f0a8ca4830c574f0">SVF::FunExitBlockNode::classof</a></div><div class="ttdeci">static bool classof(const GenericICFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00352">ICFGNode.h:352</a></div></div>
|
|
99
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_ae1af4091b0f7f2c34f4909b96ab17586"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#ae1af4091b0f7f2c34f4909b96ab17586">SVF::CallICFGNode::cs</a></div><div class="ttdeci">const Instruction * cs</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00370">ICFGNode.h:370</a></div></div>
|
|
102
100
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_ae526280cca2d6cbb2868c80461bc16da"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ae526280cca2d6cbb2868c80461bc16da">SVF::ICFGNode::getFun</a></div><div class="ttdeci">virtual const SVFFunction * getFun() const</div><div class="ttdoc">Return the function of this ICFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00080">ICFGNode.h:80</a></div></div>
|
|
103
|
-
<div class="ttc" id="
|
|
104
|
-
<div class="ttc" id="classSVF_1_1CallBlockNode_html_a5bab98a0b8cf0a804d53abd994e922c0"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#a5bab98a0b8cf0a804d53abd994e922c0">SVF::CallBlockNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00400">ICFGNode.h:400</a></div></div>
|
|
101
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_a9815b38f376af31b14ea2e0f3afd3427"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#a9815b38f376af31b14ea2e0f3afd3427">SVF::RetICFGNode::getActualRet</a></div><div class="ttdeci">const SVFVar * getActualRet() const</div><div class="ttdoc">Return actual return parameter. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00485">ICFGNode.h:485</a></div></div>
|
|
105
102
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376acf25925678f7fa5fba01766bd06a1fb8">SVF::ICFGNode::FunExitBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00062">ICFGNode.h:62</a></div></div>
|
|
106
103
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a391e996d695b114530120723da1d003e"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">SVF::GenericNode::getNodeKind</a></div><div class="ttdeci">GNodeK getNodeKind() const</div><div class="ttdoc">Get node kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
|
|
107
|
-
<div class="ttc" id="
|
|
108
|
-
<div class="ttc" id="
|
|
109
|
-
<div class="ttc" id="classSVF_1_1RetBlockNode_html_a6f47c3169f64fb7637b544ec1faf6f31"><div class="ttname"><a href="classSVF_1_1RetBlockNode.html#a6f47c3169f64fb7637b544ec1faf6f31">SVF::RetBlockNode::getCallBlockNode</a></div><div class="ttdeci">const CallBlockNode * getCallBlockNode() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00480">ICFGNode.h:480</a></div></div>
|
|
104
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a406c851efb93f7b838f3246deb2610ec"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a406c851efb93f7b838f3246deb2610ec">SVF::CallICFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericICFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00446">ICFGNode.h:446</a></div></div>
|
|
105
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a6c27c0d796b3d4becdebeba93f4fc785"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a6c27c0d796b3d4becdebeba93f4fc785">SVF::CallICFGNode::ret</a></div><div class="ttdeci">const RetICFGNode * ret</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00371">ICFGNode.h:371</a></div></div>
|
|
110
106
|
<div class="ttc" id="classSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
|
|
111
|
-
<div class="ttc" id="
|
|
112
|
-
<div class="ttc" id="
|
|
113
|
-
<div class="ttc" id="
|
|
114
|
-
<div class="ttc" id="
|
|
107
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html_ac3765c6a34ddff0018e38ce644d96641"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#ac3765c6a34ddff0018e38ce644d96641">SVF::FunExitICFGNode::formalRet</a></div><div class="ttdeci">const SVFVar * formalRet</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00313">ICFGNode.h:313</a></div></div>
|
|
108
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html_ad7f8c8f10b067b6766d7c7974f2b751c"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#ad7f8c8f10b067b6766d7c7974f2b751c">SVF::FunEntryICFGNode::classof</a></div><div class="ttdeci">static bool classof(const FunEntryICFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00281">ICFGNode.h:281</a></div></div>
|
|
109
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_ae23a7540609879ac0379fc53b4e7eead"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#ae23a7540609879ac0379fc53b4e7eead">SVF::CallICFGNode::getRetICFGNode</a></div><div class="ttdeci">const RetICFGNode * getRetICFGNode() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00387">ICFGNode.h:387</a></div></div>
|
|
110
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html_a1964b1b95d37b8b250a4779c7d4214b4"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#a1964b1b95d37b8b250a4779c7d4214b4">SVF::FunEntryICFGNode::classof</a></div><div class="ttdeci">static bool classof(const InterICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00286">ICFGNode.h:286</a></div></div>
|
|
111
|
+
<div class="ttc" id="classSVF_1_1GlobalICFGNode_html_af6b336561b3924b438d0e4d7c5fd34e3"><div class="ttname"><a href="classSVF_1_1GlobalICFGNode.html#af6b336561b3924b438d0e4d7c5fd34e3">SVF::GlobalICFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericICFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00163">ICFGNode.h:163</a></div></div>
|
|
112
|
+
<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#l00459">ICFGNode.h:459</a></div></div>
|
|
113
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a91b38c6930f3c15b9b38121662fded20"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a91b38c6930f3c15b9b38121662fded20">SVF::CallICFGNode::setRetICFGNode</a></div><div class="ttdeci">void setRetICFGNode(const RetICFGNode *r)</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00394">ICFGNode.h:394</a></div></div>
|
|
115
114
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a0df20ce0cced8193d3f194ee5985c8c4">SVF::ICFGNode::IntraBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00062">ICFGNode.h:62</a></div></div>
|
|
116
|
-
<div class="ttc" id="
|
|
117
|
-
<div class="ttc" id="
|
|
118
|
-
<div class="ttc" id="classSVF_1_1InterBlockNode_html"><div class="ttname"><a href="classSVF_1_1InterBlockNode.html">SVF::InterBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00213">ICFGNode.h:213</a></div></div>
|
|
115
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html">SVF::FunEntryICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00251">ICFGNode.h:251</a></div></div>
|
|
116
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html_aeb9dfc9dfb0aad871cefcf80da2d881d"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#aeb9dfc9dfb0aad871cefcf80da2d881d">SVF::FunEntryICFGNode::addFormalParms</a></div><div class="ttdeci">void addFormalParms(const SVFVar *fp)</div><div class="ttdoc">Add formal parameters. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00274">ICFGNode.h:274</a></div></div>
|
|
119
117
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac731cdb9d1269f6c25e1c80159154921">SVF::ICFGNode::FunRetBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00062">ICFGNode.h:62</a></div></div>
|
|
120
|
-
<div class="ttc" id="
|
|
121
|
-
<div class="ttc" id="
|
|
118
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_abc490a79a39229d10010816bbd105326"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#abc490a79a39229d10010816bbd105326">SVF::RetICFGNode::classof</a></div><div class="ttdeci">static bool classof(const InterICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00503">ICFGNode.h:503</a></div></div>
|
|
119
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_ad064bfbbc08c297d66071ff7a9c0c991"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#ad064bfbbc08c297d66071ff7a9c0c991">SVF::CallICFGNode::classof</a></div><div class="ttdeci">static bool classof(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00436">ICFGNode.h:436</a></div></div>
|
|
122
120
|
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
|
|
123
|
-
<div class="ttc" id="
|
|
124
|
-
<div class="ttc" id="classSVF_1_1RetBlockNode_html_ad2cd6f6589ce5464d6fbcac49f115714"><div class="ttname"><a href="classSVF_1_1RetBlockNode.html#ad2cd6f6589ce5464d6fbcac49f115714">SVF::RetBlockNode::addActualRet</a></div><div class="ttdeci">void addActualRet(const SVFVar *ar)</div><div class="ttdoc">Add actual return parameter. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00491">ICFGNode.h:491</a></div></div>
|
|
121
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_a42f4b87f590b3a393059bcca5736c596"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#a42f4b87f590b3a393059bcca5736c596">SVF::RetICFGNode::callBlockNode</a></div><div class="ttdeci">const CallICFGNode * callBlockNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00465">ICFGNode.h:465</a></div></div>
|
|
125
122
|
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00079">BasicTypes.h:79</a></div></div>
|
|
123
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_afb35b6c191a5a0b8e92019f6f3dbcc54"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#afb35b6c191a5a0b8e92019f6f3dbcc54">SVF::CallICFGNode::getParent</a></div><div class="ttdeci">const BasicBlock * getParent() const</div><div class="ttdoc">Return Basic Block. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00406">ICFGNode.h:406</a></div></div>
|
|
126
124
|
<div class="ttc" id="GenericGraph_8h_html"><div class="ttname"><a href="GenericGraph_8h.html">GenericGraph.h</a></div></div>
|
|
127
|
-
<div class="ttc" id="
|
|
128
|
-
<div class="ttc" id="
|
|
129
|
-
<div class="ttc" id="
|
|
130
|
-
<div class="ttc" id="
|
|
125
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_aa11226a2e4fa6a7b1d78006cc8ca0518"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">SVF::CallICFGNode::isIndirectCall</a></div><div class="ttdeci">bool isIndirectCall() const</div><div class="ttdoc">Return true if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00412">ICFGNode.h:412</a></div></div>
|
|
126
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html_a3f0f02c9fb1ab2406ed970f0e0e7942e"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#a3f0f02c9fb1ab2406ed970f0e0e7942e">SVF::FunEntryICFGNode::classof</a></div><div class="ttdeci">static bool classof(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00291">ICFGNode.h:291</a></div></div>
|
|
127
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html_acace98ae1961dcd498678694b7ba4699"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#acace98ae1961dcd498678694b7ba4699">SVF::FunExitICFGNode::classof</a></div><div class="ttdeci">static bool classof(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00342">ICFGNode.h:342</a></div></div>
|
|
128
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html_ab980476a746eecd8d1018e43b40db635"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#ab980476a746eecd8d1018e43b40db635">SVF::FunExitICFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericICFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00352">ICFGNode.h:352</a></div></div>
|
|
129
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_ac719aea72183e187f71471e1e58c9e54"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#ac719aea72183e187f71471e1e58c9e54">SVF::RetICFGNode::addActualRet</a></div><div class="ttdeci">void addActualRet(const SVFVar *ar)</div><div class="ttdoc">Add actual return parameter. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00491">ICFGNode.h:491</a></div></div>
|
|
130
|
+
<div class="ttc" id="classSVF_1_1IntraICFGNode_html_a00e015884ec85772b161cc7b4a5bfbd8"><div class="ttname"><a href="classSVF_1_1IntraICFGNode.html#a00e015884ec85772b161cc7b4a5bfbd8">SVF::IntraICFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericICFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00204">ICFGNode.h:204</a></div></div>
|
|
131
131
|
<div class="ttc" id="ICFGEdge_8h_html"><div class="ttname"><a href="ICFGEdge_8h.html">ICFGEdge.h</a></div></div>
|
|
132
|
-
<div class="ttc" id="classSVF_1_1GlobalBlockNode_html_a233fceb667e517862fd97d50832a4d7e"><div class="ttname"><a href="classSVF_1_1GlobalBlockNode.html#a233fceb667e517862fd97d50832a4d7e">SVF::GlobalBlockNode::GlobalBlockNode</a></div><div class="ttdeci">GlobalBlockNode(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00146">ICFGNode.h:146</a></div></div>
|
|
133
132
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00268">SVFUtil.h:268</a></div></div>
|
|
134
133
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_ac1689701c75e04481e2ae2f4482551c4"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ac1689701c75e04481e2ae2f4482551c4">SVF::ICFGNode::getBB</a></div><div class="ttdeci">virtual const BasicBlock * getBB() const</div><div class="ttdoc">Return the function of this ICFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00086">ICFGNode.h:86</a></div></div>
|
|
135
134
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_aff18898b9bbd85d08b00d64d48eea6a5"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#aff18898b9bbd85d08b00d64d48eea6a5">SVF::ICFGNode::addVFGNode</a></div><div class="ttdeci">void addVFGNode(const VFGNode *vfgNode)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00103">ICFGNode.h:103</a></div></div>
|
|
136
135
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a74f598c1c86b023680bb2685aa8ab376"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376">SVF::ICFGNode::ICFGNodeK</a></div><div class="ttdeci">ICFGNodeK</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00060">ICFGNode.h:60</a></div></div>
|
|
137
|
-
<div class="ttc" id="
|
|
138
|
-
<div class="ttc" id="
|
|
136
|
+
<div class="ttc" id="classSVF_1_1InterICFGNode_html"><div class="ttname"><a href="classSVF_1_1InterICFGNode.html">SVF::InterICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00213">ICFGNode.h:213</a></div></div>
|
|
137
|
+
<div class="ttc" id="classSVF_1_1IntraICFGNode_html_a295649753e583729a9f3bfd9e8a1e87f"><div class="ttname"><a href="classSVF_1_1IntraICFGNode.html#a295649753e583729a9f3bfd9e8a1e87f">SVF::IntraICFGNode::classof</a></div><div class="ttdeci">static bool classof(const IntraICFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00194">ICFGNode.h:194</a></div></div>
|
|
139
138
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_ad3c5171fed4e28cfd35c1a6fb9697005"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ad3c5171fed4e28cfd35c1a6fb9697005">SVF::ICFGNode::bb</a></div><div class="ttdeci">const BasicBlock * bb</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00133">ICFGNode.h:133</a></div></div>
|
|
140
139
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_ac16c5a3227a44d3b9f7c3209156d9df2"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">SVF::ICFGNode::const_iterator</a></div><div class="ttdeci">ICFGEdge::ICFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00066">ICFGNode.h:66</a></div></div>
|
|
141
|
-
<div class="ttc" id="
|
|
140
|
+
<div class="ttc" id="classSVF_1_1IntraICFGNode_html_ac160eae9228d5b6627a6ca74da0b03e4"><div class="ttname"><a href="classSVF_1_1IntraICFGNode.html#ac160eae9228d5b6627a6ca74da0b03e4">SVF::IntraICFGNode::inst</a></div><div class="ttdeci">const Instruction * inst</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00178">ICFGNode.h:178</a></div></div>
|
|
142
141
|
<div class="ttc" id="classSVF_1_1GenericNode_html"><div class="ttname"><a href="classSVF_1_1GenericNode.html">SVF::GenericNode</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00128">GenericGraph.h:128</a></div></div>
|
|
143
|
-
<div class="ttc" id="
|
|
144
|
-
<div class="ttc" id="
|
|
145
|
-
<div class="ttc" id="
|
|
146
|
-
<div class="ttc" id="
|
|
142
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_a663ed651c2e0eb3a8ae2da0bc52e1b6f"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#a663ed651c2e0eb3a8ae2da0bc52e1b6f">SVF::RetICFGNode::RetICFGNode</a></div><div class="ttdeci">RetICFGNode(NodeID id, const Instruction *c, CallICFGNode *cb)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00467">ICFGNode.h:467</a></div></div>
|
|
143
|
+
<div class="ttc" id="classSVF_1_1GlobalICFGNode_html_a06d0940d1b923991144c827e145a028e"><div class="ttname"><a href="classSVF_1_1GlobalICFGNode.html#a06d0940d1b923991144c827e145a028e">SVF::GlobalICFGNode::classof</a></div><div class="ttdeci">static bool classof(const GlobalICFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00153">ICFGNode.h:153</a></div></div>
|
|
144
|
+
<div class="ttc" id="classSVF_1_1IntraICFGNode_html_ad8a53409330e7ea74c50cdeaf37acef8"><div class="ttname"><a href="classSVF_1_1IntraICFGNode.html#ad8a53409330e7ea74c50cdeaf37acef8">SVF::IntraICFGNode::IntraICFGNode</a></div><div class="ttdeci">IntraICFGNode(NodeID id, const Instruction *i)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00181">ICFGNode.h:181</a></div></div>
|
|
145
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html_a03a1b6551377b4a85fdecf36ec247767"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#a03a1b6551377b4a85fdecf36ec247767">SVF::FunExitICFGNode::getFormalRet</a></div><div class="ttdeci">const SVFVar * getFormalRet() const</div><div class="ttdoc">Return actual return parameter. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00324">ICFGNode.h:324</a></div></div>
|
|
147
146
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ad2fb9517b64addcced67efe9cc83b994">SVF::ICFGNode::FunEntryBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00062">ICFGNode.h:62</a></div></div>
|
|
148
|
-
<div class="ttc" id="
|
|
149
|
-
<div class="ttc" id="
|
|
150
|
-
<div class="ttc" id="
|
|
151
|
-
<div class="ttc" id="
|
|
147
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_afb8bed9242cea8c927d14028526c19b9"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#afb8bed9242cea8c927d14028526c19b9">SVF::CallICFGNode::classof</a></div><div class="ttdeci">static bool classof(const CallICFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00431">ICFGNode.h:431</a></div></div>
|
|
148
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::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#l00381">ICFGNode.h:381</a></div></div>
|
|
149
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_ab43c000436d0f6d978f4fff831671d5c"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#ab43c000436d0f6d978f4fff831671d5c">SVF::CallICFGNode::getActualParms</a></div><div class="ttdeci">const ActualParmNodeVec & getActualParms() const</div><div class="ttdoc">Return the set of actual parameters. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00418">ICFGNode.h:418</a></div></div>
|
|
150
|
+
<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#l00364">ICFGNode.h:364</a></div></div>
|
|
152
151
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00069">LLVMModule.h:69</a></div></div>
|
|
152
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html_adfcebc33f3c36b8145074d370dfa1cb9"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#adfcebc33f3c36b8145074d370dfa1cb9">SVF::FunExitICFGNode::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00312">ICFGNode.h:312</a></div></div>
|
|
153
153
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_af1b6fd9ea200ab0ff51d48a4872c921a"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">SVF::ICFGNode::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00061">ICFG.cpp:61</a></div></div>
|
|
154
154
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376a58501ce2adf17a3da23a98f363ed9800">SVF::ICFGNode::FunCallBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00062">ICFGNode.h:62</a></div></div>
|
|
155
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_a9a1d69cec6f240971767eee3c1c6ac41"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#a9a1d69cec6f240971767eee3c1c6ac41">SVF::RetICFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericICFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00513">ICFGNode.h:513</a></div></div>
|
|
156
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a18f4077d42b23c3fed35efc793b6102e"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">SVF::CallICFGNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00400">ICFGNode.h:400</a></div></div>
|
|
155
157
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a5a148eccec266a67e4ff5364d7268fff"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">SVF::ICFGNode::iterator</a></div><div class="ttdeci">ICFGEdge::ICFGEdgeSetTy::iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00065">ICFGNode.h:65</a></div></div>
|
|
156
|
-
<div class="ttc" id="classSVF_1_1CallBlockNode_html_ad3d50024efcfa94b1246c982b43aff2f"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">SVF::CallBlockNode::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#l00381">ICFGNode.h:381</a></div></div>
|
|
157
158
|
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
|
|
158
|
-
<div class="ttc" id="
|
|
159
|
-
<div class="ttc" id="
|
|
160
|
-
<div class="ttc" id="
|
|
161
|
-
<div class="ttc" id="
|
|
162
|
-
<div class="ttc" id="
|
|
163
|
-
<div class="ttc" id="
|
|
164
|
-
<div class="ttc" id="
|
|
159
|
+
<div class="ttc" id="classSVF_1_1GlobalICFGNode_html_a982efb288d9b6ec41cd64be562e4be6d"><div class="ttname"><a href="classSVF_1_1GlobalICFGNode.html#a982efb288d9b6ec41cd64be562e4be6d">SVF::GlobalICFGNode::classof</a></div><div class="ttdeci">static bool classof(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00158">ICFGNode.h:158</a></div></div>
|
|
160
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html_a54dfbbebbfe18a8a493656d6ad8663be"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#a54dfbbebbfe18a8a493656d6ad8663be">SVF::FunExitICFGNode::getFun</a></div><div class="ttdeci">const SVFFunction * getFun() const</div><div class="ttdoc">Return function. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00318">ICFGNode.h:318</a></div></div>
|
|
161
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html_a30e8c63bf2ae7a7528b9d8a516340ade"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#a30e8c63bf2ae7a7528b9d8a516340ade">SVF::FunEntryICFGNode::FPNodes</a></div><div class="ttdeci">FormalParmNodeVec FPNodes</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00257">ICFGNode.h:257</a></div></div>
|
|
162
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_aa9bdf2b575f08976dcd0ba815a70f841"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#aa9bdf2b575f08976dcd0ba815a70f841">SVF::CallICFGNode::ActualParmNodeVec</a></div><div class="ttdeci">std::vector< const SVFVar * > ActualParmNodeVec</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00368">ICFGNode.h:368</a></div></div>
|
|
163
|
+
<div class="ttc" id="classSVF_1_1InterICFGNode_html_a67ef8b6f4d8961c54145df0ce8a5c843"><div class="ttname"><a href="classSVF_1_1InterICFGNode.html#a67ef8b6f4d8961c54145df0ce8a5c843">SVF::InterICFGNode::classof</a></div><div class="ttdeci">static bool classof(const InterICFGNode *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast: </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00224">ICFGNode.h:224</a></div></div>
|
|
164
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html">SVF::FunExitICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00308">ICFGNode.h:308</a></div></div>
|
|
165
|
+
<div class="ttc" id="classSVF_1_1IntraICFGNode_html_a6f9112d3a9d423bbcd391fbbdea3e785"><div class="ttname"><a href="classSVF_1_1IntraICFGNode.html#a6f9112d3a9d423bbcd391fbbdea3e785">SVF::IntraICFGNode::getInst</a></div><div class="ttdeci">const Instruction * getInst() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00187">ICFGNode.h:187</a></div></div>
|
|
165
166
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a57f9be13188a6cd53b30489f791e40d3"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3">SVF::ICFGNode::VFGNodes</a></div><div class="ttdeci">VFGNodeList VFGNodes</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00134">ICFGNode.h:134</a></div></div>
|
|
166
|
-
<div class="ttc" id="
|
|
167
|
-
<div class="ttc" id="
|
|
168
|
-
<div class="ttc" id="
|
|
169
|
-
<div class="ttc" id="
|
|
170
|
-
<div class="ttc" id="
|
|
171
|
-
<div class="ttc" id="classSVF_1_1CallBlockNode_html"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html">SVF::CallBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
|
|
172
|
-
<div class="ttc" id="classSVF_1_1RetBlockNode_html_a9ed7b40bb07977642484362673e7ba2d"><div class="ttname"><a href="classSVF_1_1RetBlockNode.html#a9ed7b40bb07977642484362673e7ba2d">SVF::RetBlockNode::cs</a></div><div class="ttdeci">const Instruction * cs</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00463">ICFGNode.h:463</a></div></div>
|
|
173
|
-
<div class="ttc" id="classSVF_1_1RetBlockNode_html_aa9ecd6854337dfa67a828d2416f3813f"><div class="ttname"><a href="classSVF_1_1RetBlockNode.html#aa9ecd6854337dfa67a828d2416f3813f">SVF::RetBlockNode::getActualRet</a></div><div class="ttdeci">const SVFVar * getActualRet() const</div><div class="ttdoc">Return actual return parameter. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00485">ICFGNode.h:485</a></div></div>
|
|
167
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html_abd7b5e9cdb73b6e52b4fcb8b5e1b2b23"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#abd7b5e9cdb73b6e52b4fcb8b5e1b2b23">SVF::RetICFGNode::cs</a></div><div class="ttdeci">const Instruction * cs</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00463">ICFGNode.h:463</a></div></div>
|
|
168
|
+
<div class="ttc" id="classSVF_1_1IntraICFGNode_html_a9ce3f760813e3108dda53ff3f558a23d"><div class="ttname"><a href="classSVF_1_1IntraICFGNode.html#a9ce3f760813e3108dda53ff3f558a23d">SVF::IntraICFGNode::classof</a></div><div class="ttdeci">static bool classof(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00199">ICFGNode.h:199</a></div></div>
|
|
169
|
+
<div class="ttc" id="classSVF_1_1IntraICFGNode_html"><div class="ttname"><a href="classSVF_1_1IntraICFGNode.html">SVF::IntraICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00175">ICFGNode.h:175</a></div></div>
|
|
170
|
+
<div class="ttc" id="classSVF_1_1GlobalICFGNode_html_a01e8a9844fcad1cc5faa22d8b0e0efd7"><div class="ttname"><a href="classSVF_1_1GlobalICFGNode.html#a01e8a9844fcad1cc5faa22d8b0e0efd7">SVF::GlobalICFGNode::GlobalICFGNode</a></div><div class="ttdeci">GlobalICFGNode(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00146">ICFGNode.h:146</a></div></div>
|
|
171
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html_a0e8ff24e445a670f5ea1fef66ea928c5"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#a0e8ff24e445a670f5ea1fef66ea928c5">SVF::FunEntryICFGNode::FormalParmNodeVec</a></div><div class="ttdeci">std::vector< const SVFVar * > FormalParmNodeVec</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00255">ICFGNode.h:255</a></div></div>
|
|
174
172
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">SVF::ICFGNode::GlobalBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00062">ICFGNode.h:62</a></div></div>
|
|
175
173
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a6c68f52dd90728073fb79141df9b0661"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">SVF::ICFGNode::getSVFStmts</a></div><div class="ttdeci">const SVFStmtList & getSVFStmts() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00121">ICFGNode.h:121</a></div></div>
|
|
176
|
-
<div class="ttc" id="
|
|
174
|
+
<div class="ttc" id="classSVF_1_1GlobalICFGNode_html"><div class="ttname"><a href="classSVF_1_1GlobalICFGNode.html">SVF::GlobalICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00142">ICFGNode.h:142</a></div></div>
|
|
175
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html_ac2451fdc53f319bc92528af7edc94b2d"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#ac2451fdc53f319bc92528af7edc94b2d">SVF::FunEntryICFGNode::getFun</a></div><div class="ttdeci">const SVFFunction * getFun() const</div><div class="ttdoc">Return function. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00262">ICFGNode.h:262</a></div></div>
|
|
176
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a7c514653ca97c9a97f5a26a57a2955e1"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a7c514653ca97c9a97f5a26a57a2955e1">SVF::CallICFGNode::CallICFGNode</a></div><div class="ttdeci">CallICFGNode(NodeID id, const Instruction *c)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00374">ICFGNode.h:374</a></div></div>
|
|
177
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html_a5225463cf5c8601d919ab810bc3276ef"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#a5225463cf5c8601d919ab810bc3276ef">SVF::FunEntryICFGNode::classof</a></div><div class="ttdeci">static bool classof(const GenericICFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00296">ICFGNode.h:296</a></div></div>
|
|
177
178
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_ab1a4b4a8dc600ca375d9f5adbd2a5b59"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ab1a4b4a8dc600ca375d9f5adbd2a5b59">SVF::ICFGNode::CallPESet</a></div><div class="ttdeci">Set< const CallPE * > CallPESet</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00067">ICFGNode.h:67</a></div></div>
|
|
178
|
-
<div class="ttc" id="classSVF_1_1CallBlockNode_html_a1fab44c7854d6bc5fe0ab9ad236b64c3"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#a1fab44c7854d6bc5fe0ab9ad236b64c3">SVF::CallBlockNode::classof</a></div><div class="ttdeci">static bool classof(const GenericICFGNodeTy *node)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00446">ICFGNode.h:446</a></div></div>
|
|
179
179
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a547b3bc62de65b9dbfc6dee55c063dd7"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">SVF::LLVMModuleSet::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00112">LLVMModule.h:112</a></div></div>
|
|
180
180
|
<div class="ttc" id="classSVF_1_1ICFGNode_html_a3c193da05d6dee7313a141ae3ab43e97"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a3c193da05d6dee7313a141ae3ab43e97">SVF::ICFGNode::dump</a></div><div class="ttdeci">void dump() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00068">ICFG.cpp:68</a></div></div>
|
|
181
181
|
<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>
|