ManagerAliasMapXAIF.hpp

Go to the documentation of this file.
00001 
00027 #ifndef ManagerAliasMapXAIF_h
00028 #define ManagerAliasMapXAIF_h
00029 
00030 //--------------------------------------------------------------------
00031 // OpenAnalysis headers
00032 #include <OpenAnalysis/Utils/OA_ptr.hpp>
00033 #include <OpenAnalysis/UDDUChains/Interface.hpp>
00034 #include <OpenAnalysis/CFG/CFGInterface.hpp>
00035 #include <OpenAnalysis/XAIF/AliasMapXAIF.hpp>
00036 #include <OpenAnalysis/IRInterface/XAIFIRInterface.hpp>
00037 
00038 namespace OA {
00039   namespace XAIF {
00040 
00046     class ManagerAliasMapXAIF { //??? eventually public OA::AnnotationManager
00047 
00048     public:
00049       ManagerAliasMapXAIF(OA_ptr<XAIFIRInterface>);
00050       ~ManagerAliasMapXAIF () {}
00051 
00053       OA_ptr<XAIF::AliasMapXAIF> performAnalysis(ProcHandle, 
00054                                                  OA_ptr<Alias::Interface> alias);
00055 
00058       //AliasMapXAIF* performAnalysis(ProcHandle);
00059 
00060     private:
00061       OA_ptr<XAIFIRInterface> mIR;    
00062 
00063       static int sCurrentStartId;
00064 
00065       static int getNextSetId();
00066 
00067     }; // end class ManagerAliasMapXAIF
00068 
00069   } // end of XAIF namespace
00070 } // end of OA namespace
00071 
00072 #endif