#include <MemRefExprVisitor.hpp>

Public Member Functions | |
| virtual | ~MemRefExprVisitor () |
| virtual void | visitNamedRef (NamedRef &ref)=0 |
| virtual void | visitUnnamedRef (UnnamedRef &ref)=0 |
| virtual void | visitUnknownRef (UnknownRef &ref)=0 |
| virtual void | visitAddressOf (AddressOf &ref)=0 |
| virtual void | visitDeref (Deref &ref)=0 |
| virtual void | visitSubSetRef (SubSetRef &ref)=0 |
| virtual void | visitIdxAccess (IdxAccess &ref) |
| virtual void | visitIdxExprAccess (IdxExprAccess &ref) |
| virtual void | visitFieldAccess (FieldAccess &ref) |
Protected Member Functions | |
| MemRefExprVisitor () | |
MemRefExprVisitor is an abstract base class used to implement the Visitor pattern on MemRefExprs and possible instances of the RefOp decorator subclass.
The only place in the MemRefExpr hierarchy where changes can occur are new SubSetRef subclasses. Each time a new subclass is created a new method must be added to this visitor. As long as existing concrete visitors have a default implementation for the SubSetRef class they will still work properly.
Memory Management: It is assumed that the concrete visitors will NOT keep references to MemRefExpr and that the MemRefExpr will not be deallocated while an MemRefExprVisitor is visiting a MemRefExpr. Concrete visitors should also never take the address of a MemRefExpr and pass it to a method that requires an OA_ptr<MemRefExpr>.
Definition at line 40 of file MemRefExprVisitor.hpp.
| OA::MemRefExprVisitor::MemRefExprVisitor | ( | ) | [inline, protected] |
Definition at line 42 of file MemRefExprVisitor.hpp.
| virtual OA::MemRefExprVisitor::~MemRefExprVisitor | ( | ) | [inline, virtual] |
Definition at line 44 of file MemRefExprVisitor.hpp.
| virtual void OA::MemRefExprVisitor::visitAddressOf | ( | AddressOf & | ref | ) | [pure virtual] |
Implemented in OA::Alias::CreateLocationVisitor, OA::Alias::OuterRefOpVisitor, OA::Alias::RecordMREsVisitor, OA::Alias::FixedLocationVisitor, OA::Alias::InvisibleLocationVisitor, OA::Alias::VisibleBaseVisitor, NGOutputVisitor, OA::DUG::CreateLocationVisitor, OA::DUG::CreateLocationVisitor, OA::DataFlow::ConstructMREVisitor, OA::DataFlow::FormalFinderVisitor, and OA::equivalentMREsVisitor.
Referenced by OA::AddressOf::acceptVisitor().
| virtual void OA::MemRefExprVisitor::visitDeref | ( | Deref & | ref | ) | [pure virtual] |
Implemented in OA::Alias::CreateLocationVisitor, OA::Alias::OuterRefOpVisitor, OA::Alias::RecordMREsVisitor, OA::Alias::FixedLocationVisitor, OA::Alias::InvisibleLocationVisitor, OA::Alias::VisibleBaseVisitor, OA::Alias::SymHandleCollector, NGOutputVisitor, OA::DUG::CreateLocationVisitor, OA::DUG::CreateLocationVisitor, OA::DataFlow::ConstructMREVisitor, OA::DataFlow::FormalFinderVisitor, and OA::equivalentMREsVisitor.
Referenced by OA::Deref::acceptVisitor().
| virtual void OA::MemRefExprVisitor::visitFieldAccess | ( | FieldAccess & | ref | ) | [inline, virtual] |
Reimplemented in OA::Alias::OuterRefOpVisitor, OA::Alias::FixedLocationVisitor, OA::Alias::InvisibleLocationVisitor, and NGOutputVisitor.
Definition at line 72 of file MemRefExprVisitor.hpp.
References visitSubSetRef().
Referenced by OA::FieldAccess::acceptVisitor().

