UnknownLoc.hpp

Go to the documentation of this file.
00001 
00014 #ifndef UnknownLoc_H
00015 #define UnknownLoc_H
00016 
00017 #include "Location.hpp"
00018 
00019 namespace OA {
00020 
00024 class UnknownLoc: public Location {
00025   public:
00026     UnknownLoc() { }
00027 
00028     void acceptVisitor(LocationVisitor& pVisitor);
00029 
00031     UnknownLoc(UnknownLoc &other) {}
00032 
00033     ~UnknownLoc() { }
00034 
00035     //*****************************************************************
00036     // Subclass type methods 
00037     //*****************************************************************
00038     bool isaUnknown() { return true; }
00039 
00040     //*****************************************************************
00041     // Info methods 
00042     //*****************************************************************
00044     OA_ptr<Location> getBaseLoc(); 
00045 
00046     bool isLocal() { return false; } // actually unknown, conservative
00047     bool isUnique() { return false; } // actually unknown, conservative
00048 
00049     /* PLM 1/23/07 deprecated hasFullAccuracy
00050     bool hasFullAccuracy() { return false; }
00051     */
00052 
00053     //*****************************************************************
00054     // Relationship methods 
00055     //*****************************************************************
00056     bool operator<(Location & other);
00057     bool operator==(Location& other);
00058 
00059     bool mayOverlap(Location& other) { return true; }
00060 
00061     bool mustOverlap(Location& other) { return false; }
00062 
00063     bool subSetOf(Location& other) { return true; }
00064 
00065     //*****************************************************************
00066     // Annotation Interface
00067     //*****************************************************************
00068     void output(IRHandlesIRInterface& ir);
00069 
00070     //*****************************************************************
00071     // Debugging
00072     //*****************************************************************
00073     void dump(std::ostream& os);
00074     void dump(std::ostream& os, OA_ptr<IRHandlesIRInterface> pIR);
00075 
00076     std::string toString(OA_ptr<IRHandlesIRInterface> pIR);
00077 
00078     virtual int getOrder() { return sOrder; }
00079 
00080     private:
00081     static const int sOrder = 100000000;
00082 };
00083 
00084 }
00085 
00086 #endif

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