svf-tools 1.0.347 → 1.0.351
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +5 -4
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/Andersen_8h_source.html +12 -12
- package/SVF-doxygen/html/html/CHG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Conditions_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +14 -14
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +7 -8
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +6 -7
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +13 -6
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +12 -14
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -3
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +3 -4
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +4 -5
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -4
- package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +4 -4
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +2 -3
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +7 -6
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +75 -73
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +4 -5
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +6 -5
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +3 -4
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +5 -4
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +45 -45
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +59 -59
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +42 -41
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CHEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1CHNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CSC-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DCHEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1DCHNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DCHNode.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +98 -98
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +120 -150
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MRVer-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MRVer.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +47 -46
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +289 -237
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1TCTEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +6 -5
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +54 -54
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +18 -18
- package/SVF-doxygen/html/html/functions_a.html +15 -12
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func.html +16 -13
- package/SVF-doxygen/html/html/functions_func_f.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +32 -35
- package/SVF-doxygen/html/html/functions_func_i.html +13 -10
- package/SVF-doxygen/html/html/functions_func_o.html +2 -2
- package/SVF-doxygen/html/html/functions_func_r.html +2 -2
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_func_v.html +1 -1
- package/SVF-doxygen/html/html/functions_g.html +27 -30
- package/SVF-doxygen/html/html/functions_i.html +10 -7
- package/SVF-doxygen/html/html/functions_l.html +1 -1
- package/SVF-doxygen/html/html/functions_m.html +2 -2
- package/SVF-doxygen/html/html/functions_n.html +23 -23
- package/SVF-doxygen/html/html/functions_o.html +6 -6
- package/SVF-doxygen/html/html/functions_p.html +12 -12
- package/SVF-doxygen/html/html/functions_r.html +2 -2
- package/SVF-doxygen/html/html/functions_s.html +7 -7
- package/SVF-doxygen/html/html/functions_t.html +10 -10
- package/SVF-doxygen/html/html/functions_type_g.html +3 -3
- package/SVF-doxygen/html/html/functions_type_n.html +1 -1
- package/SVF-doxygen/html/html/functions_type_o.html +1 -1
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_vars_a.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_f.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_m.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_n.html +22 -22
- package/SVF-doxygen/html/html/functions_vars_t.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_v.html +2 -2
- package/SVF-doxygen/html/html/namespaceSVF.html +22 -22
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +5 -5
- package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
- package/SVF-doxygen/html/html/namespacemembers_type_s.html +3 -3
- package/SVF-doxygen/html/html/search/all_1.js +5 -4
- package/SVF-doxygen/html/html/search/all_10.js +9 -9
- package/SVF-doxygen/html/html/search/all_12.js +2 -2
- package/SVF-doxygen/html/html/search/all_13.js +7 -7
- package/SVF-doxygen/html/html/search/all_14.js +7 -7
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +5 -5
- package/SVF-doxygen/html/html/search/all_6.js +3 -3
- package/SVF-doxygen/html/html/search/all_7.js +16 -17
- package/SVF-doxygen/html/html/search/all_9.js +1 -0
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +19 -19
- package/SVF-doxygen/html/html/search/all_f.js +4 -4
- package/SVF-doxygen/html/html/search/functions_0.js +4 -3
- package/SVF-doxygen/html/html/search/functions_10.js +2 -2
- package/SVF-doxygen/html/html/search/functions_13.js +1 -1
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +14 -15
- package/SVF-doxygen/html/html/search/functions_8.js +1 -0
- package/SVF-doxygen/html/html/search/functions_a.js +1 -1
- package/SVF-doxygen/html/html/search/functions_d.js +2 -2
- package/SVF-doxygen/html/html/search/functions_f.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_6.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_e.js +1 -1
- package/SVF-doxygen/html/html/search/variables_1.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +4 -4
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_16.js +2 -2
- package/SVF-doxygen/html/html/search/variables_6.js +2 -2
- package/SVF-doxygen/html/html/search/variables_d.js +2 -2
- package/SVF-doxygen/html/html/search/variables_e.js +18 -18
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +5 -5
- package/include/Graphs/CHG.h +6 -6
- package/include/Graphs/ConsGEdge.h +1 -1
- package/include/Graphs/ConsGNode.h +16 -16
- package/include/Graphs/GenericGraph.h +4 -4
- package/include/Graphs/IRGraph.h +5 -5
- package/include/Graphs/PTACallGraph.h +2 -2
- package/include/MSSA/MSSAMuChi.h +1 -1
- package/include/MSSA/MemRegion.h +2 -2
- package/include/MemoryModel/LocationSet.h +10 -48
- package/include/MemoryModel/PAGBuilderFromFile.h +1 -1
- package/include/MemoryModel/PointerAnalysis.h +1 -1
- package/include/MemoryModel/SVFIR.h +3 -3
- package/include/MemoryModel/SVFStatements.h +2 -2
- package/include/MemoryModel/SVFVariables.h +2 -2
- package/include/MemoryModel/SymbolTableInfo.h +3 -3
- package/include/SVF-FE/SVFIRBuilder.h +4 -1
- package/include/Util/IRAnnotator.h +2 -2
- package/include/Util/SVFBasicTypes.h +3 -3
- package/include/WPA/Andersen.h +11 -11
- package/include/WPA/AndersenSFR.h +1 -1
- package/include/WPA/CSC.h +1 -1
- package/include/WPA/FlowSensitive.h +13 -13
- package/include/WPA/VersionedFlowSensitive.h +2 -2
- package/lib/Graphs/ConsG.cpp +4 -4
- package/lib/Graphs/ICFG.cpp +1 -1
- package/lib/Graphs/SVFGStat.cpp +2 -2
- package/lib/MSSA/MemRegion.cpp +2 -2
- package/lib/MTA/MHP.cpp +2 -2
- package/lib/MemoryModel/LocationSet.cpp +49 -9
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +3 -3
- package/lib/MemoryModel/SVFIR.cpp +1 -1
- package/lib/MemoryModel/SymbolTableInfo.cpp +3 -3
- package/lib/SVF-FE/CPPUtil.cpp +6 -6
- package/lib/SVF-FE/LLVMUtil.cpp +1 -1
- package/lib/SVF-FE/SVFIRBuilder.cpp +74 -37
- package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -1
- package/lib/Util/Conditions.cpp +1 -1
- package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
- package/lib/WPA/Andersen.cpp +13 -13
- package/lib/WPA/AndersenSFR.cpp +7 -7
- package/lib/WPA/CSC.cpp +5 -5
- package/lib/WPA/TypeAnalysis.cpp +3 -3
- package/package.json +1 -1
|
@@ -84,7 +84,7 @@ $(function() {
|
|
|
84
84
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#af1c2fd4b5ef1d7b7605572bf2489c298">EdgeKindMaskBits</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
|
|
85
85
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
86
86
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
87
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
87
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
88
88
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a6764973569c281d483afab17a75cb4dc">GenericEdge</a>(NodeTy *s, NodeTy *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
89
89
|
<tr><td class="entry"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#af9ca9cfffbba3b68838d41be62c914ac">getCallSiteID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1PTACallGraphEdge.html">SVF::PTACallGraphEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
90
90
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#af0e9f86be3cf263b868f80d374641fc9">getDirectCalls</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PTACallGraphEdge.html">SVF::PTACallGraphEdge</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
@@ -104,8 +104,8 @@ Public Types</h2></td></tr>
|
|
|
104
104
|
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
105
105
|
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
106
106
|
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
107
|
-
<tr class="memitem:
|
|
108
|
-
<tr class="separator:
|
|
107
|
+
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
108
|
+
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
109
109
|
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
110
110
|
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
111
111
|
<tr class="separator:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -168,7 +168,7 @@ Public Member Functions</h2></td></tr>
|
|
|
168
168
|
<tr class="separator:ae6792506a0150a9400d635eceab7f9e7 inherit pub_methods_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
169
169
|
<tr class="memitem:ad9edb45e74ae675d9da82f5acf02d56e inherit pub_methods_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a> () const</td></tr>
|
|
170
170
|
<tr class="separator:ad9edb45e74ae675d9da82f5acf02d56e inherit pub_methods_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
171
|
-
<tr class="memitem:abe8525c542def8162b094c169a01993b inherit pub_methods_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
171
|
+
<tr class="memitem:abe8525c542def8162b094c169a01993b inherit pub_methods_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a> () const</td></tr>
|
|
172
172
|
<tr class="separator:abe8525c542def8162b094c169a01993b inherit pub_methods_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
173
173
|
<tr class="memitem:ab47ca533c415841ef75456cbad439589 inherit pub_methods_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a> () const</td></tr>
|
|
174
174
|
<tr class="separator:ab47ca533c415841ef75456cbad439589 inherit pub_methods_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -186,7 +186,7 @@ Static Public Member Functions</h2></td></tr>
|
|
|
186
186
|
<tr class="memitem:af9cc260c4a767f9ebd4a454dff4f88be"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1HareParForEdge.html#af9cc260c4a767f9ebd4a454dff4f88be">classof</a> (const <a class="el" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a> *edge)</td></tr>
|
|
187
187
|
<tr class="separator:af9cc260c4a767f9ebd4a454dff4f88be"><td class="memSeparator" colspan="2"> </td></tr>
|
|
188
188
|
<tr class="inherit_header pub_static_methods_classSVF_1_1PTACallGraphEdge"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classSVF_1_1PTACallGraphEdge')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="classSVF_1_1PTACallGraphEdge.html">SVF::PTACallGraphEdge</a></td></tr>
|
|
189
|
-
<tr class="memitem:a4eaeb2765fdcc455116537dbe2119800 inherit pub_static_methods_classSVF_1_1PTACallGraphEdge"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#a4eaeb2765fdcc455116537dbe2119800">makeEdgeFlagWithInvokeID</a> (<a class="el" href="classSVF_1_1GenericEdge.html#
|
|
189
|
+
<tr class="memitem:a4eaeb2765fdcc455116537dbe2119800 inherit pub_static_methods_classSVF_1_1PTACallGraphEdge"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#a4eaeb2765fdcc455116537dbe2119800">makeEdgeFlagWithInvokeID</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, <a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> cs)</td></tr>
|
|
190
190
|
<tr class="memdesc:a4eaeb2765fdcc455116537dbe2119800 inherit pub_static_methods_classSVF_1_1PTACallGraphEdge"><td class="mdescLeft"> </td><td class="mdescRight">Compute the unique edgeFlag value from edge kind and CallSiteID. <a href="classSVF_1_1PTACallGraphEdge.html#a4eaeb2765fdcc455116537dbe2119800">More...</a><br /></td></tr>
|
|
191
191
|
<tr class="separator:a4eaeb2765fdcc455116537dbe2119800 inherit pub_static_methods_classSVF_1_1PTACallGraphEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
192
192
|
<tr class="memitem:adb10c32eff8a794d9f2b1b4a47d85d21 inherit pub_static_methods_classSVF_1_1PTACallGraphEdge"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PTACallGraphEdge.html#adb10c32eff8a794d9f2b1b4a47d85d21">classof</a> (const <a class="el" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a> *)</td></tr>
|
|
@@ -1294,10 +1294,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1294
1294
|
<p>Return the corresponding <a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> </p>
|
|
1295
1295
|
|
|
1296
1296
|
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00315">315</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1297
|
-
<div class="fragment"><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> {</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * edge = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <a class="code" href="namespaceSVF.html#
|
|
1297
|
+
<div class="fragment"><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> {</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * edge = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> counter = 0;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">for</span> (ICFGEdge::ICFGEdgeSetTy::iterator iter = src-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>();</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  iter != src-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  {</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">if</span> ((*iter)->getDstID() == dst-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() && (*iter)->getEdgeKind() == kind)</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  counter++;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  edge = (*iter);</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="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(counter <= 1 && <span class="stringliteral">"there's more than one edge between two ICFG nodes"</span>);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">return</span> edge;</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> }</div><div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00042">ICFGEdge.h:42</a></div></div>
|
|
1298
1298
|
<div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
|
|
1299
1299
|
<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>
|
|
1300
|
-
<div class="ttc" id="
|
|
1300
|
+
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
|
|
1301
1301
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
1302
1302
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
|
|
1303
1303
|
</div><!-- fragment -->
|
|
@@ -74,7 +74,7 @@ $(function() {
|
|
|
74
74
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#af1c2fd4b5ef1d7b7605572bf2489c298">EdgeKindMaskBits</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
|
|
75
75
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
76
76
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
77
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
77
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
78
78
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a6764973569c281d483afab17a75cb4dc">GenericEdge</a>(NodeTy *s, NodeTy *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
79
79
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
80
80
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
@@ -105,8 +105,8 @@ Public Types</h2></td></tr>
|
|
|
105
105
|
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
106
106
|
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
107
107
|
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
108
|
-
<tr class="memitem:
|
|
109
|
-
<tr class="separator:
|
|
108
|
+
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
109
|
+
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
110
110
|
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
111
111
|
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
112
112
|
<tr class="separator:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -143,7 +143,7 @@ Public Member Functions</h2></td></tr>
|
|
|
143
143
|
<tr class="separator:ae6792506a0150a9400d635eceab7f9e7 inherit pub_methods_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
144
144
|
<tr class="memitem:ad9edb45e74ae675d9da82f5acf02d56e inherit pub_methods_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a> () const</td></tr>
|
|
145
145
|
<tr class="separator:ad9edb45e74ae675d9da82f5acf02d56e inherit pub_methods_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
146
|
-
<tr class="memitem:abe8525c542def8162b094c169a01993b inherit pub_methods_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
146
|
+
<tr class="memitem:abe8525c542def8162b094c169a01993b inherit pub_methods_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a> () const</td></tr>
|
|
147
147
|
<tr class="separator:abe8525c542def8162b094c169a01993b inherit pub_methods_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
148
148
|
<tr class="memitem:ab47ca533c415841ef75456cbad439589 inherit pub_methods_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a> () const</td></tr>
|
|
149
149
|
<tr class="separator:ab47ca533c415841ef75456cbad439589 inherit pub_methods_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -154,7 +154,7 @@ Public Member Functions</h2></td></tr>
|
|
|
154
154
|
</table><table class="memberdecls">
|
|
155
155
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
156
156
|
Static Public Member Functions</h2></td></tr>
|
|
157
|
-
<tr class="memitem:a00b2650d7afd8b98c108d6a168299993"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFGEdge.html#a00b2650d7afd8b98c108d6a168299993">makeEdgeFlagWithInvokeID</a> (<a class="el" href="classSVF_1_1GenericEdge.html#
|
|
157
|
+
<tr class="memitem:a00b2650d7afd8b98c108d6a168299993"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFGEdge.html#a00b2650d7afd8b98c108d6a168299993">makeEdgeFlagWithInvokeID</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, <a class="el" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> cs)</td></tr>
|
|
158
158
|
<tr class="memdesc:a00b2650d7afd8b98c108d6a168299993"><td class="mdescLeft"> </td><td class="mdescRight">Compute the unique edgeFlag value from edge kind and CallSiteID. <a href="#a00b2650d7afd8b98c108d6a168299993">More...</a><br /></td></tr>
|
|
159
159
|
<tr class="separator:a00b2650d7afd8b98c108d6a168299993"><td class="memSeparator" colspan="2"> </td></tr>
|
|
160
160
|
</table><table class="memberdecls">
|
|
@@ -462,7 +462,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
462
462
|
<tr>
|
|
463
463
|
<td class="memname">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> SVF::ICFGEdge::makeEdgeFlagWithInvokeID </td>
|
|
464
464
|
<td>(</td>
|
|
465
|
-
<td class="paramtype"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
465
|
+
<td class="paramtype"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> </td>
|
|
466
466
|
<td class="paramname"><em>k</em>, </td>
|
|
467
467
|
</tr>
|
|
468
468
|
<tr>
|
|
@@ -102,7 +102,7 @@ $(function() {
|
|
|
102
102
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
103
103
|
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html#abcc53637a634f7ec92b9c7861b941601">getVFGNodes</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
104
104
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html#a74f598c1c86b023680bb2685aa8ab376ac93cf90864e69a21cbaefccbd48b8648">GlobalBlock</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></td><td class="entry"></td></tr>
|
|
105
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#
|
|
105
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td><td class="entry"></td></tr>
|
|
106
106
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
107
107
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#add6b6b3bd45a9460335c5db9eda821b8">hasIncomingEdge</a>(EdgeType *edge) const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
108
108
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
@@ -122,8 +122,8 @@ $(function() {
|
|
|
122
122
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
123
123
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#ace88b6c7561f61f747ff08f61e2c18bc">OutEdgeEnd</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
124
124
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html#a12ce3aabc1bd3bae7caa9be9ec0a6a71">pagEdges</a></td><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
125
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#
|
|
126
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#
|
|
125
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a95415bebc5986e548f91169b201a5225">removeIncomingEdge</a>(EdgeType *edge)</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
126
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a1880a691130279625e5be6af36e86fc1">removeOutgoingEdge</a>(EdgeType *edge)</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
127
127
|
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html#a2c39225f7b5ca0c392ea7afc3cec1fdb">RetPESet</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></td><td class="entry"></td></tr>
|
|
128
128
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html#aa84a3724426f08a0e31ecdbc99114072">SVFStmtList</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></td><td class="entry"></td></tr>
|
|
129
129
|
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html#af1b6fd9ea200ab0ff51d48a4872c921a">toString</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
@@ -120,9 +120,9 @@ Public Types</h2></td></tr>
|
|
|
120
120
|
<tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
121
121
|
<tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
|
|
122
122
|
<tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
123
|
-
<tr class="memitem:
|
|
124
|
-
<tr class="memdesc:
|
|
125
|
-
<tr class="separator:
|
|
123
|
+
<tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
|
|
124
|
+
<tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
|
|
125
|
+
<tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
126
126
|
<tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
|
|
127
127
|
<tr class="separator:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
128
128
|
<tr class="memitem:a2f5471985dfe62bc9ded830a693ab153 inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef GEdgeSetTy::iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a2f5471985dfe62bc9ded830a693ab153">iterator</a></td></tr>
|
|
@@ -156,7 +156,7 @@ Public Member Functions</h2></td></tr>
|
|
|
156
156
|
<tr class="memitem:a6c68f52dd90728073fb79141df9b0661"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1ICFGNode.html#aa84a3724426f08a0e31ecdbc99114072">SVFStmtList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a> () const</td></tr>
|
|
157
157
|
<tr class="separator:a6c68f52dd90728073fb79141df9b0661"><td class="memSeparator" colspan="2"> </td></tr>
|
|
158
158
|
<tr class="inherit_header pub_methods_classSVF_1_1GenericNode"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1GenericNode')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode< NodeTy, EdgeTy ></a></td></tr>
|
|
159
|
-
<tr class="memitem:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#acdca5baae3e9e4208a60322fec9c9d3f">GenericNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> i, <a class="el" href="classSVF_1_1GenericNode.html#
|
|
159
|
+
<tr class="memitem:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#acdca5baae3e9e4208a60322fec9c9d3f">GenericNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> i, <a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> k)</td></tr>
|
|
160
160
|
<tr class="memdesc:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1GenericNode.html#acdca5baae3e9e4208a60322fec9c9d3f">More...</a><br /></td></tr>
|
|
161
161
|
<tr class="separator:acdca5baae3e9e4208a60322fec9c9d3f inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
162
162
|
<tr class="memitem:a48a8d05b81b5c8099c3f3d1f2c4983a9 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a48a8d05b81b5c8099c3f3d1f2c4983a9">~GenericNode</a> ()</td></tr>
|
|
@@ -165,7 +165,7 @@ Public Member Functions</h2></td></tr>
|
|
|
165
165
|
<tr class="memitem:ac3e55ef37aefb411ea4c87b1aa3b1895 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a> () const</td></tr>
|
|
166
166
|
<tr class="memdesc:ac3e55ef37aefb411ea4c87b1aa3b1895 inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Get ID. <a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">More...</a><br /></td></tr>
|
|
167
167
|
<tr class="separator:ac3e55ef37aefb411ea4c87b1aa3b1895 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
168
|
-
<tr class="memitem:a391e996d695b114530120723da1d003e inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericNode.html#
|
|
168
|
+
<tr class="memitem:a391e996d695b114530120723da1d003e inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a> () const</td></tr>
|
|
169
169
|
<tr class="memdesc:a391e996d695b114530120723da1d003e inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Get node kind. <a href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">More...</a><br /></td></tr>
|
|
170
170
|
<tr class="separator:a391e996d695b114530120723da1d003e inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
171
171
|
<tr class="memitem:a2d9cd758d6f8c5189d9b90b74f43e009 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a> () const</td></tr>
|
|
@@ -216,10 +216,10 @@ Public Member Functions</h2></td></tr>
|
|
|
216
216
|
<tr class="separator:a93d217b0c9fd8008a2989ca2b4f3fbfb inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
217
217
|
<tr class="memitem:ae74283fbc788665296a69e56f334557b inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#ae74283fbc788665296a69e56f334557b">addOutgoingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *outEdge)</td></tr>
|
|
218
218
|
<tr class="separator:ae74283fbc788665296a69e56f334557b inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
219
|
-
<tr class="memitem:
|
|
220
|
-
<tr class="separator:
|
|
221
|
-
<tr class="memitem:
|
|
222
|
-
<tr class="separator:
|
|
219
|
+
<tr class="memitem:a95415bebc5986e548f91169b201a5225 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a95415bebc5986e548f91169b201a5225">removeIncomingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *edge)</td></tr>
|
|
220
|
+
<tr class="separator:a95415bebc5986e548f91169b201a5225 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
221
|
+
<tr class="memitem:a1880a691130279625e5be6af36e86fc1 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a1880a691130279625e5be6af36e86fc1">removeOutgoingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *edge)</td></tr>
|
|
222
|
+
<tr class="separator:a1880a691130279625e5be6af36e86fc1 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
223
223
|
<tr class="memitem:add6b6b3bd45a9460335c5db9eda821b8 inherit pub_methods_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#add6b6b3bd45a9460335c5db9eda821b8">hasIncomingEdge</a> (<a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *edge) const</td></tr>
|
|
224
224
|
<tr class="memdesc:add6b6b3bd45a9460335c5db9eda821b8 inherit pub_methods_classSVF_1_1GenericNode"><td class="mdescLeft"> </td><td class="mdescRight">Find incoming and outgoing edges. <a href="classSVF_1_1GenericNode.html#add6b6b3bd45a9460335c5db9eda821b8">More...</a><br /></td></tr>
|
|
225
225
|
<tr class="separator:add6b6b3bd45a9460335c5db9eda821b8 inherit pub_methods_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -387,7 +387,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
387
387
|
</div><div class="memdoc">
|
|
388
388
|
|
|
389
389
|
<p class="definition">Definition at line <a class="el" href="Graph2Json_8cpp_source.html#l00014">14</a> of file <a class="el" href="Graph2Json_8cpp_source.html">Graph2Json.cpp</a>.</p>
|
|
390
|
-
<div class="fragment"><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> {</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"write symbols to '"</span> << filename << <span class="stringliteral">"'..."</span>;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  std::error_code err;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <a class="code" href="namespaceSVF.html#acde6a1d496f1b655088ccbe023820277">ToolOutputFile</a> F(filename.c_str(), err, llvm::sys::fs::OF_None);</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="keywordflow">if</span> (err)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">" error opening file for writing!\n"</span>;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  F.os().clear_error();</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  }</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  llvm::json::Array root_array;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFG.html#a498f84068ef643a94970aeb171607e31">ICFG::iterator</a> it = <a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = <a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it!=eit; ++it)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node = it->second;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  llvm::json::Object ICFGNode_Obj;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  ICFGNode_Obj[<span class="stringliteral">"ICFG_ID"</span>] = id;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  ICFGNode_Obj[<span class="stringliteral">"Node Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03">getICFGKind</a>(node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* bNode = SVFUtil::dyn_cast<IntraICFGNode>(node))</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(bNode->getInst());</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="classSVF_1_1SVFIR.html#a6bc360d2604ae4a0af74530b263b10d9">SVFIR::SVFStmtList</a>& edges = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#abb91ed47d5c13d0ad7eec35164e37988">getPTASVFStmtList</a>(bNode);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  llvm::json::Array PAGEdge_array;</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="comment">//dump pag edges</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">for</span> (SVFIR::SVFStmtList::iterator it = edges.begin(),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  eit = edges.end(); it != eit; ++it)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *it;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  llvm::json::Object edge_obj;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  edge_obj[<span class="stringliteral">"Source Node"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  edge_obj[<span class="stringliteral">"Destination Node"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  edge_obj[<span class="stringliteral">"Source Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getNodeKind());</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  edge_obj[<span class="stringliteral">"Destination Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getNodeKind());</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  edge_obj[<span class="stringliteral">"Edge Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a38aa67e172459a72d8fc92a6172903be">getPAGEdgeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>());</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  edge_obj[<span class="stringliteral">"srcValueName"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getValueName();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  edge_obj[<span class="stringliteral">"dstValueName"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getValueName();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>()==<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">PAGEdge::NormalGep</a>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1NormalGepStmt.html">NormalGepStmt</a>* gepEdge = SVFUtil::cast<NormalGepStmt>(edge);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  edge_obj[<span class="stringliteral">"offset"</span>] = gepEdge-><a class="code" href="classSVF_1_1NormalGepStmt.html#a5f68b485fb5d60deef2ca33da40c69ef">getFieldOffset</a>();</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> edge_value = llvm::json::Object{edge_obj};</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  PAGEdge_array.push_back(edge_value);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> PagEdge_value = llvm::json::Array{PAGEdge_array};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  ICFGNode_Obj[<span class="stringliteral">"SVFIR Edges"</span>] = PagEdge_value;</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>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a> = SVFUtil::dyn_cast<FunEntryICFGNode>(node))</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()->getLLVMFun());</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  ICFGNode_Obj[<span class="stringliteral">"Function Name"</span>] = <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()->getName();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a> = SVFUtil::dyn_cast<FunExitICFGNode>(node))</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>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()))</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(&(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()->getLLVMFun()->back()));</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>  ICFGNode_Obj[<span class="stringliteral">"Function Name"</span>] = <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()->getName();</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* call = SVFUtil::dyn_cast<CallICFGNode>(node))</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(call->getCallSite());</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* ret = SVFUtil::dyn_cast<RetICFGNode>(node))</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(ret->getCallSite());</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"what else kinds of nodes do we have??"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  llvm::json::Array ICFGEdges_array;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">ICFGNode::iterator</a> sit = node-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), esit = node-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); sit!=esit; ++sit)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = *sit;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  llvm::json::Object ICFGEdge_obj;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">if</span> (SVFUtil::isa<CallCFGEdge>(edge))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>>(edge);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"CallCFGEdge"</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<RetCFGEdge>(edge))</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>>(edge);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"RetCFGEdge"</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<IntraCFGEdge>(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_1IntraCFGEdge.html">IntraCFGEdge</a>* intraCFGEdge = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>>(edge);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"IntraCFGEdge"</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = intraCFGEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = intraCFGEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdge_Val = llvm::json::Object{ICFGEdge_obj};</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  ICFGEdges_array.push_back(ICFGEdge_Val);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdges_val = llvm::json::Array{ICFGEdges_array};</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  ICFGNode_Obj[<span class="stringliteral">"ICFGEdges"</span>] = ICFGEdges_val;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGNode_val = llvm::json::Object{ICFGNode_Obj};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  root_array.push_back(ICFGNode_val);</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>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> root_value = llvm::json::Array{root_array};</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="namespaceSVF.html#ac5a03512613828c2fab8930f38c2d485">llvm::json::operator<<</a>(F.os(),root_value);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  F.os().close();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">if</span> (!F.os().has_error())</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>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  F.keep();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div><div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00042">ICFGEdge.h:42</a></div></div>
|
|
390
|
+
<div class="fragment"><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> {</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"write symbols to '"</span> << filename << <span class="stringliteral">"'..."</span>;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  std::error_code err;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <a class="code" href="namespaceSVF.html#acde6a1d496f1b655088ccbe023820277">ToolOutputFile</a> F(filename.c_str(), err, llvm::sys::fs::OF_None);</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="keywordflow">if</span> (err)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">" error opening file for writing!\n"</span>;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  F.os().clear_error();</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  }</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  llvm::json::Array root_array;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFG.html#a498f84068ef643a94970aeb171607e31">ICFG::iterator</a> it = <a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = <a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it!=eit; ++it)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node = it->second;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  llvm::json::Object ICFGNode_Obj;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  ICFGNode_Obj[<span class="stringliteral">"ICFG_ID"</span>] = id;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  ICFGNode_Obj[<span class="stringliteral">"Node Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03">getICFGKind</a>(node-><a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* bNode = SVFUtil::dyn_cast<IntraICFGNode>(node))</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(bNode->getInst());</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="classSVF_1_1SVFIR.html#a6bc360d2604ae4a0af74530b263b10d9">SVFIR::SVFStmtList</a>& edges = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#abb91ed47d5c13d0ad7eec35164e37988">getPTASVFStmtList</a>(bNode);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  llvm::json::Array PAGEdge_array;</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="comment">//dump pag edges</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">for</span> (SVFIR::SVFStmtList::iterator it = edges.begin(),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  eit = edges.end(); it != eit; ++it)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *it;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  llvm::json::Object edge_obj;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  edge_obj[<span class="stringliteral">"Source Node"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  edge_obj[<span class="stringliteral">"Destination Node"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  edge_obj[<span class="stringliteral">"Source Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getNodeKind());</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  edge_obj[<span class="stringliteral">"Destination Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getNodeKind());</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  edge_obj[<span class="stringliteral">"Edge Type"</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a38aa67e172459a72d8fc92a6172903be">getPAGEdgeKindValue</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>());</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  edge_obj[<span class="stringliteral">"srcValueName"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getValueName();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  edge_obj[<span class="stringliteral">"dstValueName"</span>] = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getValueName();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>()==<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">PAGEdge::NormalGep</a>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1NormalGepStmt.html">NormalGepStmt</a>* gepEdge = SVFUtil::cast<NormalGepStmt>(edge);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  edge_obj[<span class="stringliteral">"offset"</span>] = gepEdge-><a class="code" href="classSVF_1_1NormalGepStmt.html#a6e1a6adb716dab78aa8d488bb0311560">getFieldOffset</a>();</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> edge_value = llvm::json::Object{edge_obj};</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  PAGEdge_array.push_back(edge_value);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> PagEdge_value = llvm::json::Array{PAGEdge_array};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  ICFGNode_Obj[<span class="stringliteral">"SVFIR Edges"</span>] = PagEdge_value;</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>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a> = SVFUtil::dyn_cast<FunEntryICFGNode>(node))</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()->getLLVMFun());</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  ICFGNode_Obj[<span class="stringliteral">"Function Name"</span>] = <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>->getFun()->getName();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a> = SVFUtil::dyn_cast<FunExitICFGNode>(node))</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>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()))</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  ICFGNode_Obj[<span class="stringliteral">"isExtCall"</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(&(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()->getLLVMFun()->back()));</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>  ICFGNode_Obj[<span class="stringliteral">"Function Name"</span>] = <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>->getFun()->getName();</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* call = SVFUtil::dyn_cast<CallICFGNode>(node))</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(call->getCallSite());</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* ret = SVFUtil::dyn_cast<RetICFGNode>(node))</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  ICFGNode_Obj[<span class="stringliteral">"Source Location"</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(ret->getCallSite());</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"what else kinds of nodes do we have??"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  llvm::json::Array ICFGEdges_array;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">ICFGNode::iterator</a> sit = node-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), esit = node-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); sit!=esit; ++sit)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = *sit;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  llvm::json::Object ICFGEdge_obj;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">if</span> (SVFUtil::isa<CallCFGEdge>(edge))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>>(edge);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"CallCFGEdge"</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<RetCFGEdge>(edge))</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>>(edge);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"RetCFGEdge"</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = call-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<IntraCFGEdge>(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_1IntraCFGEdge.html">IntraCFGEdge</a>* intraCFGEdge = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>>(edge);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  ICFGEdge_obj[<span class="stringliteral">"ICFG Edge Type"</span>] = <span class="stringliteral">"IntraCFGEdge"</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeSrcID"</span>] = intraCFGEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  ICFGEdge_obj[<span class="stringliteral">"ICFGEdgeDstID"</span>] = intraCFGEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdge_Val = llvm::json::Object{ICFGEdge_obj};</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  ICFGEdges_array.push_back(ICFGEdge_Val);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdges_val = llvm::json::Array{ICFGEdges_array};</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  ICFGNode_Obj[<span class="stringliteral">"ICFGEdges"</span>] = ICFGEdges_val;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGNode_val = llvm::json::Object{ICFGNode_Obj};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  root_array.push_back(ICFGNode_val);</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>  <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> root_value = llvm::json::Array{root_array};</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="namespaceSVF.html#ac5a03512613828c2fab8930f38c2d485">llvm::json::operator<<</a>(F.os(),root_value);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  F.os().close();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">if</span> (!F.os().has_error())</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>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  F.keep();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div><div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00042">ICFGEdge.h:42</a></div></div>
|
|
391
391
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00361">GenericGraph.h:361</a></div></div>
|
|
392
392
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_abe8525c542def8162b094c169a01993b"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">SVF::GenericEdge::getEdgeKind</a></div><div class="ttdeci">GEdgeKind getEdgeKind() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00081">GenericGraph.h:81</a></div></div>
|
|
393
393
|
<div class="ttc" id="util_8h_html_a43b6ea6be735bb828bc062c70cadeff8"><div class="ttname"><a href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a></div><div class="ttdeci">VOID_OR_INT exit()</div></div>
|
|
@@ -399,7 +399,6 @@ Additional Inherited Members</h2></td></tr>
|
|
|
399
399
|
<div class="ttc" id="classSVF_1_1SVFIR_html_abb91ed47d5c13d0ad7eec35164e37988"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abb91ed47d5c13d0ad7eec35164e37988">SVF::SVFIR::getPTASVFStmtList</a></div><div class="ttdeci">SVFStmtList & getPTASVFStmtList(const ICFGNode *inst)</div><div class="ttdoc">Given an instruction, get all its PTA PAGEdges. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00186">SVFIR.h:186</a></div></div>
|
|
400
400
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
|
|
401
401
|
<div class="ttc" id="classSVF_1_1CallCFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallCFGEdge.html">SVF::CallCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00162">ICFGEdge.h:162</a></div></div>
|
|
402
|
-
<div class="ttc" id="classSVF_1_1NormalGepStmt_html_a5f68b485fb5d60deef2ca33da40c69ef"><div class="ttname"><a href="classSVF_1_1NormalGepStmt.html#a5f68b485fb5d60deef2ca33da40c69ef">SVF::NormalGepStmt::getFieldOffset</a></div><div class="ttdeci">u32_t getFieldOffset() const</div><div class="ttdoc">offset of the gep edge </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00492">SVFStatements.h:492</a></div></div>
|
|
403
402
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00269">SVFUtil.cpp:269</a></div></div>
|
|
404
403
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
|
|
405
404
|
<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>
|
|
@@ -418,6 +417,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
418
417
|
<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>
|
|
419
418
|
<div class="ttc" id="namespaceSVF_html_ac5a03512613828c2fab8930f38c2d485"><div class="ttname"><a href="namespaceSVF.html#ac5a03512613828c2fab8930f38c2d485">SVF::operator<<</a></div><div class="ttdeci">raw_ostream & operator<<(raw_ostream &o, const std::pair< F, S > &var)</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00335">BasicTypes.h:335</a></div></div>
|
|
420
419
|
<div class="ttc" id="classSVF_1_1NormalGepStmt_html"><div class="ttname"><a href="classSVF_1_1NormalGepStmt.html">SVF::NormalGepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00459">SVFStatements.h:459</a></div></div>
|
|
420
|
+
<div class="ttc" id="classSVF_1_1NormalGepStmt_html_a6e1a6adb716dab78aa8d488bb0311560"><div class="ttname"><a href="classSVF_1_1NormalGepStmt.html#a6e1a6adb716dab78aa8d488bb0311560">SVF::NormalGepStmt::getFieldOffset</a></div><div class="ttdeci">s64_t getFieldOffset() const</div><div class="ttdoc">offset of the gep edge </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00492">SVFStatements.h:492</a></div></div>
|
|
421
421
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
422
422
|
<div class="ttc" id="classSVF_1_1ICFGPrinter_html_a2c022308f9c7ae3bf33d9482fcb51e03"><div class="ttname"><a href="classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03">SVF::ICFGPrinter::getICFGKind</a></div><div class="ttdeci">std::string getICFGKind(const int kind)</div><div class="ttdef"><b>Definition:</b> <a href="Graph2Json_8cpp_source.html#l00143">Graph2Json.cpp:143</a></div></div>
|
|
423
423
|
<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>
|
|
@@ -764,9 +764,9 @@ Private Attributes</h2></td></tr>
|
|
|
764
764
|
</div><div class="memdoc">
|
|
765
765
|
|
|
766
766
|
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00082">82</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
767
|
-
<div class="fragment"><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>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->named_metadata_begin(); it != <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->named_metadata_end(); ++it)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  std::string label = it->getName().str();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  std::string toErase = <span class="stringliteral">"gepnode-"</span>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespaceSVF.html#
|
|
767
|
+
<div class="fragment"><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>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->named_metadata_begin(); it != <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->named_metadata_end(); ++it)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  std::string label = it->getName().str();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  std::string toErase = <span class="stringliteral">"gepnode-"</span>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">SVF::s64_t</a> pos = label.find(toErase);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (pos == std::string::npos)</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>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  label.erase(pos, toErase.length());</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a> nodeId = std::stoi(label);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">auto</span> mdNode = it->getOperand(0);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a> baseNodeId = std::stoi(llvm::cast<llvm::MDString>(mdNode->getOperand(0))->getString().str());</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">SVF::s64_t</a> locationSetOffset = std::stoi(llvm::cast<llvm::MDString>(mdNode->getOperand(1))->getString().str());</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  LocationSet locationSet = LocationSet(locationSetOffset);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a> gepnodeId = pag->getGepObjVar(baseNodeId, locationSet);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(nodeId == gepnodeId && <span class="stringliteral">"nodeId != gepnodeId"</span>);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div><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>
|
|
768
768
|
<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>
|
|
769
|
-
<div class="ttc" id="
|
|
769
|
+
<div class="ttc" id="namespaceSVF_html_abe09d99af006554a5c00803e9a89f9a6"><div class="ttname"><a href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">SVF::s64_t</a></div><div class="ttdeci">signed s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00078">SVFBasicTypes.h:78</a></div></div>
|
|
770
770
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00314">IRAnnotator.h:314</a></div></div>
|
|
771
771
|
</div><!-- fragment -->
|
|
772
772
|
</div>
|