public class InstanceKey
extends java.lang.Object
StrongLocalMustAliasAnalysis
,
is guaranteed to represent a single runtime object within a
its declared method. If based on a (non-strong) LocalMustAliasAnalysis
,
it represents the value of a variable at a single location, which itself can
represent multiple runtime objects, if the location is contained in a loop.
See Sable TR 2007-8 for details.Modifier and Type | Field and Description |
---|---|
protected Local |
assignedLocal |
protected int |
hashCode |
protected LocalMustAliasAnalysis |
lmaa |
protected LocalMustNotAliasAnalysis |
lnma |
protected SootMethod |
owner |
protected PointsToSet |
pts |
protected Stmt |
stmtAfterAssignStmt |
Constructor and Description |
---|
InstanceKey(Local local,
Stmt stmt,
SootMethod owner,
LocalMustAliasAnalysis lmaa,
LocalMustNotAliasAnalysis lmna)
Creates a new instance key representing the value stored in local, just before
stmt.
|
Modifier and Type | Method and Description |
---|---|
protected int |
computeHashCode()
(Pre)computes the hash code.
|
boolean |
equals(java.lang.Object obj) |
Local |
getLocal() |
SootMethod |
getOwner() |
PointsToSet |
getPointsToSet() |
Stmt |
getStmt() |
int |
hashCode() |
boolean |
haveLocalInformation() |
boolean |
isOfReferenceType() |
boolean |
mayNotAlias(InstanceKey otherKey) |
boolean |
mustAlias(InstanceKey otherKey) |
java.lang.String |
toString() |
protected final Local assignedLocal
protected final LocalMustAliasAnalysis lmaa
protected final LocalMustNotAliasAnalysis lnma
protected final Stmt stmtAfterAssignStmt
protected final SootMethod owner
protected final int hashCode
protected final PointsToSet pts
public InstanceKey(Local local, Stmt stmt, SootMethod owner, LocalMustAliasAnalysis lmaa, LocalMustNotAliasAnalysis lmna)
local
- the local variable whose value this key representsstmt
- the statement at which this key represents the valueowner
- the method containing locallmaa
- a LocalMustAliasAnalysis
lmna
- a LocalMustNotAliasAnalysis
public boolean mustAlias(InstanceKey otherKey)
public boolean mayNotAlias(InstanceKey otherKey)
public PointsToSet getPointsToSet()
public Local getLocal()
public boolean haveLocalInformation()
public java.lang.String toString()
toString
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
protected int computeHashCode()
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public boolean isOfReferenceType()
public SootMethod getOwner()
public Stmt getStmt()