OA::UnknownLoc Class Reference

#include <UnknownLoc.hpp>

Inheritance diagram for OA::UnknownLoc:

Inheritance graph
[legend]
Collaboration diagram for OA::UnknownLoc:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 UnknownLoc ()
void acceptVisitor (LocationVisitor &pVisitor)
 UnknownLoc (UnknownLoc &other)
 copy constructor
 ~UnknownLoc ()
bool isaUnknown ()
OA_ptr< LocationgetBaseLoc ()
 An UnknownLoc returns itself as a base location.
bool isLocal ()
bool isUnique ()
bool operator< (Location &other)
bool operator== (Location &other)
 indicate whether this location is semantically equivalent
bool mayOverlap (Location &other)
bool mustOverlap (Location &other)
bool subSetOf (Location &other)
 Indicate whether this location is a subset of the given location.
void output (IRHandlesIRInterface &ir)
void dump (std::ostream &os)
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > pIR)
std::string toString (OA_ptr< IRHandlesIRInterface > pIR)
virtual int getOrder ()

Static Private Attributes

static const int sOrder = 100000000


Detailed Description

An unknown location may overlap with any location in the whole program.

Definition at line 24 of file UnknownLoc.hpp.


Constructor & Destructor Documentation

OA::UnknownLoc::UnknownLoc (  )  [inline]

Definition at line 26 of file UnknownLoc.hpp.

Referenced by getBaseLoc().

OA::UnknownLoc::UnknownLoc ( UnknownLoc other  )  [inline]

copy constructor

Definition at line 31 of file UnknownLoc.hpp.

OA::UnknownLoc::~UnknownLoc (  )  [inline]

Definition at line 33 of file UnknownLoc.hpp.


Member Function Documentation

void OA::UnknownLoc::acceptVisitor ( LocationVisitor pVisitor  )  [virtual]

Implements OA::Location.

Definition at line 21 of file UnknownLoc.cpp.

References OA::debug, OA_DEBUG_CTRL_MACRO, and OA::LocationVisitor::visitUnknownLoc().

Here is the call graph for this function:

bool OA::UnknownLoc::isaUnknown (  )  [inline, virtual]

Reimplemented from OA::Location.

Definition at line 38 of file UnknownLoc.hpp.

OA_ptr< Location > OA::UnknownLoc::getBaseLoc (  )  [virtual]

An UnknownLoc returns itself as a base location.

Implements OA::Location.

Definition at line 27 of file UnknownLoc.cpp.

References UnknownLoc().

Here is the call graph for this function:

bool OA::UnknownLoc::isLocal (  )  [inline, virtual]

true if the location block represents a local variable that is only visible within the current procedure or an unnamed variable that is allocated in the current procedure. If the current procedure is nested and has access to local variables of a parent procedure, those variables are not considered local for the current procedure.

Reimplemented from OA::Location.

Definition at line 46 of file UnknownLoc.hpp.

bool OA::UnknownLoc::isUnique (  )  [inline, virtual]

be because there could be multiple allocations at the same statement and they maybe lumped together depending on how much context is maintained. A LocBlock for an unnamed allocated memory block could be Unique if there is a different LocBlock for each possible context of the alloc. A local variable is always unique, allocated memory blocks may

Reimplemented from OA::Location.

Definition at line 47 of file UnknownLoc.hpp.

bool OA::UnknownLoc::operator< ( Location other  )  [virtual]

Locations are ordered first between Location subclasses based on their sOrder value. Then there is an ordering within each subclass.

Implements OA::Location.

Definition at line 40 of file UnknownLoc.cpp.

References OA::Location::getOrder(), and getOrder().

Here is the call graph for this function:

bool OA::UnknownLoc::operator== ( Location other  )  [virtual]

indicate whether this location is semantically equivalent

Implements OA::Location.

Definition at line 51 of file UnknownLoc.cpp.

References OA::Location::getOrder(), getOrder(), and OA::Location::isaUnknown().

Here is the call graph for this function:

bool OA::UnknownLoc::mayOverlap ( Location other  )  [inline, virtual]

Indicate whether this location may overlap with the given location either fully or partially.

Reimplemented from OA::Location.

Definition at line 59 of file UnknownLoc.hpp.

bool OA::UnknownLoc::mustOverlap ( Location other  )  [inline, virtual]

Indicate whether this location must overlap fully with the given location.

Reimplemented from OA::Location.

Definition at line 61 of file UnknownLoc.hpp.

bool OA::UnknownLoc::subSetOf ( Location other  )  [inline, virtual]

Indicate whether this location is a subset of the given location.

Reimplemented from OA::Location.

Definition at line 63 of file UnknownLoc.hpp.

void OA::UnknownLoc::output ( IRHandlesIRInterface ir  )  [virtual]

Implements OA::Annotation.

Definition at line 64 of file UnknownLoc.cpp.

References OA::Annotation::sOutBuild.

void OA::UnknownLoc::dump ( std::ostream &  os  ) 

Definition at line 71 of file UnknownLoc.cpp.

Referenced by dump().

void OA::UnknownLoc::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface pIR 
)

Definition at line 77 of file UnknownLoc.cpp.

References dump().

Here is the call graph for this function:

std::string OA::UnknownLoc::toString ( OA_ptr< IRHandlesIRInterface pIR  )  [virtual]

Implements OA::Location.

Definition at line 82 of file UnknownLoc.cpp.

virtual int OA::UnknownLoc::getOrder (  )  [inline, virtual]

Reimplemented from OA::Location.

Definition at line 78 of file UnknownLoc.hpp.

References sOrder.

Referenced by operator<(), and operator==().


Member Data Documentation

const int OA::UnknownLoc::sOrder = 100000000 [static, private]

Reimplemented from OA::Location.

Definition at line 81 of file UnknownLoc.hpp.

Referenced by getOrder().


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

Generated on Fri Nov 7 05:28:15 2008 for OpenAnalysis by  doxygen 1.5.5