00001 // This file is automatically generated, do not edit. 00002 00003 /*! 00004 \file 00005 \brief Enumerations for various SS. 00006 Contains common enumerations. 00007 */ 00008 00009 #ifndef lestes__lang__cplus__sem__ss_enums_g_hh__included 00010 #define lestes__lang__cplus__sem__ss_enums_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 ss_access_specifier; 00022 class ss_storage_class; 00023 00024 00025 /*! \brief Access specifier enumeration wrapper. 00026 00027 Provides access specifier enumeration. 00028 */ 00029 class ss_access_specifier : public ::lestes::std::object { 00030 public: 00031 //! The access specifier for declarations. 00032 enum type { 00033 ACCESS_PUBLIC, 00034 ACCESS_PROTECTED, 00035 ACCESS_PRIVATE 00036 }; 00037 00038 00039 00040 //! for purposes of dumping 00041 virtual ptr<reflection_list> reflection_get() const; 00042 //! for purposes of dumping 00043 virtual ptr<field_list_list> field_values_get() const; 00044 00045 protected: 00046 //! Generated constructor for class ss_access_specifier. 00047 ss_access_specifier ( 00048 ); 00049 00050 //! Marking routine for class ss_access_specifier. 00051 virtual void gc_mark(); 00052 00053 private: 00054 static ptr<reflection_list> reflection; 00055 00056 }; // ss_access_specifier 00057 00058 00059 /*! \brief Storage class enumeration wrapper. 00060 00061 Provides storage class enumeration. 00062 */ 00063 class ss_storage_class : public ::lestes::std::object { 00064 public: 00065 //! The storage class for declarations. 00066 enum type { 00067 ST_NONE, 00068 ST_AUTO, 00069 ST_STATIC, 00070 ST_REGISTER, 00071 ST_EXTERN, 00072 ST_MUTABLE, 00073 ST_TYPEDEF, 00074 ST_DEFINED 00075 }; 00076 00077 00078 00079 //! for purposes of dumping 00080 virtual ptr<reflection_list> reflection_get() const; 00081 //! for purposes of dumping 00082 virtual ptr<field_list_list> field_values_get() const; 00083 00084 protected: 00085 //! Generated constructor for class ss_storage_class. 00086 ss_storage_class ( 00087 ); 00088 00089 //! Marking routine for class ss_storage_class. 00090 virtual void gc_mark(); 00091 00092 private: 00093 static ptr<reflection_list> reflection; 00094 00095 }; // ss_storage_class 00096 00097 00098 end_package(sem); 00099 end_package(cplus); 00100 end_package(lang); 00101 end_package(lestes); 00102 00103 package(lestes); 00104 package(std); 00105 specialize_objectize_for_enum( ::lestes::lang::cplus::sem::ss_access_specifier::type ); 00106 specialize_objectize_for_enum( ::lestes::lang::cplus::sem::ss_storage_class::type ); 00107 end_package(std); 00108 end_package(lestes); 00109 00110 #endif // lestes__lang__cplus__sem__ss_enums_g_hh__included
1.5.1-20070107