sa_param_declaration_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 Parameter declaration type analysis.
00006         
00007                         Transformation of parameter declaration to SS type.
00008                 
00009 */
00010 
00011 #include <lestes/lang/cplus/sem/as_decl.g.hh>
00012 #include <lestes/lang/cplus/sem/ss_misc.g.hh>
00013 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00014 
00015 #include <lestes/std/list.hh>
00016 #include <lestes/std/pair.hh>
00017 #include <lestes/std/reflect.hh>
00018 
00019 #include <lestes/lang/cplus/sem/sa_param_declaration_type.g.hh>
00020 
00021 package(lestes);
00022 package(lang);
00023 package(cplus);
00024 package(sem);
00025 
00026 
00027 // ------------- Class sa_param_declaration_type follows. -------------
00028 
00029 /*!
00030    \returns The value of sa_param_declaration_type::type.
00031    \author lsg
00032  */
00033 ptr< ss_type > sa_param_declaration_type::type_get() const
00034 {
00035         return type;
00036 }
00037 
00038 /*!
00039    This factory method for class sa_param_declaration_type takes values of all fields as arguments.
00040    \author lsg
00041  */
00042 ptr< sa_param_declaration_type > sa_param_declaration_type::create(ptr< ss_type > a__sa_param_declaration_type__type)
00043 {
00044         return ptr< sa_param_declaration_type > ( new sa_param_declaration_type(a__sa_param_declaration_type__type) );
00045 }
00046 
00047 /*!
00048    This factory method for class sa_param_declaration_type uses initializers.
00049    \author lsg
00050  */
00051 ptr< sa_param_declaration_type > sa_param_declaration_type::create()
00052 {
00053         return ptr< sa_param_declaration_type > ( new sa_param_declaration_type(NULL) );
00054 }
00055 
00056 /*!
00057    Generated constructor for class sa_param_declaration_type.
00058    \author lsg
00059  */
00060 sa_param_declaration_type::sa_param_declaration_type (ptr< ss_type > a__sa_param_declaration_type__type)
00061         : object(), type(a__sa_param_declaration_type__type)
00062 {}
00063 
00064 ptr< object::reflection_list > sa_param_declaration_type::reflection_get() const
00065 {
00066         if (!reflection) {
00067                 typedef class_reflection::field_metadata md;
00068                 typedef class_reflection::field_metadata_list mdlist;
00069                 ptr<mdlist> mdl = mdlist::create();
00070                 mdl->push_back( md::create( "type", "ss_type" ) );
00071                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00072                 reflection->push_back( class_reflection::create( "sa_param_declaration_type", mdl ) );
00073         }
00074         return reflection;
00075 }
00076 
00077 ptr< object::field_list_list > sa_param_declaration_type::field_values_get() const
00078 {
00079         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00080         result->push_back( value_list::create() );
00081         result->back()->push_back( this->type );
00082         return result;
00083 }
00084 
00085 
00086 /*!
00087    Marking routine is used for garbage collection.
00088    \author lsg
00089  */
00090 void sa_param_declaration_type::gc_mark()
00091 {
00092 	::lestes::std::object::gc_mark();
00093 }
00094 
00095 // End of class sa_param_declaration_type.
00096 
00097 
00098 // static data members follow 
00099 ptr<object::reflection_list> sa_param_declaration_type::reflection = reflection;
00100 
00101 end_package(sem);
00102 end_package(cplus);
00103 end_package(lang);
00104 end_package(lestes);
00105 

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