00001
00002
00003
00004
00005
00006
00007
00008
00009 #include <lestes/backend_v2/intercode/pi_mem_factory.g.hh>
00010 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00011 #include <lestes/lang/cplus/sem/ss_declaration.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/functions/function_parameter_accessor.g.hh>
00018
00019 package(lestes);
00020 package(md);
00021 package(functions);
00022
00023
00024
00025
00026
00027
00028
00029
00030 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > function_parameter_accessor::this_par_get() const
00031 {
00032 return this_par;
00033 }
00034
00035
00036
00037
00038
00039 void function_parameter_accessor::this_par_set(const ptr< ::lestes::backend_v2::intercode::pi_mem_factory > & x)
00040 {
00041 function_parameter_accessor::this_par = x;
00042 }
00043
00044
00045
00046
00047
00048 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > function_parameter_accessor::ret_val_par_get() const
00049 {
00050 return ret_val_par;
00051 }
00052
00053
00054
00055
00056
00057 void function_parameter_accessor::ret_val_par_set(const ptr< ::lestes::backend_v2::intercode::pi_mem_factory > & x)
00058 {
00059 function_parameter_accessor::ret_val_par = x;
00060 }
00061
00062
00063
00064
00065
00066 t_ptrdiff function_parameter_accessor::this_end_offset_get() const
00067 {
00068 return this_end_offset;
00069 }
00070
00071
00072
00073
00074
00075 void function_parameter_accessor::this_end_offset_set(t_ptrdiff x)
00076 {
00077 function_parameter_accessor::this_end_offset = x;
00078 }
00079
00080
00081
00082
00083
00084 t_ptrdiff function_parameter_accessor::ret_val_end_offset_get() const
00085 {
00086 return ret_val_end_offset;
00087 }
00088
00089
00090
00091
00092
00093 void function_parameter_accessor::ret_val_end_offset_set(t_ptrdiff x)
00094 {
00095 function_parameter_accessor::ret_val_end_offset = x;
00096 }
00097
00098
00099
00100
00101
00102 ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > > function_parameter_accessor::params_get() const
00103 {
00104 return params;
00105 }
00106
00107
00108
00109
00110
00111 void function_parameter_accessor::params_set(const ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > > & x)
00112 {
00113 function_parameter_accessor::params = x;
00114 }
00115
00116
00117
00118
00119
00120 ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< function_parameter_accessor > > > function_parameter_accessor::singleton_instances_get()
00121 {
00122 return singleton_instances;
00123 }
00124
00125
00126
00127
00128
00129 void function_parameter_accessor::singleton_instances_set(const ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< function_parameter_accessor > > > & x)
00130 {
00131 function_parameter_accessor::singleton_instances = x;
00132 }
00133
00134
00135
00136
00137
00138 ptr< function_parameter_accessor > function_parameter_accessor::create(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__function_parameter_accessor_base__function,
00139 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__function_parameter_accessor__this_par,
00140 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__function_parameter_accessor__ret_val_par,
00141 t_ptrdiff a__function_parameter_accessor__this_end_offset,
00142 t_ptrdiff a__function_parameter_accessor__ret_val_end_offset,
00143 ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > > a__function_parameter_accessor__params)
00144 {
00145 return ptr< function_parameter_accessor > ( new function_parameter_accessor(a__function_parameter_accessor_base__function,
00146 a__function_parameter_accessor__this_par,
00147 a__function_parameter_accessor__ret_val_par,
00148 a__function_parameter_accessor__this_end_offset,
00149 a__function_parameter_accessor__ret_val_end_offset,
00150 a__function_parameter_accessor__params) );
00151 }
00152
00153
00154
00155
00156
00157 ptr< function_parameter_accessor > function_parameter_accessor::create(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__function_parameter_accessor_base__function)
00158 {
00159 return ptr< function_parameter_accessor > ( new function_parameter_accessor(a__function_parameter_accessor_base__function, NULL, NULL, 0, 0, ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > ::create()) );
00160 }
00161
00162
00163
00164
00165
00166 function_parameter_accessor::function_parameter_accessor (ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__function_parameter_accessor_base__function,
00167 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__function_parameter_accessor__this_par,
00168 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__function_parameter_accessor__ret_val_par,
00169 t_ptrdiff a__function_parameter_accessor__this_end_offset,
00170 t_ptrdiff a__function_parameter_accessor__ret_val_end_offset,
00171 ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > > a__function_parameter_accessor__params)
00172 : function_parameter_accessor_base(a__function_parameter_accessor_base__function), this_par(a__function_parameter_accessor__this_par), ret_val_par(a__function_parameter_accessor__ret_val_par), this_end_offset(a__function_parameter_accessor__this_end_offset), ret_val_end_offset(a__function_parameter_accessor__ret_val_end_offset), params(checked(a__function_parameter_accessor__params))
00173 {}
00174
00175 ptr< object::reflection_list > function_parameter_accessor::reflection_get() const
00176 {
00177 if (!reflection) {
00178 typedef class_reflection::field_metadata md;
00179 typedef class_reflection::field_metadata_list mdlist;
00180 ptr<mdlist> mdl = mdlist::create();
00181 mdl->push_back( md::create( "this_par", "pi_mem_factory" ) );
00182 mdl->push_back( md::create( "ret_val_par", "pi_mem_factory" ) );
00183 mdl->push_back( md::create( "this_end_offset", "t_ptrdiff" ) );
00184 mdl->push_back( md::create( "ret_val_end_offset", "t_ptrdiff" ) );
00185 mdl->push_back( md::create( "params", "map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > >" ) );
00186 mdl->push_back( md::create( "singleton_instances", "map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< function_parameter_accessor > >" ) );
00187 reflection = reflection_list::create( function_parameter_accessor_base::reflection_get() );
00188 reflection->push_back( class_reflection::create( "function_parameter_accessor", mdl ) );
00189 }
00190 return reflection;
00191 }
00192
00193 ptr< object::field_list_list > function_parameter_accessor::field_values_get() const
00194 {
00195 ptr < field_list_list > result = function_parameter_accessor_base::field_values_get();
00196 result->push_back( value_list::create() );
00197 result->back()->push_back( this->this_par );
00198 result->push_back( value_list::create() );
00199 result->back()->push_back( this->ret_val_par );
00200 result->push_back( value_list::create() );
00201 result->back()->push_back( objectize< t_ptrdiff > ::create( this->this_end_offset ) );
00202 result->push_back( value_list::create() );
00203 result->back()->push_back( objectize< t_ptrdiff > ::create( this->ret_val_end_offset ) );
00204 result->push_back( value_list::create() );
00205 result->back()->push_back( this->params );
00206 result->push_back( value_list::create() );
00207 result->back()->push_back( this->singleton_instances );
00208 return result;
00209 }
00210
00211
00212
00213
00214
00215
00216 void function_parameter_accessor::gc_mark()
00217 {
00218 function_parameter_accessor_base::gc_mark();
00219 }
00220
00221
00222
00223
00224
00225 ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< function_parameter_accessor > > > function_parameter_accessor::singleton_instances = ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< function_parameter_accessor > > ::create();
00226 ptr<object::reflection_list> function_parameter_accessor::reflection = reflection;
00227
00228 end_package(functions);
00229 end_package(md);
00230 end_package(lestes);
00231