00001 00021 #ifndef UDDUChainsIRInterface_h 00022 #define UDDUChainsIRInterface_h 00023 00024 #include <iostream> 00025 #include <list> 00026 #include <string> 00027 #include <OpenAnalysis/Utils/OA_ptr.hpp> 00028 #include <OpenAnalysis/IRInterface/IRHandles.hpp> 00029 00030 namespace OA { 00031 namespace UDDUChains { 00032 00038 class UDDUChainsIRInterface : public virtual IRHandlesIRInterface { 00039 public: 00040 UDDUChainsIRInterface() { } 00041 virtual ~UDDUChainsIRInterface() { } 00042 00046 virtual OA_ptr<IRStmtIterator> getStmtIterator(ProcHandle h) = 0; 00047 00051 virtual OA_ptr<MemRefHandleIterator> getDefMemRefs(StmtHandle stmt) = 0; 00052 00056 virtual OA_ptr<MemRefHandleIterator> getUseMemRefs(StmtHandle stmt) = 0; 00057 00059 virtual OA_ptr<IRCallsiteIterator> getCallsites(StmtHandle h) = 0; 00060 00061 }; 00062 00063 } // end of namespace UDDUChains 00064 } // end of namespace OA 00065 00066 #endif
1.7.1