auto_AvailableExpressions.hpp

Go to the documentation of this file.
00001 #ifndef AvailableExpressionsIRInterface_H
00002 #define AvailableExpressionsIRInterface_H
00003 
00004 #include <iostream>
00005 #include <list>
00006 #include <string>
00007 #include <OpenAnalysis/Utils/OA_ptr.hpp>
00008 #include <OpenAnalysis/IRInterface/IRHandles.hpp>
00009 #include <OpenAnalysis/NewExprTree/NewExprTree.hpp>
00010 
00011 namespace OA {
00012   namespace AvailableExpressions {
00013 
00014 class AvailableExpressionsIRInterface : public virtual IRHandlesIRInterface {
00015   public:
00016     AvailableExpressionsIRInterface() { }
00017     virtual ~AvailableExpressionsIRInterface() { }
00018 
00019     virtual OA_ptr<IRStmtIterator> getStmtIterator(ProcHandle h) = 0;
00020 
00021     virtual OA_ptr<MemRefHandleIterator> getAllMemRefs(StmtHandle stmt) = 0;
00022 
00023     virtual OA_ptr<MemRefHandleIterator> getDefMemRefs(StmtHandle stmt) = 0;
00024 
00025     virtual OA_ptr<MemRefHandleIterator> getUseMemRefs(StmtHandle stmt) = 0;
00026 
00027     virtual OA_ptr<IRCallsiteIterator> getCallsites(StmtHandle h) = 0;
00028 
00029     virtual OA_ptr<NewExprTree> getNewExprTree(OA::ExprHandle h) = 0;
00030 };
00031 
00032   } // end of namespace AvailableExpressions
00033 } // end of namespace OA
00034 
00035 #endif

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