ActivityIRInterface.hpp

Go to the documentation of this file.
00001 
00016 #ifndef ActivityIRInterface_h
00017 #define ActivityIRInterface_h
00018 
00019 #include <OpenAnalysis/Utils/OA_ptr.hpp>
00020 #include <OpenAnalysis/IRInterface/IRHandles.hpp>
00021 #include <OpenAnalysis/Location/Locations.hpp>
00022 #include <OpenAnalysis/ExprTree/ExprTree.hpp>
00023 #include <OpenAnalysis/IRInterface/CalleeToCallerVisitorIRInterface.hpp>
00024 //#include "ExprStmtPairIterator.hpp"
00025 #include <OpenAnalysis/IRInterface/AssignPairIterator.hpp>
00026 
00027 namespace OA {
00028 
00029 typedef IRCallsiteParamIterator ExprHandleIterator;
00030 
00031   namespace Activity {
00032 
00036 class ActivityIRInterface : public virtual IRHandlesIRInterface , public virtual DataFlow::CalleeToCallerVisitorIRInterface {
00037  public:
00038   ActivityIRInterface() { }
00039   virtual ~ActivityIRInterface() { }
00040 
00042   virtual OA_ptr<MemRefExprIterator> getIndepMemRefExprIter(ProcHandle h) = 0;
00043   
00045   virtual OA_ptr<MemRefExprIterator> getDepMemRefExprIter(ProcHandle h) = 0;
00046   
00049   virtual OA_ptr<IRStmtIterator> getStmtIterator(ProcHandle h) = 0; 
00050 
00052   virtual OA_ptr<IRCallsiteIterator> getCallsites(StmtHandle h) = 0;
00053 
00056   virtual OA::OA_ptr<OA::IRCallsiteParamIterator> 
00057     getCallsiteParams(OA::CallHandle h) = 0;
00058 
00060   virtual OA_ptr<ExprTree> getExprTree(ExprHandle h) = 0;
00061   
00064   virtual OA_ptr<MemRefHandleIterator> getDefMemRefs(StmtHandle stmt) = 0;
00065   
00068   virtual OA_ptr<MemRefHandleIterator> getUseMemRefs(StmtHandle stmt) = 0;
00069  
00073   virtual OA_ptr<AssignPairIterator> 
00074       getAssignPairIterator(StmtHandle h) = 0; 
00075 
00077   virtual int getSizeInBytes(SymHandle h) = 0;
00078 
00079 };  
00080 
00081   } // end of namespace Activity
00082 } // end of namespace OA
00083 
00084 #endif 

Generated on Sat Oct 31 05:21:19 2009 for OpenAnalysis by  doxygen 1.6.1