function_parameter_accessor_base.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Base for function parameter accessors
00006         \author jaz
00007 */
00008 
00009 #ifndef lestes__md__functions__function_parameter_accessor_base_g_hh__included
00010 #define lestes__md__functions__function_parameter_accessor_base_g_hh__included
00011 
00012 #include <lestes/md/common.hh>
00013 
00014 #include <lestes/std/objectize_macros.hh>
00015 package(lestes);
00016 package(std);
00017 class object;
00018 end_package(std);
00019 end_package(lestes);
00020 
00021 package(lestes);
00022 package(lang);
00023 package(cplus);
00024 package(sem);
00025 class ss_function_declaration;
00026 end_package(sem);
00027 end_package(cplus);
00028 end_package(lang);
00029 end_package(lestes);
00030 
00031 package(lestes);
00032 package(backend_v2);
00033 package(intercode);
00034 class pi_mem_factory;
00035 end_package(intercode);
00036 end_package(backend_v2);
00037 end_package(lestes);
00038 
00039 package(lestes);
00040 package(md);
00041 package(functions);
00042 
00043 
00044 class function_parameter_accessor_base;
00045 
00046 
00047 /*! \brief Interface used for accessing function's parameters within the function.
00048 
00049 Note: A concrete derived class is target dependent and it is placed in 
00050 /target/machine/${TARGET_CPU}/lestes/md/functions/ directory. 
00051 */
00052 class function_parameter_accessor_base : public ::lestes::std::object {
00053 public:
00054         //! The method function_get returns the value of the field function_parameter_accessor_base::function.
00055         ptr< ::lestes::lang::cplus::sem::ss_function_declaration > function_get() const;
00056 
00057         //! The method function_set sets the field function_parameter_accessor_base::function to the given value.
00058         void function_set(const ptr< ::lestes::lang::cplus::sem::ss_function_declaration > &);
00059 
00060         //! Gets parameter at given index.
00061         virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > get_parameter(ulint index) abstract;
00062 
00063         //! Gets secret "this" parameter.
00064         virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > get_this() abstract;
00065 
00066         //! Gets secret parameter for returning value from the function.
00067         virtual ptr< ::lestes::backend_v2::intercode::pi_mem_factory > get_ret_val() abstract;
00068 
00069         
00070 
00071         //! for purposes of dumping
00072         virtual ptr<reflection_list> reflection_get() const;
00073         //! for purposes of dumping
00074         virtual ptr<field_list_list> field_values_get() const;
00075         
00076 protected:
00077         //! Generated constructor for class function_parameter_accessor_base.
00078         function_parameter_accessor_base (
00079                 ptr< ::lestes::lang::cplus::sem::ss_function_declaration > a__function_parameter_accessor_base__function);
00080 
00081         //! Marking routine for class function_parameter_accessor_base. 
00082         virtual void gc_mark();
00083 
00084 private:
00085         //! Declaration of the function.
00086         srp< ::lestes::lang::cplus::sem::ss_function_declaration > function;
00087         static ptr<reflection_list> reflection;
00088         
00089 }; // function_parameter_accessor_base
00090 
00091 
00092 end_package(functions);
00093 end_package(md);
00094 end_package(lestes);
00095 
00096 #endif // lestes__md__functions__function_parameter_accessor_base_g_hh__included

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