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
 
@@ -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 ICFGNode* node, const ValVar* var);
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 ICFGNode* node, const ValVar* var, const AbstractValue& val);
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-lib",
3
- "version": "1.0.2519",
3
+ "version": "1.0.2521",
4
4
  "description": "SVF's npm support",
5
5
  "main": "index.js",
6
6
  "scripts": {