de.unisaarland.cs.st.jerify.verifier.alias
Class AliasAnalysisVarHandle

java.lang.Object
  extended by de.unisaarland.cs.st.jerify.verifier.alias.AliasAnalysisVarHandle
Direct Known Subclasses:
AliasAnalysisFieldHandle

public class AliasAnalysisVarHandle
extends java.lang.Object

Represents a variable within one scope, it is used to hide all the details of tracking the aliasing. Users of the alias analysis, just get/ask (the alias analysis) for a variable handle. The handle can be used to get the aliasIDs the variable is (possibly) aliased with at the time in the analysis getIDs() is called (if the analysis continue the handle might return different IDs as e.g. assignments might change them ). There may be many different handles for the same variable.

Author:
Daniel Wand (typestate@ewand.de)

Constructor Summary
AliasAnalysisVarHandle(java.lang.String name)
           
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 java.util.Set<java.lang.Integer> getIDs()
          Returns the aliasIDs that this variable is possibly aliased to at the current stage of the analysis.
 int hashCode()
           
 boolean isField()
           
 java.lang.String toString()
           
 void updateIDs(java.util.Set<AliasAnalysisSource> assignment)
          Update the aliasIDs the variable is aliased to.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AliasAnalysisVarHandle

public AliasAnalysisVarHandle(java.lang.String name)
Method Detail

isField

public boolean isField()

getIDs

public java.util.Set<java.lang.Integer> getIDs()
Returns the aliasIDs that this variable is possibly aliased to at the current stage of the analysis.

Returns:

updateIDs

public void updateIDs(java.util.Set<AliasAnalysisSource> assignment)
Update the aliasIDs the variable is aliased to.

Parameters:
assignment - The Sources that provide the new aliasIDs.

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object