MCPcopy Create free account
hub / github.com/LFYSec/MScan / PointsToSet

Interface PointsToSet

src/main/java/pascal/taie/analysis/pta/pts/PointsToSet.java:35–89  ·  view source on GitHub ↗

Representation of points-to sets that consist of CSObj.

Source from the content-addressed store, hash-verified

33 * Representation of points-to sets that consist of {@link CSObj}.
34 */
35public interface PointsToSet extends Iterable<CSObj>, Copyable<PointsToSet> {
36
37 /**
38 * Adds an object to this set.
39 *
40 * @return true if this points-to set changed as a result of the call,
41 * otherwise false.
42 */
43 boolean addObject(CSObj obj);
44
45 /**
46 * Adds all objects in given pts to this set.
47 *
48 * @return true if this points-to set changed as a result of the call,
49 * otherwise false.
50 */
51 boolean addAll(PointsToSet pts);
52
53 /**
54 * Adds all objects in given pts to this set.
55 *
56 * @return the difference between {@code pts} and this set.
57 */
58 PointsToSet addAllDiff(PointsToSet pts);
59
60 /**
61 * @return true if this set contains given object, otherwise false.
62 */
63 boolean contains(CSObj obj);
64
65 /**
66 * @return whether this set if empty.
67 */
68 boolean isEmpty();
69
70 /**
71 * @return the number of objects in this set.
72 */
73 int size();
74
75 /**
76 * @return all objects in this set.
77 */
78 Set<CSObj> getObjects();
79
80 /**
81 * @return all objects in this set.
82 */
83 Stream<CSObj> objects();
84
85 @Override
86 default Iterator<CSObj> iterator() {
87 return getObjects().iterator();
88 }
89}

Callers 56

visitMethod · 0.95
addPointsToMethod · 0.95
addPFGEdgeMethod · 0.95
makeMethod · 0.95
onStartMethod · 0.65
addEntryMethod · 0.95
testMethod · 0.65
testPTAMethod · 0.65
testMethod · 0.65
composeArgsMethod · 0.65
testRemoveIfMethod · 0.65

Implementers 1

DelegatePointsToSetsrc/main/java/pascal/taie/analysis/pta

Calls

no outgoing calls

Tested by

no test coverage detected