as_declarator_op2ss_type.g.cc

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

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