#include <LocFieldSubSet.hpp>


Public Member Functions | |
| LocFieldSubSet (OA_ptr< Location > loc, std::string fieldName) | |
| LocFieldSubSet (LocFieldSubSet &other) | |
| copy constructor | |
| ~LocFieldSubSet () | |
| void | acceptVisitor (LocationVisitor &pVisitor) |
| bool | isaFieldSubSet () |
| bool | isFull () |
| something useful to have for all LocSubSet's | |
| string | getFieldName () |
| bool | operator< (Location &other) |
| bool | operator== (Location &other) |
| bool | mayOverlap (Location &other) |
| bool | mustOverlap (Location &other) |
| bool | subSetOf (Location &other) |
| 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 () |
Private Attributes | |
| string | mFieldName |
Static Private Attributes | |
| static const int | sOrder = 500 |
The LocFieldSubSet describes a subset for a location with a field access. For example, the memory reference a.b could be mapped to LocFieldSubSet( b, NamedLoc(a) ) and the memory reference a->b could be mapped to LocFieldSubSet( b, UnnamedLoc(a = new A;) ).
Definition at line 27 of file LocFieldSubSet.hpp.
Definition at line 29 of file LocFieldSubSet.hpp.
| OA::LocFieldSubSet::LocFieldSubSet | ( | LocFieldSubSet & | other | ) | [inline] |
copy constructor
Definition at line 33 of file LocFieldSubSet.hpp.
| OA::LocFieldSubSet::~LocFieldSubSet | ( | ) | [inline] |
Definition at line 36 of file LocFieldSubSet.hpp.
| void OA::LocFieldSubSet::acceptVisitor | ( | LocationVisitor & | pVisitor | ) | [virtual] |
Reimplemented from OA::LocSubSet.
Definition at line 21 of file LocFieldSubSet.cpp.
References OA::debug, OA_DEBUG_CTRL_MACRO, and OA::LocationVisitor::visitLocFieldSubSet().

| void OA::LocFieldSubSet::dump | ( | std::ostream & | os, | |
| OA_ptr< IRHandlesIRInterface > | pIR | |||
| ) |
Reimplemented from OA::LocSubSet.
Definition at line 147 of file LocFieldSubSet.cpp.
References OA::OA_ptr< T >::dump(), OA::LocSubSet::getLoc(), and mFieldName.

| void OA::LocFieldSubSet::dump | ( | std::ostream & | os | ) |
Reimplemented from OA::LocSubSet.
Definition at line 139 of file LocFieldSubSet.cpp.
References OA::OA_ptr< T >::dump(), OA::LocSubSet::getLoc(), and mFieldName.

| string OA::LocFieldSubSet::getFieldName | ( | ) | [inline] |
Definition at line 49 of file LocFieldSubSet.hpp.
References mFieldName.
Referenced by operator<(), operator==(), and OA::LocFieldSubSetMustOverlapVisitor::visitLocFieldSubSet().
| virtual int OA::LocFieldSubSet::getOrder | ( | ) | [inline, virtual] |
Reimplemented from OA::LocSubSet.
Definition at line 76 of file LocFieldSubSet.hpp.
References sOrder.
Referenced by operator<(), and operator==().
| bool OA::LocFieldSubSet::isaFieldSubSet | ( | ) | [inline, virtual] |
Reimplemented from OA::LocSubSet.
Definition at line 43 of file LocFieldSubSet.hpp.
| bool OA::LocFieldSubSet::isFull | ( | ) | [inline, virtual] |
something useful to have for all LocSubSet's
Reimplemented from OA::LocSubSet.
Definition at line 48 of file LocFieldSubSet.hpp.
| bool OA::LocFieldSubSet::mayOverlap | ( | Location & | other | ) | [virtual] |
Reimplemented from OA::LocSubSet.
Definition at line 64 of file LocFieldSubSet.cpp.
References OA::LocSubSet::getLoc().

| bool OA::LocFieldSubSet::mustOverlap | ( | Location & | other | ) | [virtual] |
Reimplemented from OA::LocSubSet.
Definition at line 103 of file LocFieldSubSet.cpp.
References OA::Location::acceptVisitor(), and OA::LocFieldSubSetMustOverlapVisitor::mMustOverlap.
Referenced by subSetOf().

| bool OA::LocFieldSubSet::operator< | ( | Location & | other | ) | [virtual] |
Locations are ordered first between Location subclasses based on their sOrder value. Then there is an ordering within each subclass.
When comparing between LocFieldSubSet's will first compare base locations and will then will compare field names.
Reimplemented from OA::LocSubSet.
Definition at line 36 of file LocFieldSubSet.cpp.
References getFieldName(), OA::LocSubSet::getLoc(), OA::Location::getOrder(), and getOrder().

| bool OA::LocFieldSubSet::operator== | ( | Location & | other | ) | [virtual] |
Reimplemented from OA::LocSubSet.
Definition at line 51 of file LocFieldSubSet.cpp.
References getFieldName(), OA::LocSubSet::getLoc(), OA::Location::getOrder(), and getOrder().

| void OA::LocFieldSubSet::output | ( | IRHandlesIRInterface & | ir | ) | [virtual] |
Reimplemented from OA::LocSubSet.
Definition at line 123 of file LocFieldSubSet.cpp.
References mFieldName, OA::LocSubSet::mLoc, and OA::Annotation::sOutBuild.
| bool OA::LocFieldSubSet::subSetOf | ( | Location & | other | ) | [virtual] |
Reimplemented from OA::LocSubSet.
Definition at line 112 of file LocFieldSubSet.cpp.
References OA::LocSubSet::getLoc(), and mustOverlap().

| std::string OA::LocFieldSubSet::toString | ( | OA_ptr< IRHandlesIRInterface > | pIR | ) | [virtual] |
Reimplemented from OA::LocSubSet.
Definition at line 155 of file LocFieldSubSet.cpp.
References OA::LocSubSet::getLoc(), and mFieldName.

string OA::LocFieldSubSet::mFieldName [private] |
Definition at line 79 of file LocFieldSubSet.hpp.
Referenced by dump(), getFieldName(), output(), and toString().
const int OA::LocFieldSubSet::sOrder = 500 [static, private] |
Reimplemented from OA::LocSubSet.
Definition at line 80 of file LocFieldSubSet.hpp.
Referenced by getOrder().
1.6.1