sa_simple_declaration.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Simple declaration analysis.
00006         
00007                         Analysis of simple declaration and its conversion to ss_declaration.
00008                 
00009 */
00010 
00011 #ifndef lestes__lang__cplus__sem__sa_simple_declaration_g_hh__included
00012 #define lestes__lang__cplus__sem__sa_simple_declaration_g_hh__included
00013 
00014 #include <lestes/common.hh>
00015 
00016 #include <lestes/std/objectize_macros.hh>
00017 package(lestes);
00018 package(lang);
00019 package(cplus);
00020 package(sem);
00021 class as_declarator;
00022 end_package(sem);
00023 end_package(cplus);
00024 end_package(lang);
00025 end_package(lestes);
00026 
00027 package(lestes);
00028 package(lang);
00029 package(cplus);
00030 package(sem);
00031 class as_declarator_op_func;
00032 end_package(sem);
00033 end_package(cplus);
00034 end_package(lang);
00035 end_package(lestes);
00036 
00037 package(lestes);
00038 package(lang);
00039 package(cplus);
00040 package(sem);
00041 class as_declaration_specifier_seq;
00042 end_package(sem);
00043 end_package(cplus);
00044 end_package(lang);
00045 end_package(lestes);
00046 
00047 package(lestes);
00048 package(lang);
00049 package(cplus);
00050 package(sem);
00051 class as_type_specifier_seq;
00052 end_package(sem);
00053 end_package(cplus);
00054 end_package(lang);
00055 end_package(lestes);
00056 
00057 package(lestes);
00058 package(lang);
00059 package(cplus);
00060 package(sem);
00061 class sa_context;
00062 end_package(sem);
00063 end_package(cplus);
00064 end_package(lang);
00065 end_package(lestes);
00066 
00067 package(lestes);
00068 package(lang);
00069 package(cplus);
00070 package(sem);
00071 class sa_declaration_specifiers;
00072 end_package(sem);
00073 end_package(cplus);
00074 end_package(lang);
00075 end_package(lestes);
00076 
00077 package(lestes);
00078 package(lang);
00079 package(cplus);
00080 package(sem);
00081 
00082 
00083 class sa_simple_declaration;
00084 
00085 
00086 /*! \brief Simple declaration analyser.
00087 
00088 
00089                                 Analyses simple declaration and either creates ss_declaration and
00090                                 adds it to the current scope, or modifies an existing ss_declaration.
00091                         
00092 */
00093 class sa_simple_declaration : public object {
00094 public:
00095         //! Saves declaration specifiers to context.
00096         void save_declaration_specifiers(ptr< ::lestes::lang::cplus::sem::as_declaration_specifier_seq > specifiers);
00097 
00098         //! Saves type specifiers to context.
00099         void save_type_specifiers(ptr< ::lestes::lang::cplus::sem::as_type_specifier_seq > specifiers);
00100 
00101         //! Processes the declaration, adding it to the containing scope.
00102         void process(ptr< ::lestes::lang::cplus::sem::as_declarator > declarator);
00103 
00104         //! Processes typedef.
00105         void process_typedef(ptr< ::lestes::lang::cplus::sem::sa_context > ctx, ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > specifiers, ptr< ::lestes::lang::cplus::sem::as_declarator > declarator);
00106 
00107         //! Processes object declaration.
00108         void process_object_declaration(ptr< ::lestes::lang::cplus::sem::sa_context > ctx, ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > specifiers, ptr< ::lestes::lang::cplus::sem::as_declarator > declarator);
00109 
00110         //! Processes object declaration.
00111         void process_function_declaration(ptr< ::lestes::lang::cplus::sem::sa_context > ctx, ptr< ::lestes::lang::cplus::sem::as_declarator_op_func > op_func, ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > specifiers, ptr< ::lestes::lang::cplus::sem::as_declarator > declarator);
00112 
00113         
00114         //! Generated instance() method for singleton class sa_simple_declaration.
00115         static ptr< sa_simple_declaration > instance ();
00116 
00117         
00118 
00119         //! for purposes of dumping
00120         virtual ptr<reflection_list> reflection_get() const;
00121         //! for purposes of dumping
00122         virtual ptr<field_list_list> field_values_get() const;
00123         
00124 protected:
00125         //! Generated constructor for class sa_simple_declaration.
00126         sa_simple_declaration (
00127                 );
00128 
00129         //! Marking routine for class sa_simple_declaration. 
00130         virtual void gc_mark();
00131 
00132 private:
00133         static ptr<reflection_list> reflection;
00134         static ptr<sa_simple_declaration> the_instance;
00135         
00136 }; // sa_simple_declaration
00137 
00138 
00139 end_package(sem);
00140 end_package(cplus);
00141 end_package(lang);
00142 end_package(lestes);
00143 
00144 #endif // lestes__lang__cplus__sem__sa_simple_declaration_g_hh__included

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