ss_enums.g.hh

Go to the documentation of this file.
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

Generated on Mon Feb 12 18:27:08 2007 for lestes by doxygen 1.5.1-20070107