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/backend_v2/interface/backend_data_builder.g.hh>
00015
00016 package(lestes);
00017 package(backend_v2);
00018 package(interface);
00019
00020
00021
00022
00023
00024
00025
00026
00027 ptr< backend_data_builder > backend_data_builder::singleton_instance_get()
00028 {
00029 return singleton_instance;
00030 }
00031
00032
00033
00034
00035
00036 void backend_data_builder::singleton_instance_set(const ptr< backend_data_builder > & x)
00037 {
00038 backend_data_builder::singleton_instance = x;
00039 }
00040
00041
00042
00043
00044
00045 ptr< ::lestes::std::vector< srp< builder_func_data > > > backend_data_builder::functions_get() const
00046 {
00047 return functions;
00048 }
00049
00050
00051
00052
00053
00054 void backend_data_builder::functions_set(const ptr< ::lestes::std::vector< srp< builder_func_data > > > & x)
00055 {
00056 backend_data_builder::functions = x;
00057 }
00058
00059
00060
00061
00062
00063 ptr< builder_func_data > backend_data_builder::current_function_body_get() const
00064 {
00065 return current_function_body;
00066 }
00067
00068
00069
00070
00071
00072 void backend_data_builder::current_function_body_set(const ptr< builder_func_data > & x)
00073 {
00074 backend_data_builder::current_function_body = x;
00075 }
00076
00077
00078
00079
00080
00081 ptr< backend_data_builder > backend_data_builder::create(ptr< ::lestes::std::vector< srp< builder_func_data > > > a__backend_data_builder__functions,
00082 ptr< builder_func_data > a__backend_data_builder__current_function_body)
00083 {
00084 return ptr< backend_data_builder > ( new backend_data_builder(a__backend_data_builder__functions,
00085 a__backend_data_builder__current_function_body) );
00086 }
00087
00088
00089
00090
00091
00092 ptr< backend_data_builder > backend_data_builder::create()
00093 {
00094 return ptr< backend_data_builder > ( new backend_data_builder(::lestes::std::vector< srp< builder_func_data > > ::create(), NULL) );
00095 }
00096
00097
00098
00099
00100
00101 backend_data_builder::backend_data_builder (ptr< ::lestes::std::vector< srp< builder_func_data > > > a__backend_data_builder__functions,
00102 ptr< builder_func_data > a__backend_data_builder__current_function_body)
00103 : ::lestes::std::object(), functions(checked(a__backend_data_builder__functions)), current_function_body(a__backend_data_builder__current_function_body)
00104 {}
00105
00106 ptr< object::reflection_list > backend_data_builder::reflection_get() const
00107 {
00108 if (!reflection) {
00109 typedef class_reflection::field_metadata md;
00110 typedef class_reflection::field_metadata_list mdlist;
00111 ptr<mdlist> mdl = mdlist::create();
00112 mdl->push_back( md::create( "singleton_instance", "backend_data_builder" ) );
00113 mdl->push_back( md::create( "functions", "vector< srp< builder_func_data > >" ) );
00114 mdl->push_back( md::create( "current_function_body", "builder_func_data" ) );
00115 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00116 reflection->push_back( class_reflection::create( "backend_data_builder", mdl ) );
00117 }
00118 return reflection;
00119 }
00120
00121 ptr< object::field_list_list > backend_data_builder::field_values_get() const
00122 {
00123 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00124 result->push_back( value_list::create() );
00125 result->back()->push_back( this->singleton_instance );
00126 result->push_back( value_list::create() );
00127 result->back()->push_back( this->functions );
00128 result->push_back( value_list::create() );
00129 result->back()->push_back( this->current_function_body );
00130 return result;
00131 }
00132
00133
00134
00135
00136
00137
00138 void backend_data_builder::gc_mark()
00139 {
00140 ::lestes::std::object::gc_mark();
00141 }
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151 ptr< ::lestes::lang::cplus::sem::ss_function_declaration > builder_func_data::function_decl_get() const
00152 {
00153 return function_decl;
00154 }
00155
00156
00157
00158
00159
00160 void builder_func_data::function_decl_set(const ptr< ::lestes::lang::cplus::sem::ss_function_declaration > & x)
00161 {
00162 builder_func_data::function_decl = x;
00163 }
00164
00165
00166
00167
00168
00169 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > builder_func_data::pi_body_get() const
00170 {
00171 return pi_body;
00172 }
00173
00174
00175
00176
00177
00178 void builder_func_data::pi_body_set(const ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > & x)
00179 {
00180 builder_func_data::pi_body = x;
00181 }
00182
00183
00184
00185
00186
00187 ptr< builder_func_data > builder_func_data::create(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__builder_func_data__function_decl,
00188 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > a__builder_func_data__pi_body)
00189 {
00190 return ptr< builder_func_data > ( new builder_func_data(a__builder_func_data__function_decl,
00191 a__builder_func_data__pi_body) );
00192 }
00193
00194
00195
00196
00197
00198 ptr< builder_func_data > builder_func_data::create(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__builder_func_data__function_decl)
00199 {
00200 return ptr< builder_func_data > ( new builder_func_data(a__builder_func_data__function_decl, ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > ::create()) );
00201 }
00202
00203
00204
00205
00206
00207 builder_func_data::builder_func_data (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__builder_func_data__function_decl,
00208 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > a__builder_func_data__pi_body)
00209 : ::lestes::std::object(), function_decl(checked(a__builder_func_data__function_decl)), pi_body(checked(a__builder_func_data__pi_body))
00210 {}
00211
00212 ptr< object::reflection_list > builder_func_data::reflection_get() const
00213 {
00214 if (!reflection) {
00215 typedef class_reflection::field_metadata md;
00216 typedef class_reflection::field_metadata_list mdlist;
00217 ptr<mdlist> mdl = mdlist::create();
00218 mdl->push_back( md::create( "function_decl", "ss_function_declaration" ) );
00219 mdl->push_back( md::create( "pi_body", "list< srp< ::lestes::backend_v2::intercode::pi_pi > >" ) );
00220 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00221 reflection->push_back( class_reflection::create( "builder_func_data", mdl ) );
00222 }
00223 return reflection;
00224 }
00225
00226 ptr< object::field_list_list > builder_func_data::field_values_get() const
00227 {
00228 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00229 result->push_back( value_list::create() );
00230 result->back()->push_back( this->function_decl );
00231 result->push_back( value_list::create() );
00232 result->back()->push_back( this->pi_body );
00233 return result;
00234 }
00235
00236
00237
00238
00239
00240
00241 void builder_func_data::gc_mark()
00242 {
00243 ::lestes::std::object::gc_mark();
00244 }
00245
00246
00247
00248
00249
00250 ptr< backend_data_builder > backend_data_builder::singleton_instance = NULL;
00251 ptr<object::reflection_list> backend_data_builder::reflection = reflection;
00252 ptr<object::reflection_list> builder_func_data::reflection = reflection;
00253
00254 end_package(interface);
00255 end_package(backend_v2);
00256 end_package(lestes);
00257