scale.alias
Class AliasVar

java.lang.Object
  extended by scale.alias.AliasVar
Direct Known Subclasses:
TypeVar

public abstract class AliasVar
extends java.lang.Object

A class which maintains information about an expression (variable or access path) that may be involved in an alias.

$Id: AliasVar.java,v 1.25 2007-08-13 12:32:01 burrill Exp $

Copyright 2008 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.


Constructor Summary
AliasVar(Declaration decl)
          Create an alias variable object.
 
Method Summary
abstract  void allPointsTo(Vector<ECR> v)
          return all points-to relations from this type variable
abstract  void cleanup()
          Remove any un-needed stuff after analysis has been performed.
 java.lang.String getDeclName()
          Return the name of the alias variable.
 java.lang.String getDisplayLabel()
          Return a String suitable for labeling this node in a graphical display.
abstract  ECR getECR()
          Return the representative ECR associated with the type variable.
abstract  boolean isAlias()
          Return true if the alias variable is involved in an alias relationship.
abstract  Vector<ECR> pointsTo()
          Return the points-to relation for this alias variable.
abstract  int pointsToSize()
          Return the points-to size for this alias variable.
 java.lang.String toString()
          Return a string represention of an alias variable.
 java.lang.String toStringClass()
          Convert the class name of this node to a string representation.
 java.lang.String toStringSpecial()
          Return information specific to the derived class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AliasVar

public AliasVar(Declaration decl)
Create an alias variable object.

Method Detail

getDeclName

public java.lang.String getDeclName()
Return the name of the alias variable.


isAlias

public abstract boolean isAlias()
Return true if the alias variable is involved in an alias relationship.


pointsTo

public abstract Vector<ECR> pointsTo()
Return the points-to relation for this alias variable. The points-to relation is the list of alias variables that this one points to.

Returns:
the points-to relation for this alias variable.

getECR

public abstract ECR getECR()
Return the representative ECR associated with the type variable.


pointsToSize

public abstract int pointsToSize()
Return the points-to size for this alias variable. The points-to relation is the list of alias variables that this one points to.


toStringClass

public final java.lang.String toStringClass()
Convert the class name of this node to a string representation.


toString

public final java.lang.String toString()
Return a string represention of an alias variable.

Overrides:
toString in class java.lang.Object

getDisplayLabel

public java.lang.String getDisplayLabel()
Return a String suitable for labeling this node in a graphical display. This method should be over-ridden as it simplay returns the class name.


toStringSpecial

public java.lang.String toStringSpecial()
Return information specific to the derived class.


cleanup

public abstract void cleanup()
Remove any un-needed stuff after analysis has been performed.


allPointsTo

public abstract void allPointsTo(Vector<ECR> v)
return all points-to relations from this type variable