OA::Alias::OuterRefOpVisitor Class Reference

Inheritance diagram for OA::Alias::OuterRefOpVisitor:
Inheritance graph
[legend]
Collaboration diagram for OA::Alias::OuterRefOpVisitor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 OuterRefOpVisitor ()
 ~OuterRefOpVisitor ()
OA_ptr< RefOpgetOuterRefOp ()
void visitNamedRef (NamedRef &ref)
void visitUnnamedRef (UnnamedRef &ref)
void visitUnknownRef (UnknownRef &ref)
void visitAddressOf (AddressOf &ref)
void visitDeref (Deref &ref)
void visitSubSetRef (SubSetRef &ref)
void visitIdxAccess (IdxAccess &ref)
void visitFieldAccess (FieldAccess &ref)

Private Attributes

OA_ptr< RefOpmOuterRefOp

Detailed Description

Visitor over memory reference expressions that determines if there is some kind of RefOp performed and if so creates a version of the outermost RefOp that does not point to the underlying MemRefExpr. For example, if mre is Deref(NamedRef(a)) then getOuterRefOp will return a Deref().

Definition at line 170 of file ManagerFIAlias.cpp.


Constructor & Destructor Documentation

OA::Alias::OuterRefOpVisitor::OuterRefOpVisitor (  )  [inline]

Definition at line 172 of file ManagerFIAlias.cpp.

OA::Alias::OuterRefOpVisitor::~OuterRefOpVisitor (  )  [inline]

Definition at line 173 of file ManagerFIAlias.cpp.


Member Function Documentation

OA_ptr<RefOp> OA::Alias::OuterRefOpVisitor::getOuterRefOp (  )  [inline]

Definition at line 175 of file ManagerFIAlias.cpp.

References mOuterRefOp.

Referenced by OA::Alias::ManagerFIAlias::doPhase2Iteration().

void OA::Alias::OuterRefOpVisitor::visitAddressOf ( AddressOf ref  )  [inline, virtual]

Implements OA::MemRefExprVisitor.

Definition at line 184 of file ManagerFIAlias.cpp.

void OA::Alias::OuterRefOpVisitor::visitDeref ( Deref ref  )  [inline, virtual]

Implements OA::MemRefExprVisitor.

Definition at line 189 of file ManagerFIAlias.cpp.

References OA::Deref::getNumDerefs(), mOuterRefOp, and OA::MemRefExpr::USE.

Here is the call graph for this function:

void OA::Alias::OuterRefOpVisitor::visitFieldAccess ( FieldAccess ref  )  [inline, virtual]

Reimplemented from OA::MemRefExprVisitor.

Definition at line 208 of file ManagerFIAlias.cpp.

References OA::FieldAccess::getFieldName(), OA::RefOp::getMemRefExpr(), mOuterRefOp, OA::OA_ptr< T >::ptrEqual(), and OA::MemRefExpr::USE.

Here is the call graph for this function:

void OA::Alias::OuterRefOpVisitor::visitIdxAccess ( IdxAccess ref  )  [inline, virtual]

Reimplemented from OA::MemRefExprVisitor.

Definition at line 199 of file ManagerFIAlias.cpp.

References OA::IdxAccess::getIdx(), OA::RefOp::getMemRefExpr(), mOuterRefOp, OA::OA_ptr< T >::ptrEqual(), and OA::MemRefExpr::USE.

Here is the call graph for this function:

void OA::Alias::OuterRefOpVisitor::visitNamedRef ( NamedRef ref  )  [inline, virtual]

Implements OA::MemRefExprVisitor.

Definition at line 178 of file ManagerFIAlias.cpp.

void OA::Alias::OuterRefOpVisitor::visitSubSetRef ( SubSetRef ref  )  [inline, virtual]

Implements OA::MemRefExprVisitor.

Definition at line 195 of file ManagerFIAlias.cpp.

References mOuterRefOp, and OA::MemRefExpr::USE.

void OA::Alias::OuterRefOpVisitor::visitUnknownRef ( UnknownRef ref  )  [inline, virtual]

Implements OA::MemRefExprVisitor.

Definition at line 182 of file ManagerFIAlias.cpp.

void OA::Alias::OuterRefOpVisitor::visitUnnamedRef ( UnnamedRef ref  )  [inline, virtual]

Implements OA::MemRefExprVisitor.

Definition at line 180 of file ManagerFIAlias.cpp.


Member Data Documentation


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

Generated on Sat Oct 31 05:29:50 2009 for OpenAnalysis by  doxygen 1.6.1