ss_declaration2ss_object_declaration.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Declaration convertor.
00006         Vistior recognizing ss_object_declaration.
00007 */
00008 
00009 #include <lestes/lang/cplus/sem/ss_declaration.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/ss_declaration2ss_object_declaration.g.hh>
00016 
00017 package(lestes);
00018 package(lang);
00019 package(cplus);
00020 package(sem);
00021 
00022 
00023 // ------------- Class ss_declaration2ss_object_declaration follows. -------------
00024 
00025 /*!
00026    \returns The value of ss_declaration2ss_object_declaration::result.
00027    \author lsg
00028  */
00029 ptr< ::lestes::lang::cplus::sem::ss_object_declaration > ss_declaration2ss_object_declaration::result_get() const
00030 {
00031         return result;
00032 }
00033 
00034 /*!
00035    \param[in] x The new value to set ss_declaration2ss_object_declaration::result to.
00036    \author lsg
00037  */
00038 void ss_declaration2ss_object_declaration::result_set(const ptr< ::lestes::lang::cplus::sem::ss_object_declaration > & x)
00039 {
00040         ss_declaration2ss_object_declaration::result = x;
00041 }
00042 
00043 /*!
00044    Static field ss_declaration2ss_object_declaration::the_instance.
00045    \author lsg
00046  */
00047 ptr< ss_declaration2ss_object_declaration > ss_declaration2ss_object_declaration::the_instance = the_instance;
00048 
00049 /*!
00050    Generated instance() method for singleton class ss_declaration2ss_object_declaration.
00051    \author lsg
00052  */
00053 ptr< ss_declaration2ss_object_declaration > ss_declaration2ss_object_declaration::instance()
00054 {
00055          return the_instance ? the_instance : the_instance = new ss_declaration2ss_object_declaration(NULL);
00056 }
00057 
00058 /*!
00059    Generated constructor for class ss_declaration2ss_object_declaration.
00060    \author lsg
00061  */
00062 ss_declaration2ss_object_declaration::ss_declaration2ss_object_declaration (ptr< ::lestes::lang::cplus::sem::ss_object_declaration > a__ss_declaration2ss_object_declaration__result)
00063         : ss_declaration_default_visitor(), result(a__ss_declaration2ss_object_declaration__result)
00064 {}
00065 
00066 ptr< object::reflection_list > ss_declaration2ss_object_declaration::reflection_get() const
00067 {
00068         if (!reflection) {
00069                 typedef class_reflection::field_metadata md;
00070                 typedef class_reflection::field_metadata_list mdlist;
00071                 ptr<mdlist> mdl = mdlist::create();
00072                 mdl->push_back( md::create( "result", "ss_object_declaration" ) );
00073                 reflection = reflection_list::create( ss_declaration_default_visitor::reflection_get() );
00074                 reflection->push_back( class_reflection::create( "ss_declaration2ss_object_declaration", mdl ) );
00075         }
00076         return reflection;
00077 }
00078 
00079 ptr< object::field_list_list > ss_declaration2ss_object_declaration::field_values_get() const
00080 {
00081         ptr < field_list_list > result = ss_declaration_default_visitor::field_values_get();
00082         result->push_back( value_list::create() );
00083         result->back()->push_back( this->result );
00084         return result;
00085 }
00086 
00087 ptr< ::lestes::lang::cplus::sem::ss_object_declaration > ss_declaration2ss_object_declaration::process( const ptr< ::lestes::lang::cplus::sem::ss_declaration > & o )
00088 {
00089         lassert2( o, "Cannot visit NULL object." );
00090         o->accept_ss_declaration_visitor( ptr< ss_declaration_visitor >(this) );
00091         return result_get();
00092 }
00093 
00094 
00095 /*!
00096    Marking routine is used for garbage collection.
00097    \author lsg
00098  */
00099 void ss_declaration2ss_object_declaration::gc_mark()
00100 {
00101         ss_declaration_default_visitor::gc_mark();
00102 }
00103 
00104 // End of class ss_declaration2ss_object_declaration.
00105 
00106 
00107 // static data members follow 
00108 ptr<object::reflection_list> ss_declaration2ss_object_declaration::reflection = reflection;
00109 
00110 end_package(sem);
00111 end_package(cplus);
00112 end_package(lang);
00113 end_package(lestes);
00114 

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