type_info.g.cc

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

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