00001
00002
00003
00004
00005
00006
00007
00008 #include <lestes/lang/cplus/sem/ss_declaration.g.hh>
00009 #include <lestes/backend_v2/intercode/pi.g.hh>
00010 #include <lestes/backend_v2/intercode/ge.g.hh>
00011 #include <lestes/backend_v2/workers/bb_finder.g.hh>
00012 #include <lestes/backend_v2/workers/alloc_int_finder.g.hh>
00013
00014 #include <lestes/std/list.hh>
00015 #include <lestes/std/pair.hh>
00016 #include <lestes/std/reflect.hh>
00017
00018 #include <lestes/backend_v2/structs/func_data.g.hh>
00019
00020 package(lestes);
00021 package(backend_v2);
00022 package(structs);
00023
00024
00025
00026
00027
00028
00029
00030
00031 ptr< ::lestes::lang::cplus::sem::ss_function_declaration > func_data::function_decl_get() const
00032 {
00033 return function_decl;
00034 }
00035
00036
00037
00038
00039
00040 void func_data::function_decl_set(const ptr< ::lestes::lang::cplus::sem::ss_function_declaration > & x)
00041 {
00042 func_data::function_decl = x;
00043 }
00044
00045
00046
00047
00048
00049 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > func_data::pi_body_get() const
00050 {
00051 return pi_body;
00052 }
00053
00054
00055
00056
00057
00058 void func_data::pi_body_set(const ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > & x)
00059 {
00060 func_data::pi_body = x;
00061 }
00062
00063
00064
00065
00066
00067 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::ge_pi > > > func_data::ge_body_get() const
00068 {
00069 return ge_body;
00070 }
00071
00072
00073
00074
00075
00076 void func_data::ge_body_set(const ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::ge_pi > > > & x)
00077 {
00078 func_data::ge_body = x;
00079 }
00080
00081
00082
00083
00084
00085 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::basic_block > > > func_data::bbs_get() const
00086 {
00087 return bbs;
00088 }
00089
00090
00091
00092
00093
00094 void func_data::bbs_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::basic_block > > > & x)
00095 {
00096 func_data::bbs = x;
00097 }
00098
00099
00100
00101
00102
00103 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > func_data::alloc_ints_get() const
00104 {
00105 return alloc_ints;
00106 }
00107
00108
00109
00110
00111
00112 void func_data::alloc_ints_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > & x)
00113 {
00114 func_data::alloc_ints = x;
00115 }
00116
00117
00118
00119
00120
00121 ptr< func_data > func_data::create(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__func_data__function_decl,
00122 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > a__func_data__pi_body,
00123 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__func_data__ge_body,
00124 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::basic_block > > > a__func_data__bbs,
00125 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > a__func_data__alloc_ints)
00126 {
00127 return ptr< func_data > ( new func_data(a__func_data__function_decl,
00128 a__func_data__pi_body,
00129 a__func_data__ge_body,
00130 a__func_data__bbs,
00131 a__func_data__alloc_ints) );
00132 }
00133
00134
00135
00136
00137
00138 ptr< func_data > func_data::create(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__func_data__function_decl)
00139 {
00140 return ptr< func_data > ( new func_data(a__func_data__function_decl, ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > ::create(), ::lestes::std::list< srp< ::lestes::backend_v2::intercode::ge_pi > > ::create(), ::lestes::std::vector< srp< ::lestes::backend_v2::workers::basic_block > > ::create(), ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > ::create()) );
00141 }
00142
00143
00144
00145
00146
00147 func_data::func_data (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__func_data__function_decl,
00148 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::pi_pi > > > a__func_data__pi_body,
00149 ptr< ::lestes::std::list< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__func_data__ge_body,
00150 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::basic_block > > > a__func_data__bbs,
00151 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::workers::alloc_interval > > > a__func_data__alloc_ints)
00152 : ::lestes::std::object(), function_decl(checked(a__func_data__function_decl)), pi_body(checked(a__func_data__pi_body)), ge_body(checked(a__func_data__ge_body)), bbs(checked(a__func_data__bbs)), alloc_ints(checked(a__func_data__alloc_ints))
00153 {}
00154
00155 ptr< object::reflection_list > func_data::reflection_get() const
00156 {
00157 if (!reflection) {
00158 typedef class_reflection::field_metadata md;
00159 typedef class_reflection::field_metadata_list mdlist;
00160 ptr<mdlist> mdl = mdlist::create();
00161 mdl->push_back( md::create( "function_decl", "ss_function_declaration" ) );
00162 mdl->push_back( md::create( "pi_body", "list< srp< ::lestes::backend_v2::intercode::pi_pi > >" ) );
00163 mdl->push_back( md::create( "ge_body", "list< srp< ::lestes::backend_v2::intercode::ge_pi > >" ) );
00164 mdl->push_back( md::create( "bbs", "vector< srp< ::lestes::backend_v2::workers::basic_block > >" ) );
00165 mdl->push_back( md::create( "alloc_ints", "vector< srp< ::lestes::backend_v2::workers::alloc_interval > >" ) );
00166 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00167 reflection->push_back( class_reflection::create( "func_data", mdl ) );
00168 }
00169 return reflection;
00170 }
00171
00172 ptr< object::field_list_list > func_data::field_values_get() const
00173 {
00174 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00175 result->push_back( value_list::create() );
00176 result->back()->push_back( this->function_decl );
00177 result->push_back( value_list::create() );
00178 result->back()->push_back( this->pi_body );
00179 result->push_back( value_list::create() );
00180 result->back()->push_back( this->ge_body );
00181 result->push_back( value_list::create() );
00182 result->back()->push_back( this->bbs );
00183 result->push_back( value_list::create() );
00184 result->back()->push_back( this->alloc_ints );
00185 return result;
00186 }
00187
00188
00189
00190
00191
00192
00193 void func_data::gc_mark()
00194 {
00195 ::lestes::std::object::gc_mark();
00196 }
00197
00198
00199
00200
00201
00202 ptr<object::reflection_list> func_data::reflection = reflection;
00203
00204 end_package(structs);
00205 end_package(backend_v2);
00206 end_package(lestes);
00207