CallGraphDFProblemIRInterface.hpp

Go to the documentation of this file.
00001 
00015 #ifndef CallGraphDFProblemIRInterface_h
00016 #define CallGraphDFProblemIRInterface_h
00017 
00018 #include <OpenAnalysis/Utils/OA_ptr.hpp>
00019 #include <OpenAnalysis/IRInterface/IRHandles.hpp>
00020 #include <OpenAnalysis/Location/Locations.hpp>
00021 #include <OpenAnalysis/ExprTree/ExprTree.hpp>
00022 
00023 namespace OA {
00024 
00025 typedef IRCallsiteParamIterator ExprHandleIterator;
00026 
00027   namespace DataFlow {
00028 
00029 
00035 class CallGraphDFProblemIRInterface : public virtual IRHandlesIRInterface {
00036  public:
00037   CallGraphDFProblemIRInterface() { }
00038   virtual ~CallGraphDFProblemIRInterface() { }
00039 
00042   virtual OA::OA_ptr<OA::IRCallsiteParamIterator> 
00043     getCallsiteParams(OA::CallHandle h) = 0;
00044 
00046   virtual SymHandle getFormalForActual(ProcHandle caller, CallHandle call, 
00047                                        ProcHandle callee, ExprHandle param) = 0; 
00048  
00053   virtual OA_ptr<Location> getLocation(ProcHandle p, SymHandle s) = 0;
00054 
00056   virtual OA_ptr<ExprTree> getExprTree(ExprHandle h) = 0;
00057   
00058 };  
00059 
00060   } // end of namespace DataFlow
00061 } // end of namespace OA
00062 
00063 #endif 

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