00001 00002 /* ReachingDefsIRInterface.hpp 00003 NOTE: This file was automatically generated by DFAGen. It is the IR 00004 interface for the ReachingDefs analysis. 00005 */ 00006 00007 #ifndef ReachingDefsIRInterface_H 00008 #define ReachingDefsIRInterface_H 00009 00010 #include <iostream> 00011 #include <list> 00012 #include <string> 00013 #include <OpenAnalysis/Utils/OA_ptr.hpp> 00014 #include <OpenAnalysis/IRInterface/IRHandles.hpp> 00015 00016 namespace OA { 00017 namespace ReachingDefs { 00018 00019 class ReachingDefsIRInterface : public virtual IRHandlesIRInterface { 00020 public: 00021 ReachingDefsIRInterface() { } 00022 virtual ~ReachingDefsIRInterface() { } 00023 00024 virtual OA_ptr<IRStmtIterator> getStmtIterator(ProcHandle h) = 0; 00025 00026 virtual OA_ptr<MemRefHandleIterator> getAllMemRefs(StmtHandle stmt) = 0; 00027 00028 virtual OA_ptr<MemRefHandleIterator> getDefMemRefs(StmtHandle stmt) = 0; 00029 00030 virtual OA_ptr<MemRefHandleIterator> getUseMemRefs(StmtHandle stmt) = 0; 00031 00032 virtual OA_ptr<IRCallsiteIterator> getCallsites(StmtHandle h) = 0; 00033 }; 00034 00035 } // end of namespace ReachingDefs 00036 } // end of namespace OA 00037 00038 #endif
1.6.1