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