00001 00016 #ifndef InterReachConsts_H 00017 #define InterReachConsts_H 00018 00019 #include <OpenAnalysis/ReachConsts/Interface.hpp> 00020 #include <OpenAnalysis/ReachConsts/ReachConstsStandard.hpp> 00021 #include <OpenAnalysis/OABase/Annotation.hpp> 00022 #include <map> 00023 00024 namespace OA { 00025 namespace ReachConsts { 00026 00027 class InterReachConsts : public virtual Annotation { 00028 public: 00029 InterReachConsts() {} 00030 virtual ~InterReachConsts() {} 00031 00033 OA_ptr<ReachConsts::Interface> getReachConsts(ProcHandle proc); 00034 00035 //***************************************************************** 00036 // Annotation Interface 00037 //***************************************************************** 00038 void output(OA::IRHandlesIRInterface& ir); 00039 00040 //***************************************************************** 00041 // Output 00042 //***************************************************************** 00044 void dump(std::ostream& os, OA_ptr<IRHandlesIRInterface> ir); 00045 00046 //***************************************************************** 00047 // Construction methods 00048 //***************************************************************** 00049 00051 void mapProcToReachConsts(ProcHandle proc, 00052 OA_ptr<ReachConsts::Interface> rcs) 00053 { mProcToReachConstsMap[proc] = rcs; } 00054 00056 //void mapCallToDep(ExprHandle call, OA_ptr<DepDFSet> dep) 00057 // { mCallToDepDFSet[call] = dep; } 00058 00059 private: 00060 std::map<ProcHandle,OA_ptr<ReachConsts::Interface> > 00061 mProcToReachConstsMap; 00062 //std::map<ExprHandle,OA_ptr<DepDFSet> > mCallToDepDFSet; 00063 00064 00065 }; 00066 00067 } // end of Activity namespace 00068 } // end of OA namespace 00069 00070 #endif 00071
1.7.1