00001 00015 #ifndef ReachDefsInterface_hpp 00016 #define ReachDefsInterface_hpp 00017 00018 #include <cassert> 00019 #include <iostream> 00020 #include <map> 00021 #include <set> 00022 #include <vector> 00023 #include <OpenAnalysis/Utils/OA_ptr.hpp> 00024 #include <OpenAnalysis/IRInterface/IRHandles.hpp> 00025 00026 namespace OA { 00027 namespace ReachDefs { 00028 00029 00030 class Interface { 00031 public: 00032 Interface() {} 00033 virtual ~Interface() {} 00034 00035 typedef StmtHandleIterator ReachDefsIterator; 00036 00039 virtual OA_ptr<ReachDefsIterator> getReachDefsIterator(StmtHandle s) = 0; 00040 00043 virtual OA_ptr<Interface::ReachDefsIterator> getExitReachDefsIterator() = 0; 00044 00045 }; 00046 00047 } // end of ReachDefs namespace 00048 } // end of OA namespace 00049 00050 #endif 00051
1.7.1