| virtual void OA::MemRefExprVisitor::visitIdxAccess | ( | IdxAccess & | ref | ) | [inline, virtual] |
Reimplemented in OA::Alias::OuterRefOpVisitor, OA::Alias::InvisibleLocationVisitor, and NGOutputVisitor.
Definition at line 68 of file MemRefExprVisitor.hpp.
References visitSubSetRef().
Referenced by OA::IdxAccess::acceptVisitor().

| virtual void OA::MemRefExprVisitor::visitIdxExprAccess | ( | IdxExprAccess & | ref | ) | [inline, virtual] |
Reimplemented in OA::Alias::InvisibleLocationVisitor, and NGOutputVisitor.
Definition at line 70 of file MemRefExprVisitor.hpp.
References visitSubSetRef().
Referenced by OA::IdxExprAccess::acceptVisitor().

| virtual void OA::MemRefExprVisitor::visitNamedRef | ( | NamedRef & | ref | ) | [pure virtual] |
Implemented in OA::Alias::CreateLocationVisitor, OA::Alias::OuterRefOpVisitor, OA::Alias::RecordMREsVisitor, OA::Alias::FixedLocationVisitor, OA::Alias::InvisibleLocationVisitor, OA::Alias::VisibleBaseVisitor, OA::Alias::SymHandleCollector, NGOutputVisitor, OA::DUG::CreateLocationVisitor, OA::DUG::CreateLocationVisitor, OA::DataFlow::ConstructMREVisitor, OA::DataFlow::FormalFinderVisitor, and OA::equivalentMREsVisitor.
Referenced by OA::NamedRef::acceptVisitor().
| virtual void OA::MemRefExprVisitor::visitSubSetRef | ( | SubSetRef & | ref | ) | [pure virtual] |
Implemented in OA::Alias::CreateLocationVisitor, OA::Alias::OuterRefOpVisitor, OA::Alias::RecordMREsVisitor, OA::Alias::FixedLocationVisitor, OA::Alias::InvisibleLocationVisitor, OA::Alias::VisibleBaseVisitor, OA::Alias::SymHandleCollector, NGOutputVisitor, OA::DUG::CreateLocationVisitor, OA::DUG::CreateLocationVisitor, OA::DataFlow::ConstructMREVisitor, OA::DataFlow::FormalFinderVisitor, and OA::equivalentMREsVisitor.
Referenced by OA::SubSetRef::acceptVisitor(), visitFieldAccess(), visitIdxAccess(), and visitIdxExprAccess().
| virtual void OA::MemRefExprVisitor::visitUnknownRef | ( | UnknownRef & | ref | ) | [pure virtual] |
Implemented in OA::Alias::CreateLocationVisitor, OA::Alias::OuterRefOpVisitor, OA::Alias::RecordMREsVisitor, OA::Alias::FixedLocationVisitor, OA::Alias::InvisibleLocationVisitor, OA::Alias::VisibleBaseVisitor, OA::Alias::SymHandleCollector, NGOutputVisitor, OA::DUG::CreateLocationVisitor, OA::DUG::CreateLocationVisitor, OA::DataFlow::ConstructMREVisitor, OA::DataFlow::FormalFinderVisitor, and OA::equivalentMREsVisitor.
Referenced by OA::UnknownRef::acceptVisitor().
| virtual void OA::MemRefExprVisitor::visitUnnamedRef | ( | UnnamedRef & | ref | ) | [pure virtual] |
Implemented in OA::Alias::CreateLocationVisitor, OA::Alias::OuterRefOpVisitor, OA::Alias::RecordMREsVisitor, OA::Alias::FixedLocationVisitor, OA::Alias::InvisibleLocationVisitor, OA::Alias::VisibleBaseVisitor, OA::Alias::SymHandleCollector, NGOutputVisitor, OA::DUG::CreateLocationVisitor, OA::DUG::CreateLocationVisitor, OA::DataFlow::ConstructMREVisitor, OA::DataFlow::FormalFinderVisitor, and OA::equivalentMREsVisitor.
Referenced by OA::UnnamedRef::acceptVisitor().
1.6.1