public abstract class PtSensVisitor<VarType extends ContextVar>
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
java.util.List<VarType> |
outList |
protected GeomPointsTo |
ptsProvider |
protected boolean |
readyToUse |
protected java.util.Map<Node,java.util.List<VarType>> |
tableView |
Constructor and Description |
---|
PtSensVisitor() |
Modifier and Type | Method and Description |
---|---|
void |
debugPrint()
Print the objects.
|
void |
finish()
Called after each round of collection.
|
java.util.List<VarType> |
getCSList(Node var)
Obtain the list of context sensitive objects pointed to by var.
|
boolean |
getUsageState()
The visitor contains valid information only when this function returns true.
|
boolean |
hasNonEmptyIntersection(PtSensVisitor<VarType> other)
Tests if two containers have contain same things.
|
int |
numOfDiffObjects()
Return the number of different points-to targets.
|
void |
prepare()
Called before each round of collection.
|
PointsToSet |
toSparkCompatiableResult(VarNode vn)
Transform the result to SPARK style context insensitive points-to set.
|
abstract boolean |
visit(Node var,
long L,
long R,
int sm_int)
We use visitor pattern to collect contexts.
|
protected boolean readyToUse
protected GeomPointsTo ptsProvider
public java.util.List<VarType extends ContextVar> outList
protected java.util.Map<Node,java.util.List<VarType extends ContextVar>> tableView
public void prepare()
public void finish()
public boolean getUsageState()
public int numOfDiffObjects()
public boolean hasNonEmptyIntersection(PtSensVisitor<VarType> other)
public java.util.List<VarType> getCSList(Node var)
var
- public PointsToSet toSparkCompatiableResult(VarNode vn)
vn:
- the querying pointerpublic void debugPrint()
public abstract boolean visit(Node var, long L, long R, int sm_int)
var
- L
- R
- sm_int
- : the integer ID of the SootMethod