00001 // This file is automatically generated, do not edit. 00002 00003 /*! 00004 \file 00005 \brief Common sa header. 00006 Contains common entities for structural analysis. 00007 */ 00008 00009 #ifndef lestes__lang__cplus__sem__sa_common_g_hh__included 00010 #define lestes__lang__cplus__sem__sa_common_g_hh__included 00011 00012 #include <lestes/common.hh> 00013 00014 #include <lestes/std/objectize_macros.hh> 00015 package(lestes); 00016 package(lang); 00017 package(cplus); 00018 package(sem); 00019 00020 00021 class declaration_context; 00022 00023 00024 /*! \brief Declaration context enumeration wrapper. 00025 00026 Provides declaration context enumeration. 00027 */ 00028 class declaration_context : public ::lestes::std::object { 00029 public: 00030 //! The context of the declaration. 00031 enum type { 00032 CTX_NAMESPACE, 00033 CTX_FUNCTION, 00034 CTX_METHOD, 00035 CTX_FIELD, 00036 CTX_BITFIELD, 00037 CTX_PARAMETER, 00038 CTX_CLASS, 00039 CTX_CATCH, 00040 CTX_TYPENAME 00041 }; 00042 00043 00044 00045 //! for purposes of dumping 00046 virtual ptr<reflection_list> reflection_get() const; 00047 //! for purposes of dumping 00048 virtual ptr<field_list_list> field_values_get() const; 00049 00050 protected: 00051 //! Generated constructor for class declaration_context. 00052 declaration_context ( 00053 ); 00054 00055 //! Marking routine for class declaration_context. 00056 virtual void gc_mark(); 00057 00058 private: 00059 static ptr<reflection_list> reflection; 00060 00061 }; // declaration_context 00062 00063 00064 end_package(sem); 00065 end_package(cplus); 00066 end_package(lang); 00067 end_package(lestes); 00068 00069 package(lestes); 00070 package(std); 00071 specialize_objectize_for_enum( ::lestes::lang::cplus::sem::declaration_context::type ); 00072 end_package(std); 00073 end_package(lestes); 00074 00075 #endif // lestes__lang__cplus__sem__sa_common_g_hh__included
1.5.1-20070107