svf-lib 1.0.2519 → 1.0.2521
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.
|
@@ -72,6 +72,18 @@ public:
|
|
|
72
72
|
/// Given an ObjVar and its def-site ICFGNode, find all use-site ICFGNodes
|
|
73
73
|
const Set<const ICFGNode*> getUseSitesOfObjVar(const ObjVar* obj, const ICFGNode* node) const;
|
|
74
74
|
|
|
75
|
+
/// Given a ValVar, find all use-site ICFGNodes
|
|
76
|
+
/// by following outgoing direct VFGEdges from its unique definition SVFGNode
|
|
77
|
+
const Set<const ICFGNode*> getUseSitesOfValVar(const ValVar* var) const;
|
|
78
|
+
|
|
79
|
+
/// Given a ValVar and its SVFGNode, find the definition-site ICFGNode
|
|
80
|
+
/// by following incoming direct VFGEdges (asserts unique definition)
|
|
81
|
+
const ICFGNode* getDefSiteOfValVar(const ValVar* var) const;
|
|
82
|
+
|
|
83
|
+
/// Given an ObjVar and its use-site ICFGNode, find the definition-site ICFGNode
|
|
84
|
+
/// by following incoming IndirectSVFGEdges whose pts contains the ObjVar (asserts unique definition)
|
|
85
|
+
const ICFGNode* getDefSiteOfObjVar(const ObjVar* obj, const ICFGNode* node) const;
|
|
86
|
+
|
|
75
87
|
/// Build WTO for each function using call graph SCC
|
|
76
88
|
void initWTO();
|
|
77
89
|
|
|
Binary file
|
|
@@ -116,7 +116,7 @@ public:
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
/// Retrieve abstract value for a top-level variable at a given ICFG node
|
|
119
|
-
const AbstractValue& getAbstractValue(const
|
|
119
|
+
const AbstractValue& getAbstractValue(const ValVar* var);
|
|
120
120
|
|
|
121
121
|
/// Retrieve abstract value for an address-taken variable at a given ICFG node
|
|
122
122
|
const AbstractValue& getAbstractValue(const ICFGNode* node, const ObjVar* var);
|
|
@@ -125,7 +125,7 @@ public:
|
|
|
125
125
|
const AbstractValue& getAbstractValue(const ICFGNode* node, const SVFVar* var);
|
|
126
126
|
|
|
127
127
|
/// Set abstract value for a top-level variable at a given ICFG node
|
|
128
|
-
void updateAbstractValue(const
|
|
128
|
+
void updateAbstractValue(const ValVar* var, const AbstractValue& val);
|
|
129
129
|
|
|
130
130
|
/// Set abstract value for an address-taken variable at a given ICFG node
|
|
131
131
|
void updateAbstractValue(const ICFGNode* node, const ObjVar* var, const AbstractValue& val);
|
|
Binary file
|