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 |
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.
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] |
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.
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] |
boolean cz::muni::stanse::pointeranalyzer::shapirohorwitz::AbstractLocation::debugNames = false [static, package] |
If false, the name field will be ignored (speeds up analysis, but makes debugging harder)