00001 00015 #ifndef REACHCONSTSINTERFACE_H 00016 #define REACHCONSTSINTERFACE_H 00017 00018 #include <OpenAnalysis/Utils/OA_ptr.hpp> 00019 #include <OpenAnalysis/IRInterface/IRHandles.hpp> 00020 #include <OpenAnalysis/IRInterface/ConstValBasicInterface.hpp> 00021 #include <OpenAnalysis/OABase/Annotation.hpp> 00022 00023 namespace OA { 00024 namespace ReachConsts { 00025 00026 class Interface : public virtual Annotation { 00027 00028 public: 00029 Interface(){} 00030 virtual ~Interface(){} 00031 00035 virtual OA_ptr<ConstValBasicInterface> getReachConst(MemRefHandle h) = 0; 00036 00037 virtual void dump(std::ostream& os, OA_ptr<IRHandlesIRInterface> ir) = 0; 00038 00039 //***************************************************************** 00040 // Annotation Interface 00041 //***************************************************************** 00042 virtual void output(OA::IRHandlesIRInterface& ir) = 0; 00043 00044 }; 00045 } // end of ReachConsts namespace 00046 } // end of OA namespace 00047 00048 #endif
1.7.1