ReachConsts/Interface.hpp

Go to the documentation of this file.
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