SideEffectInterface.hpp

Go to the documentation of this file.
00001 
00015 #ifndef SideEffectInterface_hpp
00016 #define SideEffectInterface_hpp
00017 
00018 #include <set>
00019 #include <OpenAnalysis/Utils/OA_ptr.hpp>
00020 #include <OpenAnalysis/IRInterface/IRHandles.hpp>
00021 #include <OpenAnalysis/Location/Locations.hpp>
00022 
00023 
00024 namespace OA {
00025   namespace SideEffect {
00026 
00028 class Interface {
00029   public:
00030     Interface() {}
00031     virtual ~Interface() {}
00032 
00037     virtual OA_ptr<LocIterator> getLMODIterator() = 0;
00038 
00042     virtual OA_ptr<LocIterator> getMODIterator() = 0;
00043 
00048     virtual OA_ptr<LocIterator> getLDEFIterator() = 0;
00049 
00053     virtual OA_ptr<LocIterator> getDEFIterator() = 0;
00054 
00060     virtual OA_ptr<LocIterator> getLUSEIterator() = 0;
00061 
00065     virtual OA_ptr<LocIterator> getUSEIterator() = 0;
00066 
00071     virtual OA_ptr<LocIterator> getLREFIterator() = 0;
00072 
00076     virtual OA_ptr<LocIterator> getREFIterator() = 0;
00077 
00078     //*****************************************************************
00079     // Output
00080     //*****************************************************************
00081 
00082     virtual void dump(std::ostream& os, OA_ptr<IRHandlesIRInterface> ir) = 0;
00083 
00084 };
00085 
00086 
00087   } // end of SideEffect namespace
00088 } // end of OA namespace
00089 
00090 #endif
00091 

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