sa_context.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 #ifndef lestes__lang__cplus__sem__sa_context_g_hh__included
00004 #define lestes__lang__cplus__sem__sa_context_g_hh__included
00005 
00006 #include <lestes/common.hh>
00007 #include <lestes/std/list.hh>
00008 #include <lestes/std/stack.hh>
00009 #include <lestes/lang/cplus/sem/ss_enums.g.hh>
00010 
00011 #include <lestes/std/objectize_macros.hh>
00012 package(lestes);
00013 package(lang);
00014 package(cplus);
00015 package(sem);
00016 class as_name;
00017 end_package(sem);
00018 end_package(cplus);
00019 end_package(lang);
00020 end_package(lestes);
00021 
00022 package(lestes);
00023 package(lang);
00024 package(cplus);
00025 package(sem);
00026 class ss_decl_seq;
00027 end_package(sem);
00028 end_package(cplus);
00029 end_package(lang);
00030 end_package(lestes);
00031 
00032 package(lestes);
00033 package(lang);
00034 package(cplus);
00035 package(sem);
00036 class as_access_specifier;
00037 end_package(sem);
00038 end_package(cplus);
00039 end_package(lang);
00040 end_package(lestes);
00041 
00042 package(lestes);
00043 package(lang);
00044 package(cplus);
00045 package(sem);
00046 class as_declaration_specifier_seq;
00047 end_package(sem);
00048 end_package(cplus);
00049 end_package(lang);
00050 end_package(lestes);
00051 
00052 package(lestes);
00053 package(lang);
00054 package(cplus);
00055 package(sem);
00056 class sa_declaration_specifiers;
00057 end_package(sem);
00058 end_package(cplus);
00059 end_package(lang);
00060 end_package(lestes);
00061 
00062 package(lestes);
00063 package(lang);
00064 package(cplus);
00065 package(sem);
00066 
00067 
00068 class sa_statements;
00069 class sa_context_stack_marker;
00070 class sa_context_manager;
00071 class sa_context_manager_concrete;
00072 class sa_context;
00073 class sa_as_context;
00074 class sa_ss_context;
00075 class sa_sa_context;
00076 
00077 
00078 class sa_context_stack_marker : public ::lestes::std::object {
00079 public:
00080         //! The method context_get returns the value of the field sa_context_stack_marker::context.
00081         ptr< sa_context > context_get() const;
00082 
00083         //! The method context_set sets the field sa_context_stack_marker::context to the given value.
00084         void context_set(const ptr< sa_context > &);
00085 
00086         
00087         //! First generated factory method for class sa_context_stack_marker.
00088         static ptr< sa_context_stack_marker > create (
00089                 ptr< sa_context > a__sa_context_stack_marker__context);
00090 
00091         
00092 
00093         //! for purposes of dumping
00094         virtual ptr<reflection_list> reflection_get() const;
00095         //! for purposes of dumping
00096         virtual ptr<field_list_list> field_values_get() const;
00097         
00098 protected:
00099         //! Generated constructor for class sa_context_stack_marker.
00100         sa_context_stack_marker (
00101                 ptr< sa_context > a__sa_context_stack_marker__context);
00102 
00103         //! Marking routine for class sa_context_stack_marker. 
00104         virtual void gc_mark();
00105 
00106 private:
00107         srp< sa_context > context;
00108         static ptr<reflection_list> reflection;
00109         
00110 }; // sa_context_stack_marker
00111 
00112 
00113 /*! \brief The context manager for sa.
00114 
00115 Provides interface for manipulationg the sa_context by the parser.
00116 */
00117 class sa_context_manager : public ::lestes::std::object {
00118 public:
00119         virtual ptr< sa_context > current() abstract;
00120 
00121         virtual void push(ptr< sa_context > context) abstract;
00122 
00123         virtual void pop() abstract;
00124 
00125         static ptr< sa_context_manager > instance();
00126 
00127         
00128 
00129         //! for purposes of dumping
00130         virtual ptr<reflection_list> reflection_get() const;
00131         //! for purposes of dumping
00132         virtual ptr<field_list_list> field_values_get() const;
00133         
00134 protected:
00135         //! Generated constructor for class sa_context_manager.
00136         sa_context_manager (
00137                 );
00138 
00139         //! Marking routine for class sa_context_manager. 
00140         virtual void gc_mark();
00141 
00142 private:
00143         static ptr< sa_context_manager > singleton;
00144         static ptr<reflection_list> reflection;
00145         
00146 }; // sa_context_manager
00147 
00148 
00149 class sa_context_manager_concrete : public sa_context_manager {
00150 public:
00151         static ptr< sa_context_manager_concrete > instance();
00152 
00153         virtual ptr< sa_context > current();
00154 
00155         virtual void push(ptr< sa_context > context);
00156 
00157         virtual void pop();
00158 
00159         
00160         //! First generated factory method for class sa_context_manager_concrete.
00161         static ptr< sa_context_manager_concrete > create (
00162                 ptr< ::lestes::std::stack< srp< sa_context > > > a__sa_context_manager_concrete__contexts);
00163 
00164         
00165 
00166         //! for purposes of dumping
00167         virtual ptr<reflection_list> reflection_get() const;
00168         //! for purposes of dumping
00169         virtual ptr<field_list_list> field_values_get() const;
00170         
00171 protected:
00172         //! Generated constructor for class sa_context_manager_concrete.
00173         sa_context_manager_concrete (
00174                 ptr< ::lestes::std::stack< srp< sa_context > > > a__sa_context_manager_concrete__contexts);
00175 
00176         //! Marking routine for class sa_context_manager_concrete. 
00177         virtual void gc_mark();
00178 
00179 private:
00180         srp< ::lestes::std::stack< srp< sa_context > > >  contexts;
00181         static ptr< sa_context_manager_concrete > singleton;
00182         static ptr<reflection_list> reflection;
00183         
00184 }; // sa_context_manager_concrete
00185 
00186 
00187 /*! \brief The context for sa.
00188 
00189 Represents context for the entire structural analysis passed through the parser.
00190 */
00191 class sa_context : public ::lestes::std::object {
00192 public:
00193         //! The method as_get returns the value of the field sa_context::as.
00194         ptr< sa_as_context > as_get() const;
00195 
00196         //! The method as_set sets the field sa_context::as to the given value.
00197         void as_set(const ptr< sa_as_context > &);
00198 
00199         //! The method ss_get returns the value of the field sa_context::ss.
00200         ptr< sa_ss_context > ss_get() const;
00201 
00202         //! The method ss_set sets the field sa_context::ss to the given value.
00203         void ss_set(const ptr< sa_ss_context > &);
00204 
00205         //! The method sa_get returns the value of the field sa_context::sa.
00206         ptr< sa_sa_context > sa_get() const;
00207 
00208         //! The method sa_set sets the field sa_context::sa to the given value.
00209         void sa_set(const ptr< sa_sa_context > &);
00210 
00211         
00212         //! First generated factory method for class sa_context.
00213         static ptr< sa_context > create (
00214                 ptr< sa_as_context > a__sa_context__as,
00215                 ptr< sa_ss_context > a__sa_context__ss,
00216                 ptr< sa_sa_context > a__sa_context__sa);
00217 
00218         
00219 
00220         //! for purposes of dumping
00221         virtual ptr<reflection_list> reflection_get() const;
00222         //! for purposes of dumping
00223         virtual ptr<field_list_list> field_values_get() const;
00224         
00225 protected:
00226         //! Generated constructor for class sa_context.
00227         sa_context (
00228                 ptr< sa_as_context > a__sa_context__as,
00229                 ptr< sa_ss_context > a__sa_context__ss,
00230                 ptr< sa_sa_context > a__sa_context__sa);
00231 
00232         //! Marking routine for class sa_context. 
00233         virtual void gc_mark();
00234 
00235 private:
00236         /*! \brief AS context.
00237 
00238         The as part of the context.
00239         */
00240         srp< sa_as_context > as;
00241         /*! \brief SS context.
00242 
00243         The ss part of the context.
00244         */
00245         srp< sa_ss_context > ss;
00246         /*! \brief SA context.
00247 
00248         The sa part of the context.
00249         */
00250         srp< sa_sa_context > sa;
00251         static ptr<reflection_list> reflection;
00252         
00253 }; // sa_context
00254 
00255 
00256 /*! \brief The as context.
00257 
00258 The as part of the context.
00259 */
00260 class sa_as_context : public ::lestes::std::object {
00261 public:
00262         //! The method scope_get returns the value of the field sa_as_context::scope.
00263         ptr< ::lestes::lang::cplus::sem::as_name > scope_get() const;
00264 
00265         //! The method scope_set sets the field sa_as_context::scope to the given value.
00266         void scope_set(const ptr< ::lestes::lang::cplus::sem::as_name > &);
00267 
00268         //! The method access_specifier_get returns the value of the field sa_as_context::access_specifier.
00269         ptr< ::lestes::lang::cplus::sem::as_access_specifier > access_specifier_get() const;
00270 
00271         //! The method access_specifier_set sets the field sa_as_context::access_specifier to the given value.
00272         void access_specifier_set(const ptr< ::lestes::lang::cplus::sem::as_access_specifier > &);
00273 
00274         //! The method declaration_specifier_seq_get returns the value of the field sa_as_context::declaration_specifier_seq.
00275         ptr< ::lestes::lang::cplus::sem::as_declaration_specifier_seq > declaration_specifier_seq_get() const;
00276 
00277         //! The method declaration_specifier_seq_set sets the field sa_as_context::declaration_specifier_seq to the given value.
00278         void declaration_specifier_seq_set(const ptr< ::lestes::lang::cplus::sem::as_declaration_specifier_seq > &);
00279 
00280         
00281         //! First generated factory method for class sa_as_context.
00282         static ptr< sa_as_context > create (
00283                 ptr< ::lestes::lang::cplus::sem::as_name > a__sa_as_context__scope,
00284                 ptr< ::lestes::lang::cplus::sem::as_access_specifier > a__sa_as_context__access_specifier,
00285                 ptr< ::lestes::lang::cplus::sem::as_declaration_specifier_seq > a__sa_as_context__declaration_specifier_seq);
00286 
00287         //! Second generated factory method for class sa_as_context.
00288         static ptr< sa_as_context > create (
00289                 ptr< ::lestes::lang::cplus::sem::as_name > a__sa_as_context__scope,
00290                 ptr< ::lestes::lang::cplus::sem::as_access_specifier > a__sa_as_context__access_specifier);
00291 
00292         
00293 
00294         //! for purposes of dumping
00295         virtual ptr<reflection_list> reflection_get() const;
00296         //! for purposes of dumping
00297         virtual ptr<field_list_list> field_values_get() const;
00298         
00299 protected:
00300         //! Generated constructor for class sa_as_context.
00301         sa_as_context (
00302                 ptr< ::lestes::lang::cplus::sem::as_name > a__sa_as_context__scope,
00303                 ptr< ::lestes::lang::cplus::sem::as_access_specifier > a__sa_as_context__access_specifier,
00304                 ptr< ::lestes::lang::cplus::sem::as_declaration_specifier_seq > a__sa_as_context__declaration_specifier_seq);
00305 
00306         //! Marking routine for class sa_as_context. 
00307         virtual void gc_mark();
00308 
00309 private:
00310         //! The current scope.
00311         srp< ::lestes::lang::cplus::sem::as_name > scope;
00312         //! The current access specifier.
00313         srp< ::lestes::lang::cplus::sem::as_access_specifier > access_specifier;
00314         //! The current declaration specifier sequence.
00315         srp< ::lestes::lang::cplus::sem::as_declaration_specifier_seq > declaration_specifier_seq;
00316         static ptr<reflection_list> reflection;
00317         
00318 }; // sa_as_context
00319 
00320 
00321 /*! \brief The ss context.
00322 
00323 The ss part of the context.
00324 */
00325 class sa_ss_context : public ::lestes::std::object {
00326 public:
00327         //! The method scope_get returns the value of the field sa_ss_context::scope.
00328         ptr< ::lestes::lang::cplus::sem::ss_decl_seq > scope_get() const;
00329 
00330         //! The method scope_set sets the field sa_ss_context::scope to the given value.
00331         void scope_set(const ptr< ::lestes::lang::cplus::sem::ss_decl_seq > &);
00332 
00333         //! The method access_specifier_get returns the value of the field sa_ss_context::access_specifier.
00334         ss_access_specifier::type access_specifier_get() const;
00335 
00336         //! The method access_specifier_set sets the field sa_ss_context::access_specifier to the given value.
00337         void access_specifier_set(ss_access_specifier::type);
00338 
00339         
00340         //! First generated factory method for class sa_ss_context.
00341         static ptr< sa_ss_context > create (
00342                 ptr< ::lestes::lang::cplus::sem::ss_decl_seq > a__sa_ss_context__scope,
00343                 ss_access_specifier::type a__sa_ss_context__access_specifier);
00344 
00345         
00346 
00347         //! for purposes of dumping
00348         virtual ptr<reflection_list> reflection_get() const;
00349         //! for purposes of dumping
00350         virtual ptr<field_list_list> field_values_get() const;
00351         
00352 protected:
00353         //! Generated constructor for class sa_ss_context.
00354         sa_ss_context (
00355                 ptr< ::lestes::lang::cplus::sem::ss_decl_seq > a__sa_ss_context__scope,
00356                 ss_access_specifier::type a__sa_ss_context__access_specifier);
00357 
00358         //! Marking routine for class sa_ss_context. 
00359         virtual void gc_mark();
00360 
00361 private:
00362         //! The current scope.
00363         srp< ::lestes::lang::cplus::sem::ss_decl_seq > scope;
00364         //! The cached access specifier.
00365         ss_access_specifier::type access_specifier;
00366         static ptr<reflection_list> reflection;
00367         
00368 }; // sa_ss_context
00369 
00370 
00371 /*! \brief The ss context.
00372 
00373 The ss part of the context.
00374 */
00375 class sa_sa_context : public ::lestes::std::object {
00376 public:
00377         //! The method declaration_specifiers_get returns the value of the field sa_sa_context::declaration_specifiers.
00378         ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > declaration_specifiers_get() const;
00379 
00380         //! The method declaration_specifiers_set sets the field sa_sa_context::declaration_specifiers to the given value.
00381         void declaration_specifiers_set(const ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > &);
00382 
00383         
00384         //! First generated factory method for class sa_sa_context.
00385         static ptr< sa_sa_context > create (
00386                 ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > a__sa_sa_context__declaration_specifiers);
00387 
00388         //! Second generated factory method for class sa_sa_context.
00389         static ptr< sa_sa_context > create (
00390                 );
00391 
00392         
00393 
00394         //! for purposes of dumping
00395         virtual ptr<reflection_list> reflection_get() const;
00396         //! for purposes of dumping
00397         virtual ptr<field_list_list> field_values_get() const;
00398         
00399 protected:
00400         //! Generated constructor for class sa_sa_context.
00401         sa_sa_context (
00402                 ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > a__sa_sa_context__declaration_specifiers);
00403 
00404         //! Marking routine for class sa_sa_context. 
00405         virtual void gc_mark();
00406 
00407 private:
00408         /*! \brief The specifiers.
00409 
00410         The current declaration specifiers.
00411         */
00412         srp< ::lestes::lang::cplus::sem::sa_declaration_specifiers > declaration_specifiers;
00413         static ptr<reflection_list> reflection;
00414         
00415 }; // sa_sa_context
00416 
00417 
00418 end_package(sem);
00419 end_package(cplus);
00420 end_package(lang);
00421 end_package(lestes);
00422 
00423 #endif // lestes__lang__cplus__sem__sa_context_g_hh__included

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