lex_literal_to_ss_literal_info.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 #include <lestes/lang/cplus/lex/lex_literal.g.hh>
00004 #include <lestes/lang/cplus/lex/cpp_token.hh>
00005 #include <lestes/lang/cplus/sem/ss_literal_info.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/sem/lex_literal_to_ss_literal_info.g.hh>
00012 
00013 package(lestes);
00014 package(lang);
00015 package(cplus);
00016 package(sem);
00017 
00018 
00019 // ------------- Class lex_literal_to_ss_literal_info follows. -------------
00020 
00021 /*!
00022    \returns The value of lex_literal_to_ss_literal_info::token.
00023    \author lsg
00024  */
00025 ptr< ::lestes::lang::cplus::lex::cpp_token > lex_literal_to_ss_literal_info::token_get() const
00026 {
00027         return token;
00028 }
00029 
00030 /*!
00031    \param[in] x The new value to set lex_literal_to_ss_literal_info::token to.
00032    \author lsg
00033  */
00034 void lex_literal_to_ss_literal_info::token_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > & x)
00035 {
00036         lex_literal_to_ss_literal_info::token = x;
00037 }
00038 
00039 /*!
00040    \returns The value of lex_literal_to_ss_literal_info::result.
00041    \author lsg
00042  */
00043 ptr< ::lestes::lang::cplus::sem::ss_literal_info > lex_literal_to_ss_literal_info::result_get() const
00044 {
00045         return result;
00046 }
00047 
00048 /*!
00049    \param[in] x The new value to set lex_literal_to_ss_literal_info::result to.
00050    \author lsg
00051  */
00052 void lex_literal_to_ss_literal_info::result_set(const ptr< ::lestes::lang::cplus::sem::ss_literal_info > & x)
00053 {
00054         lex_literal_to_ss_literal_info::result = x;
00055 }
00056 
00057 /*!
00058    This factory method for class lex_literal_to_ss_literal_info takes values of all fields as arguments.
00059    \author lsg
00060  */
00061 ptr< lex_literal_to_ss_literal_info > lex_literal_to_ss_literal_info::create(ptr< ::lestes::lang::cplus::lex::cpp_token > a__lex_literal_to_ss_literal_info__token,
00062                 ptr< ::lestes::lang::cplus::sem::ss_literal_info > a__lex_literal_to_ss_literal_info__result)
00063 {
00064         return ptr< lex_literal_to_ss_literal_info > ( new lex_literal_to_ss_literal_info(a__lex_literal_to_ss_literal_info__token,
00065                 a__lex_literal_to_ss_literal_info__result) );
00066 }
00067 
00068 /*!
00069    This factory method for class lex_literal_to_ss_literal_info uses initializers.
00070    \author lsg
00071  */
00072 ptr< lex_literal_to_ss_literal_info > lex_literal_to_ss_literal_info::create(ptr< ::lestes::lang::cplus::lex::cpp_token > a__lex_literal_to_ss_literal_info__token)
00073 {
00074         return ptr< lex_literal_to_ss_literal_info > ( new lex_literal_to_ss_literal_info(a__lex_literal_to_ss_literal_info__token, NULL) );
00075 }
00076 
00077 /*!
00078    Generated constructor for class lex_literal_to_ss_literal_info.
00079    \author lsg
00080  */
00081 lex_literal_to_ss_literal_info::lex_literal_to_ss_literal_info (ptr< ::lestes::lang::cplus::lex::cpp_token > a__lex_literal_to_ss_literal_info__token,
00082                 ptr< ::lestes::lang::cplus::sem::ss_literal_info > a__lex_literal_to_ss_literal_info__result)
00083         : lex_literal_visitor(), token(checked(a__lex_literal_to_ss_literal_info__token)), result(a__lex_literal_to_ss_literal_info__result)
00084 {}
00085 
00086 ptr< object::reflection_list > lex_literal_to_ss_literal_info::reflection_get() const
00087 {
00088         if (!reflection) {
00089                 typedef class_reflection::field_metadata md;
00090                 typedef class_reflection::field_metadata_list mdlist;
00091                 ptr<mdlist> mdl = mdlist::create();
00092                 mdl->push_back( md::create( "token", "cpp_token" ) );
00093                 mdl->push_back( md::create( "result", "ss_literal_info" ) );
00094                 reflection = reflection_list::create( ::lestes::lang::cplus::lex::lex_literal_visitor::reflection_get() );
00095                 reflection->push_back( class_reflection::create( "lex_literal_to_ss_literal_info", mdl ) );
00096         }
00097         return reflection;
00098 }
00099 
00100 ptr< object::field_list_list > lex_literal_to_ss_literal_info::field_values_get() const
00101 {
00102         ptr < field_list_list > result = ::lestes::lang::cplus::lex::lex_literal_visitor::field_values_get();
00103         result->push_back( value_list::create() );
00104         result->back()->push_back( this->token );
00105         result->push_back( value_list::create() );
00106         result->back()->push_back( this->result );
00107         return result;
00108 }
00109 
00110 ptr< ::lestes::lang::cplus::sem::ss_literal_info > lex_literal_to_ss_literal_info::process( const ptr< ::lestes::lang::cplus::lex::lex_literal > & o )
00111 {
00112         lassert2( o, "Cannot visit NULL object." );
00113         o->accept_lex_literal_visitor( ptr< lex_literal_visitor >(this) );
00114         return result_get();
00115 }
00116 
00117 
00118 /*!
00119    Marking routine is used for garbage collection.
00120    \author lsg
00121  */
00122 void lex_literal_to_ss_literal_info::gc_mark()
00123 {
00124 	::lestes::lang::cplus::lex::lex_literal_visitor::gc_mark();
00125 }
00126 
00127 // End of class lex_literal_to_ss_literal_info.
00128 
00129 
00130 // static data members follow 
00131 ptr<object::reflection_list> lex_literal_to_ss_literal_info::reflection = reflection;
00132 
00133 end_package(sem);
00134 end_package(cplus);
00135 end_package(lang);
00136 end_package(lestes);
00137 

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