svf-tools 1.0.1044 → 1.0.1045
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/package.json +1 -1
- package/svf/include/Graphs/BasicBlockG.h +2 -2
- package/svf/include/Graphs/CDG.h +1 -1
- package/svf/include/Graphs/CFLGraph.h +1 -1
- package/svf/include/Graphs/CHG.h +1 -1
- package/svf/include/Graphs/CallGraph.h +1 -1
- package/svf/include/Graphs/ConsGNode.h +1 -1
- package/svf/include/Graphs/GenericGraph.h +3 -3
- package/svf/include/Graphs/ICFGNode.h +6 -6
- package/svf/include/Graphs/VFGNode.h +20 -20
- package/svf/include/MTA/TCT.h +1 -1
- package/svf/include/SVFIR/SVFValue.h +2 -2
- package/svf/include/SVFIR/SVFVariables.h +28 -28
- package/svf/lib/SVFIR/SVFValue.cpp +1 -1
- package/svf-llvm/include/SVF-LLVM/BreakConstantExpr.h +1 -1
- package/svf-llvm/include/SVF-LLVM/CppUtil.h +1 -1
- package/svf-llvm/include/SVF-LLVM/LLVMModule.h +12 -12
- package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +2 -2
- package/svf-llvm/include/SVF-LLVM/ObjTypeInference.h +1 -1
- package/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +6 -6
- package/svf-llvm/include/SVF-LLVM/{SVFValue.h → SVFLLVMValue.h} +43 -43
- package/svf-llvm/include/SVF-LLVM/SVFModule.h +1 -1
- package/svf-llvm/lib/LLVMModule.cpp +13 -13
- package/svf-llvm/lib/LLVMUtil.cpp +4 -4
- package/svf-llvm/lib/SVFIRBuilder.cpp +14 -14
- package/svf-llvm/lib/SVFIRExtAPI.cpp +2 -2
- package/svf-llvm/lib/{SVFValue.cpp → SVFLLVMValue.cpp} +5 -5
- package/svf-llvm/lib/SVFModule.cpp +1 -1
- package/svf-llvm/lib/SymbolTableBuilder.cpp +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svf-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1045",
|
|
4
4
|
"description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -115,9 +115,9 @@ public:
|
|
|
115
115
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
static inline bool classof(const
|
|
118
|
+
static inline bool classof(const SVFValue* node)
|
|
119
119
|
{
|
|
120
|
-
return node->getNodeKind() ==
|
|
120
|
+
return node->getNodeKind() == SVFValue::BasicBlockKd;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
static inline bool classof(const SVFBasicBlock* node)
|
package/svf/include/Graphs/CDG.h
CHANGED
package/svf/include/Graphs/CHG.h
CHANGED
|
@@ -140,7 +140,7 @@ protected:
|
|
|
140
140
|
* Generic node on the graph as base class
|
|
141
141
|
*/
|
|
142
142
|
template<class NodeTy,class EdgeTy>
|
|
143
|
-
class GenericNode: public
|
|
143
|
+
class GenericNode: public SVFValue
|
|
144
144
|
{
|
|
145
145
|
friend class SVFIRWriter;
|
|
146
146
|
friend class SVFIRReader;
|
|
@@ -163,7 +163,7 @@ private:
|
|
|
163
163
|
|
|
164
164
|
public:
|
|
165
165
|
/// Constructor
|
|
166
|
-
GenericNode(NodeID i, GNodeK k, const SVFType* svfType = nullptr):
|
|
166
|
+
GenericNode(NodeID i, GNodeK k, const SVFType* svfType = nullptr): SVFValue(i, k, svfType)
|
|
167
167
|
{
|
|
168
168
|
|
|
169
169
|
}
|
|
@@ -327,7 +327,7 @@ public:
|
|
|
327
327
|
return true;
|
|
328
328
|
}
|
|
329
329
|
|
|
330
|
-
static inline bool classof(const
|
|
330
|
+
static inline bool classof(const SVFValue*)
|
|
331
331
|
{
|
|
332
332
|
return true;
|
|
333
333
|
}
|
|
@@ -137,7 +137,7 @@ public:
|
|
|
137
137
|
return isICFGNodeKinds(node->getNodeKind());
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
static inline bool classof(const
|
|
140
|
+
static inline bool classof(const SVFValue* node)
|
|
141
141
|
{
|
|
142
142
|
return isICFGNodeKinds(node->getNodeKind());
|
|
143
143
|
}
|
|
@@ -261,7 +261,7 @@ public:
|
|
|
261
261
|
return isInterICFGNodeKind(node->getNodeKind());
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
-
static inline bool classof(const
|
|
264
|
+
static inline bool classof(const SVFValue* node)
|
|
265
265
|
{
|
|
266
266
|
return isInterICFGNodeKind(node->getNodeKind());
|
|
267
267
|
}
|
|
@@ -331,7 +331,7 @@ public:
|
|
|
331
331
|
return node->getNodeKind() == FunEntryBlock;
|
|
332
332
|
}
|
|
333
333
|
|
|
334
|
-
static inline bool classof(const
|
|
334
|
+
static inline bool classof(const SVFValue*node)
|
|
335
335
|
{
|
|
336
336
|
return node->getNodeKind() == FunEntryBlock;
|
|
337
337
|
}
|
|
@@ -399,7 +399,7 @@ public:
|
|
|
399
399
|
return node->getNodeKind() == FunExitBlock;
|
|
400
400
|
}
|
|
401
401
|
|
|
402
|
-
static inline bool classof(const
|
|
402
|
+
static inline bool classof(const SVFValue*node)
|
|
403
403
|
{
|
|
404
404
|
return node->getNodeKind() == FunExitBlock;
|
|
405
405
|
}
|
|
@@ -571,7 +571,7 @@ public:
|
|
|
571
571
|
return node->getNodeKind() == FunCallBlock;
|
|
572
572
|
}
|
|
573
573
|
|
|
574
|
-
static inline bool classof(const
|
|
574
|
+
static inline bool classof(const SVFValue*node)
|
|
575
575
|
{
|
|
576
576
|
return node->getNodeKind() == FunCallBlock;
|
|
577
577
|
}
|
|
@@ -650,7 +650,7 @@ public:
|
|
|
650
650
|
{
|
|
651
651
|
return node->getNodeKind() == FunRetBlock;
|
|
652
652
|
}
|
|
653
|
-
static inline bool classof(const
|
|
653
|
+
static inline bool classof(const SVFValue*node)
|
|
654
654
|
{
|
|
655
655
|
return node->getNodeKind() == FunRetBlock;
|
|
656
656
|
}
|
|
@@ -112,7 +112,7 @@ public:
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
|
|
115
|
-
static inline bool classof(const
|
|
115
|
+
static inline bool classof(const SVFValue* node)
|
|
116
116
|
{
|
|
117
117
|
return isVFGNodeKinds(node->getNodeKind());
|
|
118
118
|
}
|
|
@@ -184,7 +184,7 @@ public:
|
|
|
184
184
|
{
|
|
185
185
|
return isStmtVFGNodeKinds(node->getNodeKind());
|
|
186
186
|
}
|
|
187
|
-
static inline bool classof(const
|
|
187
|
+
static inline bool classof(const SVFValue*node)
|
|
188
188
|
{
|
|
189
189
|
return isStmtVFGNodeKinds(node->getNodeKind());
|
|
190
190
|
}
|
|
@@ -228,7 +228,7 @@ public:
|
|
|
228
228
|
{
|
|
229
229
|
return node->getNodeKind() == Load;
|
|
230
230
|
}
|
|
231
|
-
static inline bool classof(const
|
|
231
|
+
static inline bool classof(const SVFValue*node)
|
|
232
232
|
{
|
|
233
233
|
return node->getNodeKind() == Load;
|
|
234
234
|
}
|
|
@@ -273,7 +273,7 @@ public:
|
|
|
273
273
|
{
|
|
274
274
|
return node->getNodeKind() == Store;
|
|
275
275
|
}
|
|
276
|
-
static inline bool classof(const
|
|
276
|
+
static inline bool classof(const SVFValue*node)
|
|
277
277
|
{
|
|
278
278
|
return node->getNodeKind() == Store;
|
|
279
279
|
}
|
|
@@ -318,7 +318,7 @@ public:
|
|
|
318
318
|
{
|
|
319
319
|
return node->getNodeKind() == Copy;
|
|
320
320
|
}
|
|
321
|
-
static inline bool classof(const
|
|
321
|
+
static inline bool classof(const SVFValue*node)
|
|
322
322
|
{
|
|
323
323
|
return node->getNodeKind() == Copy;
|
|
324
324
|
}
|
|
@@ -364,7 +364,7 @@ public:
|
|
|
364
364
|
{
|
|
365
365
|
return node->getNodeKind() == Cmp;
|
|
366
366
|
}
|
|
367
|
-
static inline bool classof(const
|
|
367
|
+
static inline bool classof(const SVFValue*node)
|
|
368
368
|
{
|
|
369
369
|
return node->getNodeKind() == Cmp;
|
|
370
370
|
}
|
|
@@ -441,7 +441,7 @@ public:
|
|
|
441
441
|
{
|
|
442
442
|
return node->getNodeKind() == BinaryOp;
|
|
443
443
|
}
|
|
444
|
-
static inline bool classof(const
|
|
444
|
+
static inline bool classof(const SVFValue*node)
|
|
445
445
|
{
|
|
446
446
|
return node->getNodeKind() == BinaryOp;
|
|
447
447
|
}
|
|
@@ -515,7 +515,7 @@ public:
|
|
|
515
515
|
{
|
|
516
516
|
return node->getNodeKind() == UnaryOp;
|
|
517
517
|
}
|
|
518
|
-
static inline bool classof(const
|
|
518
|
+
static inline bool classof(const SVFValue*node)
|
|
519
519
|
{
|
|
520
520
|
return node->getNodeKind() == UnaryOp;
|
|
521
521
|
}
|
|
@@ -587,7 +587,7 @@ public:
|
|
|
587
587
|
{
|
|
588
588
|
return node->getNodeKind() == Branch;
|
|
589
589
|
}
|
|
590
|
-
static inline bool classof(const
|
|
590
|
+
static inline bool classof(const SVFValue*node)
|
|
591
591
|
{
|
|
592
592
|
return node->getNodeKind() == Branch;
|
|
593
593
|
}
|
|
@@ -653,7 +653,7 @@ public:
|
|
|
653
653
|
{
|
|
654
654
|
return node->getNodeKind() == Gep;
|
|
655
655
|
}
|
|
656
|
-
static inline bool classof(const
|
|
656
|
+
static inline bool classof(const SVFValue*node)
|
|
657
657
|
{
|
|
658
658
|
return node->getNodeKind() == Gep;
|
|
659
659
|
}
|
|
@@ -730,7 +730,7 @@ public:
|
|
|
730
730
|
{
|
|
731
731
|
return isPHIVFGNodeKinds(node->getNodeKind());
|
|
732
732
|
}
|
|
733
|
-
static inline bool classof(const
|
|
733
|
+
static inline bool classof(const SVFValue*node)
|
|
734
734
|
{
|
|
735
735
|
return isPHIVFGNodeKinds(node->getNodeKind());
|
|
736
736
|
}
|
|
@@ -790,7 +790,7 @@ public:
|
|
|
790
790
|
{
|
|
791
791
|
return node->getNodeKind() == TIntraPhi;
|
|
792
792
|
}
|
|
793
|
-
static inline bool classof(const
|
|
793
|
+
static inline bool classof(const SVFValue*node)
|
|
794
794
|
{
|
|
795
795
|
return node->getNodeKind() == TIntraPhi;
|
|
796
796
|
}
|
|
@@ -831,7 +831,7 @@ public:
|
|
|
831
831
|
{
|
|
832
832
|
return node->getNodeKind() == Addr;
|
|
833
833
|
}
|
|
834
|
-
static inline bool classof(const
|
|
834
|
+
static inline bool classof(const SVFValue*node)
|
|
835
835
|
{
|
|
836
836
|
return node->getNodeKind() == Addr;
|
|
837
837
|
}
|
|
@@ -875,7 +875,7 @@ public:
|
|
|
875
875
|
{
|
|
876
876
|
return isArgumentVFGNodeKinds(node->getNodeKind());
|
|
877
877
|
}
|
|
878
|
-
static inline bool classof(const
|
|
878
|
+
static inline bool classof(const SVFValue*node)
|
|
879
879
|
{
|
|
880
880
|
return isArgumentVFGNodeKinds(node->getNodeKind());
|
|
881
881
|
}
|
|
@@ -929,7 +929,7 @@ public:
|
|
|
929
929
|
{
|
|
930
930
|
return node->getNodeKind() == AParm;
|
|
931
931
|
}
|
|
932
|
-
static inline bool classof(const
|
|
932
|
+
static inline bool classof(const SVFValue*node)
|
|
933
933
|
{
|
|
934
934
|
return node->getNodeKind() == AParm;
|
|
935
935
|
}
|
|
@@ -1003,7 +1003,7 @@ public:
|
|
|
1003
1003
|
{
|
|
1004
1004
|
return node->getNodeKind() == FParm;
|
|
1005
1005
|
}
|
|
1006
|
-
static inline bool classof(const
|
|
1006
|
+
static inline bool classof(const SVFValue*node)
|
|
1007
1007
|
{
|
|
1008
1008
|
return node->getNodeKind() == FParm;
|
|
1009
1009
|
}
|
|
@@ -1065,7 +1065,7 @@ public:
|
|
|
1065
1065
|
{
|
|
1066
1066
|
return node->getNodeKind() == ARet;
|
|
1067
1067
|
}
|
|
1068
|
-
static inline bool classof(const
|
|
1068
|
+
static inline bool classof(const SVFValue*node)
|
|
1069
1069
|
{
|
|
1070
1070
|
return node->getNodeKind() == ARet;
|
|
1071
1071
|
}
|
|
@@ -1135,7 +1135,7 @@ public:
|
|
|
1135
1135
|
{
|
|
1136
1136
|
return node->getNodeKind() == FRet;
|
|
1137
1137
|
}
|
|
1138
|
-
static inline bool classof(const
|
|
1138
|
+
static inline bool classof(const SVFValue*node)
|
|
1139
1139
|
{
|
|
1140
1140
|
return node->getNodeKind() == FRet;
|
|
1141
1141
|
}
|
|
@@ -1198,7 +1198,7 @@ public:
|
|
|
1198
1198
|
{
|
|
1199
1199
|
return node->getNodeKind() == TInterPhi;
|
|
1200
1200
|
}
|
|
1201
|
-
static inline bool classof(const
|
|
1201
|
+
static inline bool classof(const SVFValue*node)
|
|
1202
1202
|
{
|
|
1203
1203
|
return node->getNodeKind() == TInterPhi;
|
|
1204
1204
|
}
|
|
@@ -1250,7 +1250,7 @@ public:
|
|
|
1250
1250
|
{
|
|
1251
1251
|
return node->getNodeKind() == NPtr;
|
|
1252
1252
|
}
|
|
1253
|
-
static inline bool classof(const
|
|
1253
|
+
static inline bool classof(const SVFValue*node)
|
|
1254
1254
|
{
|
|
1255
1255
|
return node->getNodeKind() == NPtr;
|
|
1256
1256
|
}
|
package/svf/include/MTA/TCT.h
CHANGED
|
@@ -38,7 +38,7 @@ namespace SVF
|
|
|
38
38
|
{
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
class
|
|
41
|
+
class SVFValue
|
|
42
42
|
{
|
|
43
43
|
|
|
44
44
|
public:
|
|
@@ -149,7 +149,7 @@ public:
|
|
|
149
149
|
};
|
|
150
150
|
|
|
151
151
|
|
|
152
|
-
|
|
152
|
+
SVFValue(NodeID i, GNodeK k, const SVFType* ty = nullptr): id(i),nodeKind(k), type(ty)
|
|
153
153
|
{
|
|
154
154
|
|
|
155
155
|
}
|
|
@@ -177,7 +177,7 @@ public:
|
|
|
177
177
|
return isSVFVarKind(node->getNodeKind());
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
static inline bool classof(const
|
|
180
|
+
static inline bool classof(const SVFValue* node)
|
|
181
181
|
{
|
|
182
182
|
return isSVFVarKind(node->getNodeKind());
|
|
183
183
|
}
|
|
@@ -270,7 +270,7 @@ public:
|
|
|
270
270
|
{
|
|
271
271
|
return isValVarKinds(node->getNodeKind());
|
|
272
272
|
}
|
|
273
|
-
static inline bool classof(const
|
|
273
|
+
static inline bool classof(const SVFValue* node)
|
|
274
274
|
{
|
|
275
275
|
return isValVarKinds(node->getNodeKind());
|
|
276
276
|
}
|
|
@@ -328,7 +328,7 @@ public:
|
|
|
328
328
|
{
|
|
329
329
|
return isObjVarKinds(node->getNodeKind());
|
|
330
330
|
}
|
|
331
|
-
static inline bool classof(const
|
|
331
|
+
static inline bool classof(const SVFValue* node)
|
|
332
332
|
{
|
|
333
333
|
return isObjVarKinds(node->getNodeKind());
|
|
334
334
|
}
|
|
@@ -382,7 +382,7 @@ public:
|
|
|
382
382
|
{
|
|
383
383
|
return node->getNodeKind() == ArgValNode;
|
|
384
384
|
}
|
|
385
|
-
static inline bool classof(const
|
|
385
|
+
static inline bool classof(const SVFValue* node)
|
|
386
386
|
{
|
|
387
387
|
return node->getNodeKind() == ArgValNode;
|
|
388
388
|
}
|
|
@@ -454,7 +454,7 @@ public:
|
|
|
454
454
|
{
|
|
455
455
|
return node->getNodeKind() == SVFVar::GepValNode;
|
|
456
456
|
}
|
|
457
|
-
static inline bool classof(const
|
|
457
|
+
static inline bool classof(const SVFValue* node)
|
|
458
458
|
{
|
|
459
459
|
return node->getNodeKind() == SVFVar::GepValNode;
|
|
460
460
|
}
|
|
@@ -551,7 +551,7 @@ public:
|
|
|
551
551
|
{
|
|
552
552
|
return isBaseObjVarKinds(node->getNodeKind());
|
|
553
553
|
}
|
|
554
|
-
static inline bool classof(const
|
|
554
|
+
static inline bool classof(const SVFValue* node)
|
|
555
555
|
{
|
|
556
556
|
return isBaseObjVarKinds(node->getNodeKind());
|
|
557
557
|
}
|
|
@@ -754,7 +754,7 @@ public:
|
|
|
754
754
|
{
|
|
755
755
|
return node->getNodeKind() == SVFVar::GepObjNode;
|
|
756
756
|
}
|
|
757
|
-
static inline bool classof(const
|
|
757
|
+
static inline bool classof(const SVFValue* node)
|
|
758
758
|
{
|
|
759
759
|
return node->getNodeKind() == SVFVar::GepObjNode;
|
|
760
760
|
}
|
|
@@ -863,7 +863,7 @@ public:
|
|
|
863
863
|
{
|
|
864
864
|
return node->getNodeKind() == HeapObjNode;
|
|
865
865
|
}
|
|
866
|
-
static inline bool classof(const
|
|
866
|
+
static inline bool classof(const SVFValue* node)
|
|
867
867
|
{
|
|
868
868
|
return node->getNodeKind() == HeapObjNode;
|
|
869
869
|
}
|
|
@@ -926,7 +926,7 @@ public:
|
|
|
926
926
|
{
|
|
927
927
|
return node->getNodeKind() == StackObjNode;
|
|
928
928
|
}
|
|
929
|
-
static inline bool classof(const
|
|
929
|
+
static inline bool classof(const SVFValue* node)
|
|
930
930
|
{
|
|
931
931
|
return node->getNodeKind() == StackObjNode;
|
|
932
932
|
}
|
|
@@ -1006,7 +1006,7 @@ public:
|
|
|
1006
1006
|
{
|
|
1007
1007
|
return node->getNodeKind() == FunObjNode;
|
|
1008
1008
|
}
|
|
1009
|
-
static inline bool classof(const
|
|
1009
|
+
static inline bool classof(const SVFValue* node)
|
|
1010
1010
|
{
|
|
1011
1011
|
return node->getNodeKind() == FunObjNode;
|
|
1012
1012
|
}
|
|
@@ -1245,7 +1245,7 @@ public:
|
|
|
1245
1245
|
{
|
|
1246
1246
|
return node->getNodeKind() == FunValNode;
|
|
1247
1247
|
}
|
|
1248
|
-
static inline bool classof(const
|
|
1248
|
+
static inline bool classof(const SVFValue* node)
|
|
1249
1249
|
{
|
|
1250
1250
|
return node->getNodeKind() == FunValNode;
|
|
1251
1251
|
}
|
|
@@ -1294,7 +1294,7 @@ public:
|
|
|
1294
1294
|
{
|
|
1295
1295
|
return node->getNodeKind() == GlobalValNode;
|
|
1296
1296
|
}
|
|
1297
|
-
static inline bool classof(const
|
|
1297
|
+
static inline bool classof(const SVFValue* node)
|
|
1298
1298
|
{
|
|
1299
1299
|
return node->getNodeKind() == GlobalValNode;
|
|
1300
1300
|
}
|
|
@@ -1335,7 +1335,7 @@ public:
|
|
|
1335
1335
|
{
|
|
1336
1336
|
return node->getNodeKind() == ConstAggValNode;
|
|
1337
1337
|
}
|
|
1338
|
-
static inline bool classof(const
|
|
1338
|
+
static inline bool classof(const SVFValue* node)
|
|
1339
1339
|
{
|
|
1340
1340
|
return node->getNodeKind() == ConstAggValNode;
|
|
1341
1341
|
}
|
|
@@ -1387,7 +1387,7 @@ public:
|
|
|
1387
1387
|
{
|
|
1388
1388
|
return isConstantDataValVar(node->getNodeKind());
|
|
1389
1389
|
}
|
|
1390
|
-
static inline bool classof(const
|
|
1390
|
+
static inline bool classof(const SVFValue* node)
|
|
1391
1391
|
{
|
|
1392
1392
|
return isConstantDataValVar(node->getNodeKind());
|
|
1393
1393
|
}
|
|
@@ -1442,7 +1442,7 @@ public:
|
|
|
1442
1442
|
{
|
|
1443
1443
|
return node->getNodeKind() == BlackHoleValNode;
|
|
1444
1444
|
}
|
|
1445
|
-
static inline bool classof(const
|
|
1445
|
+
static inline bool classof(const SVFValue* node)
|
|
1446
1446
|
{
|
|
1447
1447
|
return node->getNodeKind() == BlackHoleValNode;
|
|
1448
1448
|
}
|
|
@@ -1496,7 +1496,7 @@ public:
|
|
|
1496
1496
|
{
|
|
1497
1497
|
return node->getNodeKind() == ConstFPValNode;
|
|
1498
1498
|
}
|
|
1499
|
-
static inline bool classof(const
|
|
1499
|
+
static inline bool classof(const SVFValue* node)
|
|
1500
1500
|
{
|
|
1501
1501
|
return node->getNodeKind() == ConstFPValNode;
|
|
1502
1502
|
}
|
|
@@ -1548,7 +1548,7 @@ public:
|
|
|
1548
1548
|
{
|
|
1549
1549
|
return node->getNodeKind() == ConstIntValNode;
|
|
1550
1550
|
}
|
|
1551
|
-
static inline bool classof(const
|
|
1551
|
+
static inline bool classof(const SVFValue* node)
|
|
1552
1552
|
{
|
|
1553
1553
|
return node->getNodeKind() == ConstIntValNode;
|
|
1554
1554
|
}
|
|
@@ -1602,7 +1602,7 @@ public:
|
|
|
1602
1602
|
{
|
|
1603
1603
|
return node->getNodeKind() == ConstNullptrValNode;
|
|
1604
1604
|
}
|
|
1605
|
-
static inline bool classof(const
|
|
1605
|
+
static inline bool classof(const SVFValue* node)
|
|
1606
1606
|
{
|
|
1607
1607
|
return node->getNodeKind() == ConstNullptrValNode;
|
|
1608
1608
|
}
|
|
@@ -1655,7 +1655,7 @@ public:
|
|
|
1655
1655
|
{
|
|
1656
1656
|
return node->getNodeKind() == GlobalObjNode;
|
|
1657
1657
|
}
|
|
1658
|
-
static inline bool classof(const
|
|
1658
|
+
static inline bool classof(const SVFValue* node)
|
|
1659
1659
|
{
|
|
1660
1660
|
return node->getNodeKind() == GlobalObjNode;
|
|
1661
1661
|
}
|
|
@@ -1701,7 +1701,7 @@ public:
|
|
|
1701
1701
|
{
|
|
1702
1702
|
return node->getNodeKind() == ConstAggObjNode;
|
|
1703
1703
|
}
|
|
1704
|
-
static inline bool classof(const
|
|
1704
|
+
static inline bool classof(const SVFValue* node)
|
|
1705
1705
|
{
|
|
1706
1706
|
return node->getNodeKind() == ConstAggObjNode;
|
|
1707
1707
|
}
|
|
@@ -1759,7 +1759,7 @@ public:
|
|
|
1759
1759
|
return isConstantDataObjVarKinds(node->getNodeKind());
|
|
1760
1760
|
}
|
|
1761
1761
|
|
|
1762
|
-
static inline bool classof(const
|
|
1762
|
+
static inline bool classof(const SVFValue* node)
|
|
1763
1763
|
{
|
|
1764
1764
|
return isConstantDataObjVarKinds(node->getNodeKind());
|
|
1765
1765
|
}
|
|
@@ -1826,7 +1826,7 @@ public:
|
|
|
1826
1826
|
return node->getNodeKind() == SVFVar::ConstFPObjNode;
|
|
1827
1827
|
}
|
|
1828
1828
|
|
|
1829
|
-
static inline bool classof(const
|
|
1829
|
+
static inline bool classof(const SVFValue* node)
|
|
1830
1830
|
{
|
|
1831
1831
|
return node->getNodeKind() == SVFVar::ConstFPObjNode;
|
|
1832
1832
|
}
|
|
@@ -1890,7 +1890,7 @@ public:
|
|
|
1890
1890
|
return node->getNodeKind() == SVFVar::ConstIntObjNode;
|
|
1891
1891
|
}
|
|
1892
1892
|
|
|
1893
|
-
static inline bool classof(const
|
|
1893
|
+
static inline bool classof(const SVFValue* node)
|
|
1894
1894
|
{
|
|
1895
1895
|
return node->getNodeKind() == SVFVar::ConstIntObjNode;
|
|
1896
1896
|
}
|
|
@@ -1956,7 +1956,7 @@ public:
|
|
|
1956
1956
|
return node->getNodeKind() == SVFVar::ConstNullptrObjNode;
|
|
1957
1957
|
}
|
|
1958
1958
|
|
|
1959
|
-
static inline bool classof(const
|
|
1959
|
+
static inline bool classof(const SVFValue* node)
|
|
1960
1960
|
{
|
|
1961
1961
|
return node->getNodeKind() == SVFVar::ConstNullptrObjNode;
|
|
1962
1962
|
}
|
|
@@ -2005,7 +2005,7 @@ public:
|
|
|
2005
2005
|
{
|
|
2006
2006
|
return node->getNodeKind() == SVFVar::RetValNode;
|
|
2007
2007
|
}
|
|
2008
|
-
static inline bool classof(const
|
|
2008
|
+
static inline bool classof(const SVFValue* node)
|
|
2009
2009
|
{
|
|
2010
2010
|
return node->getNodeKind() == SVFVar::RetValNode;
|
|
2011
2011
|
}
|
|
@@ -2062,7 +2062,7 @@ public:
|
|
|
2062
2062
|
{
|
|
2063
2063
|
return node->getNodeKind() == SVFVar::VarargValNode;
|
|
2064
2064
|
}
|
|
2065
|
-
static inline bool classof(const
|
|
2065
|
+
static inline bool classof(const SVFValue* node)
|
|
2066
2066
|
{
|
|
2067
2067
|
return node->getNodeKind() == SVFVar::VarargValNode;
|
|
2068
2068
|
}
|
|
@@ -2112,7 +2112,7 @@ public:
|
|
|
2112
2112
|
{
|
|
2113
2113
|
return node->getNodeKind() == SVFVar::DummyValNode;
|
|
2114
2114
|
}
|
|
2115
|
-
static inline bool classof(const
|
|
2115
|
+
static inline bool classof(const SVFValue* node)
|
|
2116
2116
|
{
|
|
2117
2117
|
return node->getNodeKind() == SVFVar::DummyValNode;
|
|
2118
2118
|
}
|
|
@@ -2173,7 +2173,7 @@ public:
|
|
|
2173
2173
|
return node->getNodeKind() == SVFVar::DummyObjNode;
|
|
2174
2174
|
}
|
|
2175
2175
|
|
|
2176
|
-
static inline bool classof(const
|
|
2176
|
+
static inline bool classof(const SVFValue* node)
|
|
2177
2177
|
{
|
|
2178
2178
|
return node->getNodeKind() == SVFVar::DummyObjNode;
|
|
2179
2179
|
}
|
|
@@ -152,7 +152,7 @@ bool SVFLoopAndDomInfo::isLoopHeader(const SVFBasicBlock* bb) const
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
__attribute__((weak))
|
|
155
|
-
const std::string
|
|
155
|
+
const std::string SVFValue::valueOnlyToString() const
|
|
156
156
|
{
|
|
157
157
|
assert("SVFBaseNode::valueOnlyToString should be implemented or supported by fronted" && false);
|
|
158
158
|
abort();
|