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
1.5.1-20070107