edu.cmu.cs.crystal.tac
Class Variable

java.lang.Object
  extended by edu.cmu.cs.crystal.tac.Variable
Direct Known Subclasses:
KeywordVariable, SourceVariable, TempVariable, TypeVariable

public abstract class Variable
extends java.lang.Object

This class is the abstract super type of all variables in the three address code representation of a given Java program. Note that the only thing all the different types of variables have is that they all have a type. There are several different variable types that extend this type and in general are much more interesting than this class. These subclasses include 'temporary' variables in three address code as well as variables that correspond with actual Java source code variables.

Author:
Kevin Bierhoff

Constructor Summary
Variable()
           
 
Method Summary
abstract
<T> T
dispatch(IVariableVisitor<T> visitor)
           
 java.lang.String getSourceString()
          Returns a string representing this variable in the source.
 boolean isUnqualifiedSuper()
           
 boolean isUnqualifiedThis()
           
abstract  ITypeBinding resolveType()
          null or the type binding of this variable.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Variable

public Variable()
Method Detail

resolveType

public abstract ITypeBinding resolveType()
null or the type binding of this variable.

See Also:
Expression.resolveTypeBinding()

getSourceString

public java.lang.String getSourceString()
Returns a string representing this variable in the source.

Returns:
String representing this variable in the source.

dispatch

public abstract <T> T dispatch(IVariableVisitor<T> visitor)

isUnqualifiedSuper

public boolean isUnqualifiedSuper()

isUnqualifiedThis

public boolean isUnqualifiedThis()