cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation Class Reference

Inheritance diagram for cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation:
[legend]
Collaboration diagram for cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation:
[legend]

List of all members.

Public Member Functions

PointerType getType ()
void setType (PointerType type)
String getName ()
int getCategory ()
 AbstractLocation (int category, String name, PointerType type)
 AbstractLocation (int category, String name)
void conditionalJoinWith (AbstractLocation that)
void notifyPointedFrom (AbstractLocationJoinListener what)
void joinWith (AbstractLocation that)
void notifyAbstractLocationsJoined (AbstractLocation oldClass, AbstractLocation newClass)
String toString ()

Static Public Member Functions

static AbstractLocation createVariable (CategorizationProvider catProvider, String name)

Static Package Attributes

static boolean debugNames = false


Detailed Description

Represents a single abstract location (equivanece class) used to describe memory locations.

Every class that stores references to AbstractLocation has to implement the AbstractLocationJoinListener interface and call notifyPointedFrom method on the AbstractLocation class to receive notifications about class merging.

Author:
Michal Strehovsky

Constructor & Destructor Documentation

cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::AbstractLocation ( int  category,
String  name,
PointerType  type 
) [inline]

cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::AbstractLocation ( int  category,
String  name 
) [inline]


Member Function Documentation

PointerType cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::getType (  )  [inline]

Returns the type associated with this AbstractLocation.

void cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::setType ( PointerType  type  )  [inline]

Sets the type associated with this AbstractLocation.

String cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::getName (  )  [inline]

Gets the name of this AbstractLocation.

int cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::getCategory (  )  [inline]

Gets the category number of this AbstractLocation.

void cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::conditionalJoinWith ( AbstractLocation  that  )  [inline]

Performs a conditional join. If no type is associated with given location, the join is deferred. Otherwise, it's performed.

void cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::notifyPointedFrom ( AbstractLocationJoinListener  what  )  [inline]

Notifies this AbstractLocation that it's pointed from another object. AbstractLocation will then call notifyAbstractLocationsJoined() if joined with another AbstractLocation.

void cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::joinWith ( AbstractLocation  that  )  [inline]

Joins this AbstractLocation with other AbstractLocation.

void cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::notifyAbstractLocationsJoined ( AbstractLocation  oldClass,
AbstractLocation  newClass 
) [inline]

Called when the abstract location this class points to has been joined with a new class. Implementers should replace all stored references to oldClass by newClass.

Parameters:
oldClass 
newClass 

Implements cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocationJoinListener.

String cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::toString (  )  [inline]

static AbstractLocation cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::createVariable ( CategorizationProvider  catProvider,
String  name 
) [inline, static]


Member Data Documentation

If false, the name field will be ignored (speeds up analysis, but makes debugging harder)


The documentation for this class was generated from the following file:

Generated on Thu Jan 13 16:24:09 2011 for Stanse by  doxygen 1.5.6