sa_common.g.hh

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

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