| Polaris: ARDAssertion.h Source File | ||
|
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members
ARDAssertion.hGo to the documentation of this file.00001 /// 00002 /// 00003 #ifndef _ARD_ASSERTION_H 00004 #define _ARD_ASSERTION_H 00005 /// 00006 /// \class ARDAssertion 00007 /// \brief a base class for compiler assertions, using lists of Access Region Descriptors (ARDs) 00008 /// \defgroup C 00009 /// \ingroup C++ CVDL 00010 /// Polaris 00011 /// \see Directive/Assertion.h 00012 /// \see Directive/ARDAssertion.h 00013 /// 00014 /// \endcode 00015 /// \section Description Description 00016 /// The ARDAssertion class is meant to provide the base for a 00017 /// generic compiler assertion class based on Lists of expressions. 00018 /// Derived classes will implement specific instances of the different 00019 /// flavors of compiler assertions. 00020 /// 00021 /// \endcode 00022 /// \section Bugs Bugs 00023 /// No known bugs. 00024 /// 00025 #ifdef POLARIS_GNU_PRAGMAS 00026 #pragma interface 00027 #endif 00028 /// 00029 #include "../Boolean.h" 00030 #include "../AbstractAccess.h" 00031 #include "../Listable.h" 00032 #include "../Collection/List.h" 00033 #include "../Collection/RefList.h" 00034 /// 00035 #include "Assertion.h" 00036 /// 00037 class ARDAssertion : public Assertion { 00038 protected: 00039 List<AbstractAccess> _descr_list; 00040 00041 public: 00042 ARDAssertion(); 00043 ///< Construct a ARDAssertion. 00044 00045 ARDAssertion(const ARDAssertion & a); 00046 ///< Construct a ARDAssertion with a copy of another 00047 ///< ARDAssertion's current value. 00048 00049 const List<AbstractAccess> & descr_list_guarded() const; 00050 List<AbstractAccess> & descr_list_guarded(); 00051 ///< return the list of AbstractAccess associated with this assertion. 00052 00053 Boolean descr_list_valid() const; 00054 ///< check to see if the descr_list() exists. 00055 00056 virtual Assertion *clone() const; 00057 ///< clone any ARDAssertion 00058 00059 virtual void relink_aptrs( ProgramUnit &p ); 00060 ///< fix up the pointers in the Assertion after a copy. 00061 00062 virtual ARDAssertion & operator = (const ARDAssertion &a); 00063 ///< assignment operator. 00064 00065 virtual ~ARDAssertion(); 00066 ///< destructor 00067 }; 00068 00069 #endif |
||
|