function_parameter_accessor.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Function parameter accessor.
00006         \author jaz
00007 */
00008 
00009 #ifndef lestes__md__functions__function_parameter_accessor_g_hh__included
00010 #define lestes__md__functions__function_parameter_accessor_g_hh__included
00011 
00012 #include <lestes/std/map.hh>
00013 #include <lestes/md/common.hh>
00014 #include <lestes/md/functions/function_parameter_accessor_base.g.hh>
00015 
00016 #include <lestes/std/objectize_macros.hh>
00017 package(lestes);
00018 package(std);
00019 class object;
00020 end_package(std);
00021 end_package(lestes);
00022 
00023 package(lestes);
00024 package(lang);
00025 package(cplus);
00026 package(sem);
00027 class ss_function_declaration;
00028 end_package(sem);
00029 end_package(cplus);
00030 end_package(lang);
00031 end_package(lestes);
00032 
00033 package(lestes);
00034 package(backend_v2);
00035 package(intercode);
00036 class pi_mem_factory;
00037 end_package(intercode);
00038 end_package(backend_v2);
00039 end_package(lestes);
00040 
00041 package(lestes);
00042 package(md);
00043 package(functions);
00044 
00045 
00046 class function_parameter_accessor;
00047 
00048 
00049 //! Interface used for accessing function's parameters within the function.
00050 class function_parameter_accessor : public function_parameter_accessor_base {
00051 public:
00052         //! The method this_par_get returns the value of the field function_parameter_accessor::this_par.
00053         ptr< ::lestes::backend_v2::intercode::pi_mem_factory > this_par_get() const;
00054 
00055         //! The method this_par_set sets the field function_parameter_accessor::this_par to the given value.
00056         void this_par_set(const ptr< ::lestes::backend_v2::intercode::pi_mem_factory > &);
00057 
00058         //! The method ret_val_par_get returns the value of the field function_parameter_accessor::ret_val_par.
00059         ptr< ::lestes::backend_v2::intercode::pi_mem_factory > ret_val_par_get() const;
00060 
00061         //! The method ret_val_par_set sets the field function_parameter_accessor::ret_val_par to the given value.
00062         void ret_val_par_set(const ptr< ::lestes::backend_v2::intercode::pi_mem_factory > &);
00063 
00064         //! The method this_end_offset_get returns the value of the field function_parameter_accessor::this_end_offset.
00065         t_ptrdiff this_end_offset_get() const;
00066 
00067         //! The method this_end_offset_set sets the field function_parameter_accessor::this_end_offset to the given value.
00068         void this_end_offset_set(t_ptrdiff);
00069 
00070         //! The method ret_val_end_offset_get returns the value of the field function_parameter_accessor::ret_val_end_offset.
00071         t_ptrdiff ret_val_end_offset_get() const;
00072 
00073         //! The method ret_val_end_offset_set sets the field function_parameter_accessor::ret_val_end_offset to the given value.
00074         void ret_val_end_offset_set(t_ptrdiff);
00075 
00076         //! The method params_get returns the value of the field function_parameter_accessor::params.
00077         ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > > params_get() const;
00078 
00079         //! The method params_set sets the field function_parameter_accessor::params to the given value.
00080         void params_set(const ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > > & );
00081 
00082         //! The method singleton_instances_get returns the value of the field function_parameter_accessor::singleton_instances.
00083         static ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< function_parameter_accessor > > > singleton_instances_get();
00084 
00085         //! The method singleton_instances_set sets the field function_parameter_accessor::singleton_instances to the given value.
00086         static void singleton_instances_set(const ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< function_parameter_accessor > > > & );
00087 
00088         //! Gets parameter with given index.
00089         virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > get_parameter(ulint index);
00090 
00091         //! Gets secret "this" parameter.
00092         virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > get_this();
00093 
00094         //! Gets secret parameter with pointer to space for returning value from the function.
00095         virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > get_ret_val();
00096 
00097         static ptr< function_parameter_accessor > instance(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > function);
00098 
00099         
00100         //! First generated factory method for class function_parameter_accessor.
00101         static ptr< function_parameter_accessor > create (
00102                 ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__function_parameter_accessor_base__function,
00103                 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__function_parameter_accessor__this_par,
00104                 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__function_parameter_accessor__ret_val_par,
00105                 t_ptrdiff a__function_parameter_accessor__this_end_offset,
00106                 t_ptrdiff a__function_parameter_accessor__ret_val_end_offset,
00107                 ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > > a__function_parameter_accessor__params);
00108 
00109         //! Second generated factory method for class function_parameter_accessor.
00110         static ptr< function_parameter_accessor > create (
00111                 ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__function_parameter_accessor_base__function);
00112 
00113         
00114 
00115         //! for purposes of dumping
00116         virtual ptr<reflection_list> reflection_get() const;
00117         //! for purposes of dumping
00118         virtual ptr<field_list_list> field_values_get() const;
00119         
00120 protected:
00121         //! Generated constructor for class function_parameter_accessor.
00122         function_parameter_accessor (
00123                 ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__function_parameter_accessor_base__function,
00124                 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__function_parameter_accessor__this_par,
00125                 ptr< ::lestes::backend_v2::intercode::pi_mem_factory > a__function_parameter_accessor__ret_val_par,
00126                 t_ptrdiff a__function_parameter_accessor__this_end_offset,
00127                 t_ptrdiff a__function_parameter_accessor__ret_val_end_offset,
00128                 ptr< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > > a__function_parameter_accessor__params);
00129 
00130         //! Marking routine for class function_parameter_accessor. 
00131         virtual void gc_mark();
00132 
00133 private:
00134         //! "this" parameter.
00135         srp< ::lestes::backend_v2::intercode::pi_mem_factory > this_par;
00136         //! Secret parameter with pointer to space for returning value from the function.
00137         srp< ::lestes::backend_v2::intercode::pi_mem_factory > ret_val_par;
00138         //! Stack offset where "this" parameter ends.
00139         t_ptrdiff this_end_offset;
00140         //! Stack offset where ret_val parameter ends.
00141         t_ptrdiff ret_val_end_offset;
00142         //! Mapping from parameter index to parameter.
00143         srp< ::lestes::std::map< ulint, srp< ::lestes::backend_v2::intercode::pi_mem_factory > > >  params;
00144         static ptr< ::lestes::std::map< srp< ::lestes::lang::cplus::sem::ss_function_declaration >, srp< function_parameter_accessor > > >  singleton_instances;
00145         static ptr<reflection_list> reflection;
00146         
00147 }; // function_parameter_accessor
00148 
00149 
00150 end_package(functions);
00151 end_package(md);
00152 end_package(lestes);
00153 
00154 #endif // lestes__md__functions__function_parameter_accessor_g_hh__included

Generated on Mon Feb 12 18:22:34 2007 for lestes by doxygen 1.5.1-20070107