00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include <lestes/std/list.hh>
00011 #include <lestes/std/pair.hh>
00012 #include <lestes/std/reflect.hh>
00013
00014 #include <lestes/md/registers/tm_register_base.g.hh>
00015
00016 package(lestes);
00017 package(md);
00018 package(registers);
00019
00020
00021
00022
00023
00024
00025
00026
00027 tm_register_base::id_type tm_register_base::id_get() const
00028 {
00029 return id;
00030 }
00031
00032
00033
00034
00035
00036 void tm_register_base::id_set(tm_register_base::id_type x)
00037 {
00038 tm_register_base::id = x;
00039 }
00040
00041
00042
00043
00044
00045 ulint tm_register_base::bitwidth_get() const
00046 {
00047 return bitwidth;
00048 }
00049
00050
00051
00052
00053
00054 void tm_register_base::bitwidth_set(ulint x)
00055 {
00056 tm_register_base::bitwidth = x;
00057 }
00058
00059
00060
00061
00062
00063 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > tm_register_base::compatible_types_get() const
00064 {
00065 return compatible_types;
00066 }
00067
00068
00069
00070
00071
00072 void tm_register_base::compatible_types_set(const ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > & x)
00073 {
00074 tm_register_base::compatible_types = x;
00075 }
00076
00077
00078
00079
00080
00081 ptr< ::lestes::std::set< tm_register_base::id_type > > tm_register_base::aliases_get() const
00082 {
00083 return aliases;
00084 }
00085
00086
00087
00088
00089
00090 void tm_register_base::aliases_set(const ptr< ::lestes::std::set< tm_register_base::id_type > > & x)
00091 {
00092 tm_register_base::aliases = x;
00093 }
00094
00095
00096
00097
00098
00099 ptr< ::lestes::std::set< ulint > > tm_register_base::move_templates_get() const
00100 {
00101 return move_templates;
00102 }
00103
00104
00105
00106
00107
00108 void tm_register_base::move_templates_set(const ptr< ::lestes::std::set< ulint > > & x)
00109 {
00110 tm_register_base::move_templates = x;
00111 }
00112
00113
00114
00115
00116
00117 lstring tm_register_base::asm_output_get() const
00118 {
00119 return asm_output;
00120 }
00121
00122
00123
00124
00125
00126 void tm_register_base::asm_output_set(lstring x)
00127 {
00128 tm_register_base::asm_output = x;
00129 }
00130
00131
00132
00133
00134
00135 ulint tm_register_base::flags_get() const
00136 {
00137 return flags;
00138 }
00139
00140
00141
00142
00143
00144 void tm_register_base::flags_set(ulint x)
00145 {
00146 tm_register_base::flags = x;
00147 }
00148
00149
00150
00151
00152
00153 ptr< tm_register_base > tm_register_base::create(tm_register_base::id_type a__tm_register_base__id,
00154 ulint a__tm_register_base__bitwidth,
00155 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_register_base__compatible_types,
00156 ptr< ::lestes::std::set< tm_register_base::id_type > > a__tm_register_base__aliases,
00157 ptr< ::lestes::std::set< ulint > > a__tm_register_base__move_templates,
00158 lstring a__tm_register_base__asm_output,
00159 ulint a__tm_register_base__flags)
00160 {
00161 return ptr< tm_register_base > ( new tm_register_base(a__tm_register_base__id,
00162 a__tm_register_base__bitwidth,
00163 a__tm_register_base__compatible_types,
00164 a__tm_register_base__aliases,
00165 a__tm_register_base__move_templates,
00166 a__tm_register_base__asm_output,
00167 a__tm_register_base__flags) );
00168 }
00169
00170
00171
00172
00173
00174 ptr< tm_register_base > tm_register_base::create(tm_register_base::id_type a__tm_register_base__id,
00175 ulint a__tm_register_base__bitwidth,
00176 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_register_base__compatible_types,
00177 ptr< ::lestes::std::set< tm_register_base::id_type > > a__tm_register_base__aliases,
00178 ptr< ::lestes::std::set< ulint > > a__tm_register_base__move_templates,
00179 lstring a__tm_register_base__asm_output)
00180 {
00181 return ptr< tm_register_base > ( new tm_register_base(a__tm_register_base__id, a__tm_register_base__bitwidth, a__tm_register_base__compatible_types, a__tm_register_base__aliases, a__tm_register_base__move_templates, a__tm_register_base__asm_output, 0) );
00182 }
00183
00184
00185
00186
00187
00188 tm_register_base::tm_register_base (tm_register_base::id_type a__tm_register_base__id,
00189 ulint a__tm_register_base__bitwidth,
00190 ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_register_base__compatible_types,
00191 ptr< ::lestes::std::set< tm_register_base::id_type > > a__tm_register_base__aliases,
00192 ptr< ::lestes::std::set< ulint > > a__tm_register_base__move_templates,
00193 lstring a__tm_register_base__asm_output,
00194 ulint a__tm_register_base__flags)
00195 : ::lestes::std::object(), id(a__tm_register_base__id), bitwidth(a__tm_register_base__bitwidth), compatible_types(checked(a__tm_register_base__compatible_types)), aliases(checked(a__tm_register_base__aliases)), move_templates(checked(a__tm_register_base__move_templates)), asm_output(a__tm_register_base__asm_output), flags(a__tm_register_base__flags)
00196 {}
00197
00198 ptr< object::reflection_list > tm_register_base::reflection_get() const
00199 {
00200 if (!reflection) {
00201 typedef class_reflection::field_metadata md;
00202 typedef class_reflection::field_metadata_list mdlist;
00203 ptr<mdlist> mdl = mdlist::create();
00204 mdl->push_back( md::create( "id", "tm_register_base::id_type" ) );
00205 mdl->push_back( md::create( "bitwidth", "ulint" ) );
00206 mdl->push_back( md::create( "compatible_types", "set< ::lestes::md::types::tm_data_type_base::id_type >" ) );
00207 mdl->push_back( md::create( "aliases", "set< tm_register_base::id_type >" ) );
00208 mdl->push_back( md::create( "move_templates", "set< ulint >" ) );
00209 mdl->push_back( md::create( "asm_output", "lstring" ) );
00210 mdl->push_back( md::create( "flags", "ulint" ) );
00211 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00212 reflection->push_back( class_reflection::create( "tm_register_base", mdl ) );
00213 }
00214 return reflection;
00215 }
00216
00217 ptr< object::field_list_list > tm_register_base::field_values_get() const
00218 {
00219 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00220 result->push_back( value_list::create() );
00221 result->back()->push_back( objectize< tm_register_base::id_type > ::create( this->id ) );
00222 result->push_back( value_list::create() );
00223 result->back()->push_back( objectize< ulint > ::create( this->bitwidth ) );
00224 result->push_back( value_list::create() );
00225 result->back()->push_back( this->compatible_types );
00226 result->push_back( value_list::create() );
00227 result->back()->push_back( this->aliases );
00228 result->push_back( value_list::create() );
00229 result->back()->push_back( this->move_templates );
00230 result->push_back( value_list::create() );
00231 result->back()->push_back( objectize< lstring > ::create( this->asm_output ) );
00232 result->push_back( value_list::create() );
00233 result->back()->push_back( objectize< ulint > ::create( this->flags ) );
00234 return result;
00235 }
00236
00237
00238
00239
00240
00241
00242 void tm_register_base::gc_mark()
00243 {
00244 ::lestes::std::object::gc_mark();
00245 }
00246
00247
00248
00249
00250
00251 ptr<object::reflection_list> tm_register_base::reflection = reflection;
00252
00253 end_package(registers);
00254 end_package(md);
00255 end_package(lestes);
00256