hinter.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 #include <lestes/lang/cplus/sem/as_decl.g.hh>
00004 #include <lestes/lang/cplus/sem/ss_declaration.g.hh>
00005 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00006 
00007 #include <lestes/std/list.hh>
00008 #include <lestes/std/pair.hh>
00009 #include <lestes/std/reflect.hh>
00010 
00011 #include <lestes/lang/cplus/syn/hinter.g.hh>
00012 
00013 package(lestes);
00014 package(lang);
00015 package(cplus);
00016 package(syn);
00017 
00018 
00019 // ------------- Class elab_spec_key follows. -------------
00020 
00021 /*!
00022    Generated constructor for class elab_spec_key.
00023    \author lsg
00024  */
00025 elab_spec_key::elab_spec_key (ptr< ::lestes::std::source_location > a__as_base__location)
00026         : as_base(a__as_base__location)
00027 {}
00028 
00029 ptr< object::reflection_list > elab_spec_key::reflection_get() const
00030 {
00031         if (!reflection) {
00032                 typedef class_reflection::field_metadata md;
00033                 typedef class_reflection::field_metadata_list mdlist;
00034                 ptr<mdlist> mdl = mdlist::create();
00035                 reflection = reflection_list::create( ::lestes::intercode::as_base::reflection_get() );
00036                 reflection->push_back( class_reflection::create( "elab_spec_key", mdl ) );
00037         }
00038         return reflection;
00039 }
00040 
00041 ptr< object::field_list_list > elab_spec_key::field_values_get() const
00042 {
00043         ptr < field_list_list > result = ::lestes::intercode::as_base::field_values_get();
00044         return result;
00045 }
00046 
00047 
00048 /*!
00049    Marking routine is used for garbage collection.
00050    \author lsg
00051  */
00052 void elab_spec_key::gc_mark()
00053 {
00054 	::lestes::intercode::as_base::gc_mark();
00055 }
00056 
00057 // End of class elab_spec_key.
00058 
00059 // ------------- Class elab_spec_enum follows. -------------
00060 
00061 /*!
00062    This factory method for class elab_spec_enum takes values of all fields as arguments.
00063    \author lsg
00064  */
00065 ptr< elab_spec_enum > elab_spec_enum::create(ptr< ::lestes::std::source_location > a__as_base__location)
00066 {
00067         return ptr< elab_spec_enum > ( new elab_spec_enum(a__as_base__location) );
00068 }
00069 
00070 /*!
00071    Generated constructor for class elab_spec_enum.
00072    \author lsg
00073  */
00074 elab_spec_enum::elab_spec_enum (ptr< ::lestes::std::source_location > a__as_base__location)
00075         : elab_spec_key(a__as_base__location)
00076 {}
00077 
00078 ptr< object::reflection_list > elab_spec_enum::reflection_get() const
00079 {
00080         if (!reflection) {
00081                 typedef class_reflection::field_metadata md;
00082                 typedef class_reflection::field_metadata_list mdlist;
00083                 ptr<mdlist> mdl = mdlist::create();
00084                 reflection = reflection_list::create( elab_spec_key::reflection_get() );
00085                 reflection->push_back( class_reflection::create( "elab_spec_enum", mdl ) );
00086         }
00087         return reflection;
00088 }
00089 
00090 ptr< object::field_list_list > elab_spec_enum::field_values_get() const
00091 {
00092         ptr < field_list_list > result = elab_spec_key::field_values_get();
00093         return result;
00094 }
00095 
00096 
00097 /*!
00098    Marking routine is used for garbage collection.
00099    \author lsg
00100  */
00101 void elab_spec_enum::gc_mark()
00102 {
00103         elab_spec_key::gc_mark();
00104 }
00105 
00106 // End of class elab_spec_enum.
00107 
00108 // ------------- Class elab_spec_class_key follows. -------------
00109 
00110 /*!
00111    \returns The value of elab_spec_class_key::class_key.
00112    \author lsg
00113  */
00114 ptr< ::lestes::lang::cplus::sem::as_class_key > elab_spec_class_key::class_key_get() const
00115 {
00116         return class_key;
00117 }
00118 
00119 /*!
00120    \param[in] x The new value to set elab_spec_class_key::class_key to.
00121    \author lsg
00122  */
00123 void elab_spec_class_key::class_key_set(const ptr< ::lestes::lang::cplus::sem::as_class_key > & x)
00124 {
00125         elab_spec_class_key::class_key = x;
00126 }
00127 
00128 /*!
00129    This factory method for class elab_spec_class_key takes values of all fields as arguments.
00130    \author lsg
00131  */
00132 ptr< elab_spec_class_key > elab_spec_class_key::create(ptr< ::lestes::std::source_location > a__as_base__location,
00133                 ptr< ::lestes::lang::cplus::sem::as_class_key > a__elab_spec_class_key__class_key)
00134 {
00135         return ptr< elab_spec_class_key > ( new elab_spec_class_key(a__as_base__location,
00136                 a__elab_spec_class_key__class_key) );
00137 }
00138 
00139 /*!
00140    Generated constructor for class elab_spec_class_key.
00141    \author lsg
00142  */
00143 elab_spec_class_key::elab_spec_class_key (ptr< ::lestes::std::source_location > a__as_base__location,
00144                 ptr< ::lestes::lang::cplus::sem::as_class_key > a__elab_spec_class_key__class_key)
00145         : elab_spec_key(a__as_base__location), class_key(checked(a__elab_spec_class_key__class_key))
00146 {}
00147 
00148 ptr< object::reflection_list > elab_spec_class_key::reflection_get() const
00149 {
00150         if (!reflection) {
00151                 typedef class_reflection::field_metadata md;
00152                 typedef class_reflection::field_metadata_list mdlist;
00153                 ptr<mdlist> mdl = mdlist::create();
00154                 mdl->push_back( md::create( "class_key", "as_class_key" ) );
00155                 reflection = reflection_list::create( elab_spec_key::reflection_get() );
00156                 reflection->push_back( class_reflection::create( "elab_spec_class_key", mdl ) );
00157         }
00158         return reflection;
00159 }
00160 
00161 ptr< object::field_list_list > elab_spec_class_key::field_values_get() const
00162 {
00163         ptr < field_list_list > result = elab_spec_key::field_values_get();
00164         result->push_back( value_list::create() );
00165         result->back()->push_back( this->class_key );
00166         return result;
00167 }
00168 
00169 
00170 /*!
00171    Marking routine is used for garbage collection.
00172    \author lsg
00173  */
00174 void elab_spec_class_key::gc_mark()
00175 {
00176         elab_spec_key::gc_mark();
00177 }
00178 
00179 // End of class elab_spec_class_key.
00180 
00181 // ------------- Class hint_from_declaration_set follows. -------------
00182 
00183 /*!
00184    \returns The value of hint_from_declaration_set::result.
00185    \author lsg
00186  */
00187 int hint_from_declaration_set::result_get() const
00188 {
00189         return result;
00190 }
00191 
00192 /*!
00193    \param[in] x The new value to set hint_from_declaration_set::result to.
00194    \author lsg
00195  */
00196 void hint_from_declaration_set::result_set(int x)
00197 {
00198         hint_from_declaration_set::result = x;
00199 }
00200 
00201 /*!
00202    \returns The value of hint_from_declaration_set::was_function.
00203    \author lsg
00204  */
00205 bool hint_from_declaration_set::was_function_get() const
00206 {
00207         return was_function;
00208 }
00209 
00210 /*!
00211    \param[in] x The new value to set hint_from_declaration_set::was_function to.
00212    \author lsg
00213  */
00214 void hint_from_declaration_set::was_function_set(bool x)
00215 {
00216         hint_from_declaration_set::was_function = x;
00217 }
00218 
00219 /*!
00220    Static field hint_from_declaration_set::the_instance.
00221    \author lsg
00222  */
00223 ptr< hint_from_declaration_set > hint_from_declaration_set::the_instance = the_instance;
00224 
00225 /*!
00226    Generated instance() method for singleton class hint_from_declaration_set.
00227    \author lsg
00228  */
00229 ptr< hint_from_declaration_set > hint_from_declaration_set::instance()
00230 {
00231          return the_instance ? the_instance : the_instance = new hint_from_declaration_set(0, false);
00232 }
00233 
00234 /*!
00235    Generated constructor for class hint_from_declaration_set.
00236    \author lsg
00237  */
00238 hint_from_declaration_set::hint_from_declaration_set (int a__hint_from_declaration_set__result,
00239                 bool a__hint_from_declaration_set__was_function)
00240         : ss_declaration_visitor(), result(a__hint_from_declaration_set__result), was_function(a__hint_from_declaration_set__was_function)
00241 {}
00242 
00243 ptr< object::reflection_list > hint_from_declaration_set::reflection_get() const
00244 {
00245         if (!reflection) {
00246                 typedef class_reflection::field_metadata md;
00247                 typedef class_reflection::field_metadata_list mdlist;
00248                 ptr<mdlist> mdl = mdlist::create();
00249                 mdl->push_back( md::create( "result", "int" ) );
00250                 mdl->push_back( md::create( "was_function", "bool" ) );
00251                 reflection = reflection_list::create( ::lestes::lang::cplus::sem::ss_declaration_visitor::reflection_get() );
00252                 reflection->push_back( class_reflection::create( "hint_from_declaration_set", mdl ) );
00253         }
00254         return reflection;
00255 }
00256 
00257 ptr< object::field_list_list > hint_from_declaration_set::field_values_get() const
00258 {
00259         ptr < field_list_list > result = ::lestes::lang::cplus::sem::ss_declaration_visitor::field_values_get();
00260         result->push_back( value_list::create() );
00261         result->back()->push_back( objectize< int > ::create( this->result ) );
00262         result->push_back( value_list::create() );
00263         result->back()->push_back( objectize< bool > ::create( this->was_function ) );
00264         return result;
00265 }
00266 
00267 
00268 /*!
00269    Marking routine is used for garbage collection.
00270    \author lsg
00271  */
00272 void hint_from_declaration_set::gc_mark()
00273 {
00274 	::lestes::lang::cplus::sem::ss_declaration_visitor::gc_mark();
00275 }
00276 
00277 // End of class hint_from_declaration_set.
00278 
00279 // ------------- Class typedef_class_resolver follows. -------------
00280 
00281 /*!
00282    \returns The value of typedef_class_resolver::decl.
00283    \author lsg
00284  */
00285 ptr< ::lestes::lang::cplus::sem::ss_declaration > typedef_class_resolver::decl_get() const
00286 {
00287         return decl;
00288 }
00289 
00290 /*!
00291    \param[in] x The new value to set typedef_class_resolver::decl to.
00292    \author lsg
00293  */
00294 void typedef_class_resolver::decl_set(const ptr< ::lestes::lang::cplus::sem::ss_declaration > & x)
00295 {
00296         typedef_class_resolver::decl = x;
00297 }
00298 
00299 /*!
00300    Static field typedef_class_resolver::the_instance.
00301    \author lsg
00302  */
00303 ptr< typedef_class_resolver > typedef_class_resolver::the_instance = the_instance;
00304 
00305 /*!
00306    Generated instance() method for singleton class typedef_class_resolver.
00307    \author lsg
00308  */
00309 ptr< typedef_class_resolver > typedef_class_resolver::instance()
00310 {
00311          return the_instance ? the_instance : the_instance = new typedef_class_resolver(NULL);
00312 }
00313 
00314 /*!
00315    Generated constructor for class typedef_class_resolver.
00316    \author lsg
00317  */
00318 typedef_class_resolver::typedef_class_resolver (ptr< ::lestes::lang::cplus::sem::ss_declaration > a__typedef_class_resolver__decl)
00319         : ss_type_default_visitor(), decl(a__typedef_class_resolver__decl)
00320 {}
00321 
00322 ptr< object::reflection_list > typedef_class_resolver::reflection_get() const
00323 {
00324         if (!reflection) {
00325                 typedef class_reflection::field_metadata md;
00326                 typedef class_reflection::field_metadata_list mdlist;
00327                 ptr<mdlist> mdl = mdlist::create();
00328                 mdl->push_back( md::create( "decl", "ss_declaration" ) );
00329                 reflection = reflection_list::create( ::lestes::lang::cplus::sem::ss_type_default_visitor::reflection_get() );
00330                 reflection->push_back( class_reflection::create( "typedef_class_resolver", mdl ) );
00331         }
00332         return reflection;
00333 }
00334 
00335 ptr< object::field_list_list > typedef_class_resolver::field_values_get() const
00336 {
00337         ptr < field_list_list > result = ::lestes::lang::cplus::sem::ss_type_default_visitor::field_values_get();
00338         result->push_back( value_list::create() );
00339         result->back()->push_back( this->decl );
00340         return result;
00341 }
00342 
00343 
00344 /*!
00345    Marking routine is used for garbage collection.
00346    \author lsg
00347  */
00348 void typedef_class_resolver::gc_mark()
00349 {
00350 	::lestes::lang::cplus::sem::ss_type_default_visitor::gc_mark();
00351 }
00352 
00353 // End of class typedef_class_resolver.
00354 
00355 
00356 // static data members follow 
00357 ptr<object::reflection_list> elab_spec_key::reflection = reflection;
00358 ptr<object::reflection_list> elab_spec_enum::reflection = reflection;
00359 ptr<object::reflection_list> elab_spec_class_key::reflection = reflection;
00360 ptr<object::reflection_list> hint_from_declaration_set::reflection = reflection;
00361 ptr<object::reflection_list> typedef_class_resolver::reflection = reflection;
00362 
00363 end_package(syn);
00364 end_package(cplus);
00365 end_package(lang);
00366 end_package(lestes);
00367 

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