as_declaration_specifier2is_void.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Void specifier recognition.
00006         Visitor recognizing void simple type declaration specifier.
00007 */
00008 
00009 #include <lestes/lang/cplus/sem/as_decl.g.hh>
00010 
00011 #include <lestes/std/list.hh>
00012 #include <lestes/std/pair.hh>
00013 #include <lestes/std/reflect.hh>
00014 
00015 #include <lestes/lang/cplus/sem/as_declaration_specifier2is_void.g.hh>
00016 
00017 package(lestes);
00018 package(lang);
00019 package(cplus);
00020 package(sem);
00021 
00022 
00023 // ------------- Class as_declaration_specifier2is_void follows. -------------
00024 
00025 /*!
00026    \returns The value of as_declaration_specifier2is_void::void_flag.
00027    \author lsg
00028  */
00029 bool as_declaration_specifier2is_void::void_flag_get() const
00030 {
00031         return void_flag;
00032 }
00033 
00034 /*!
00035    This factory method for class as_declaration_specifier2is_void takes values of all fields as arguments.
00036    \author lsg
00037  */
00038 ptr< as_declaration_specifier2is_void > as_declaration_specifier2is_void::create(bool a__as_declaration_specifier2is_void__void_flag)
00039 {
00040         return ptr< as_declaration_specifier2is_void > ( new as_declaration_specifier2is_void(a__as_declaration_specifier2is_void__void_flag) );
00041 }
00042 
00043 /*!
00044    This factory method for class as_declaration_specifier2is_void uses initializers.
00045    \author lsg
00046  */
00047 ptr< as_declaration_specifier2is_void > as_declaration_specifier2is_void::create()
00048 {
00049         return ptr< as_declaration_specifier2is_void > ( new as_declaration_specifier2is_void(false) );
00050 }
00051 
00052 /*!
00053    Generated constructor for class as_declaration_specifier2is_void.
00054    \author lsg
00055  */
00056 as_declaration_specifier2is_void::as_declaration_specifier2is_void (bool a__as_declaration_specifier2is_void__void_flag)
00057         : as_declaration_specifier2is_void_base(), void_flag(a__as_declaration_specifier2is_void__void_flag)
00058 {}
00059 
00060 ptr< object::reflection_list > as_declaration_specifier2is_void::reflection_get() const
00061 {
00062         if (!reflection) {
00063                 typedef class_reflection::field_metadata md;
00064                 typedef class_reflection::field_metadata_list mdlist;
00065                 ptr<mdlist> mdl = mdlist::create();
00066                 mdl->push_back( md::create( "void_flag", "bool" ) );
00067                 reflection = reflection_list::create( as_declaration_specifier2is_void_base::reflection_get() );
00068                 reflection->push_back( class_reflection::create( "as_declaration_specifier2is_void", mdl ) );
00069         }
00070         return reflection;
00071 }
00072 
00073 ptr< object::field_list_list > as_declaration_specifier2is_void::field_values_get() const
00074 {
00075         ptr < field_list_list > result = as_declaration_specifier2is_void_base::field_values_get();
00076         result->push_back( value_list::create() );
00077         result->back()->push_back( objectize< bool > ::create( this->void_flag ) );
00078         return result;
00079 }
00080 
00081 bool as_declaration_specifier2is_void::process( const ptr< ::lestes::lang::cplus::sem::as_declaration_specifier > & o )
00082 {
00083         lassert2( o, "Cannot visit NULL object." );
00084         o->accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor >(this) );
00085         return void_flag_get();
00086 }
00087 
00088 
00089 /*!
00090    Marking routine is used for garbage collection.
00091    \author lsg
00092  */
00093 void as_declaration_specifier2is_void::gc_mark()
00094 {
00095         as_declaration_specifier2is_void_base::gc_mark();
00096 }
00097 
00098 // End of class as_declaration_specifier2is_void.
00099 
00100 
00101 // static data members follow 
00102 ptr<object::reflection_list> as_declaration_specifier2is_void::reflection = reflection;
00103 
00104 end_package(sem);
00105 end_package(cplus);
00106 end_package(lang);
00107 end_package(lestes);
00108 

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