Stanse  -1
Public Member Functions | Static Public Member Functions | List of all members
cz.muni.stanse.pointeranalyzer.shapirohorwitz.AbstractLocation Class Reference
Inheritance diagram for cz.muni.stanse.pointeranalyzer.shapirohorwitz.AbstractLocation:
Inheritance graph
[legend]
Collaboration diagram for cz.muni.stanse.pointeranalyzer.shapirohorwitz.AbstractLocation:
Collaboration graph
[legend]

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)
 

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

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.

static AbstractLocation cz.muni.stanse.pointeranalyzer.shapirohorwitz.AbstractLocation.createVariable ( CategorizationProvider  catProvider,
String  name 
)
inlinestatic
int cz.muni.stanse.pointeranalyzer.shapirohorwitz.AbstractLocation.getCategory ( )
inline

Gets the category number of this AbstractLocation.

String cz.muni.stanse.pointeranalyzer.shapirohorwitz.AbstractLocation.getName ( )
inline

Gets the name of this AbstractLocation.

PointerType cz.muni.stanse.pointeranalyzer.shapirohorwitz.AbstractLocation.getType ( )
inline

Returns the type associated with this 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.

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.setType ( PointerType  type)
inline

Sets the type associated with this AbstractLocation.

String cz.muni.stanse.pointeranalyzer.shapirohorwitz.AbstractLocation.toString ( )
inline

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