ss_expr_funcall.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Intercode structure for project Lestes
00006         
00007             This file describes a set of classes and data types used for intercode layer -ss-.
00008             It is an output from a XSLT template which generates C++ code.
00009         
00010 */
00011 
00012 #ifndef lestes__lang__cplus__sem__ss_expr_funcall_g_hh__included
00013 #define lestes__lang__cplus__sem__ss_expr_funcall_g_hh__included
00014 
00015 #include <lestes/common.hh>
00016 #include <lestes/lang/cplus/sem/ss_expression.g.hh>
00017 
00018 #include <lestes/std/objectize_macros.hh>
00019 package(lestes);
00020 package(lang);
00021 package(cplus);
00022 package(sem);
00023 
00024 
00025 class ss_function_declaration;
00026 class ss_expression;
00027 class ss_funcall_abstr;
00028 class ss_pfuncall;
00029 class ss_funcall;
00030 class ss_ifuncall;
00031 class ss_mfuncall;
00032 class ss_vfuncall;
00033 
00034 
00035 //! Base class for function call expressions
00036 class ss_funcall_abstr : public ss_expression {
00037 public:
00038         //! The method args_get returns the value of the field ss_funcall_abstr::args.
00039         ptr< ::lestes::std::list< srp< ss_expression > > > args_get() const;
00040 
00041         //! The method args_set sets the field ss_funcall_abstr::args to the given value.
00042         void args_set(const ptr< ::lestes::std::list< srp< ss_expression > > > & );
00043 
00044         virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v ) abstract;
00045         
00046 
00047         //! for purposes of dumping
00048         virtual ptr<reflection_list> reflection_get() const;
00049         //! for purposes of dumping
00050         virtual ptr<field_list_list> field_values_get() const;
00051         
00052 protected:
00053         //! Generated constructor for class ss_funcall_abstr.
00054         ss_funcall_abstr (
00055                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00056                 ptr< ss_type > a__ss_expression__type,
00057                 ptr< ss_sp > a__ss_expression__psp,
00058                 ptr< ss_sp > a__ss_expression__nsp,
00059                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args);
00060 
00061         //! Marking routine for class ss_funcall_abstr. 
00062         virtual void gc_mark();
00063 
00064 private:
00065         srp< ::lestes::std::list< srp< ss_expression > > >  args;
00066         static ptr<reflection_list> reflection;
00067         
00068 }; // ss_funcall_abstr
00069 
00070 
00071 //! Class for member pointer call
00072 class ss_pfuncall : public ss_funcall_abstr {
00073 public:
00074         //! The method fun_ptr_get returns the value of the field ss_pfuncall::fun_ptr.
00075         ptr< ss_expression > fun_ptr_get() const;
00076 
00077         //! The method fun_ptr_set sets the field ss_pfuncall::fun_ptr to the given value.
00078         void fun_ptr_set(const ptr< ss_expression > &);
00079 
00080         //! The method object_get returns the value of the field ss_pfuncall::object.
00081         ptr< ss_expression > object_get() const;
00082 
00083         //! The method object_set sets the field ss_pfuncall::object to the given value.
00084         void object_set(const ptr< ss_expression > &);
00085 
00086         virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00087         
00088         //! First generated factory method for class ss_pfuncall.
00089         static ptr< ss_pfuncall > create (
00090                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00091                 ptr< ss_type > a__ss_expression__type,
00092                 ptr< ss_sp > a__ss_expression__psp,
00093                 ptr< ss_sp > a__ss_expression__nsp,
00094                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00095                 ptr< ss_expression > a__ss_pfuncall__fun_ptr,
00096                 ptr< ss_expression > a__ss_pfuncall__object);
00097 
00098         
00099 
00100         //! for purposes of dumping
00101         virtual ptr<reflection_list> reflection_get() const;
00102         //! for purposes of dumping
00103         virtual ptr<field_list_list> field_values_get() const;
00104         
00105 protected:
00106         //! Generated constructor for class ss_pfuncall.
00107         ss_pfuncall (
00108                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00109                 ptr< ss_type > a__ss_expression__type,
00110                 ptr< ss_sp > a__ss_expression__psp,
00111                 ptr< ss_sp > a__ss_expression__nsp,
00112                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00113                 ptr< ss_expression > a__ss_pfuncall__fun_ptr,
00114                 ptr< ss_expression > a__ss_pfuncall__object);
00115 
00116         //! Marking routine for class ss_pfuncall. 
00117         virtual void gc_mark();
00118 
00119 private:
00120         srp< ss_expression > fun_ptr;
00121         srp< ss_expression > object;
00122         static ptr<reflection_list> reflection;
00123         
00124 }; // ss_pfuncall
00125 
00126 
00127 //! Class for ordinary function call
00128 class ss_funcall : public ss_funcall_abstr {
00129 public:
00130         //! The method function_get returns the value of the field ss_funcall::function.
00131         ptr< ss_function_declaration > function_get() const;
00132 
00133         //! The method function_set sets the field ss_funcall::function to the given value.
00134         void function_set(const ptr< ss_function_declaration > &);
00135 
00136         virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00137         
00138         //! First generated factory method for class ss_funcall.
00139         static ptr< ss_funcall > create (
00140                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00141                 ptr< ss_type > a__ss_expression__type,
00142                 ptr< ss_sp > a__ss_expression__psp,
00143                 ptr< ss_sp > a__ss_expression__nsp,
00144                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00145                 ptr< ss_function_declaration > a__ss_funcall__function);
00146 
00147         
00148 
00149         //! for purposes of dumping
00150         virtual ptr<reflection_list> reflection_get() const;
00151         //! for purposes of dumping
00152         virtual ptr<field_list_list> field_values_get() const;
00153         
00154 protected:
00155         //! Generated constructor for class ss_funcall.
00156         ss_funcall (
00157                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00158                 ptr< ss_type > a__ss_expression__type,
00159                 ptr< ss_sp > a__ss_expression__psp,
00160                 ptr< ss_sp > a__ss_expression__nsp,
00161                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00162                 ptr< ss_function_declaration > a__ss_funcall__function);
00163 
00164         //! Marking routine for class ss_funcall. 
00165         virtual void gc_mark();
00166 
00167 private:
00168         srp< ss_function_declaration > function;
00169         static ptr<reflection_list> reflection;
00170         
00171 }; // ss_funcall
00172 
00173 
00174 //! Class for indirect ordinary global function call
00175 class ss_ifuncall : public ss_funcall_abstr {
00176 public:
00177         //! The method fun_ptr_get returns the value of the field ss_ifuncall::fun_ptr.
00178         ptr< ss_expression > fun_ptr_get() const;
00179 
00180         //! The method fun_ptr_set sets the field ss_ifuncall::fun_ptr to the given value.
00181         void fun_ptr_set(const ptr< ss_expression > &);
00182 
00183         virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00184         
00185         //! First generated factory method for class ss_ifuncall.
00186         static ptr< ss_ifuncall > create (
00187                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00188                 ptr< ss_type > a__ss_expression__type,
00189                 ptr< ss_sp > a__ss_expression__psp,
00190                 ptr< ss_sp > a__ss_expression__nsp,
00191                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00192                 ptr< ss_expression > a__ss_ifuncall__fun_ptr);
00193 
00194         
00195 
00196         //! for purposes of dumping
00197         virtual ptr<reflection_list> reflection_get() const;
00198         //! for purposes of dumping
00199         virtual ptr<field_list_list> field_values_get() const;
00200         
00201 protected:
00202         //! Generated constructor for class ss_ifuncall.
00203         ss_ifuncall (
00204                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00205                 ptr< ss_type > a__ss_expression__type,
00206                 ptr< ss_sp > a__ss_expression__psp,
00207                 ptr< ss_sp > a__ss_expression__nsp,
00208                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00209                 ptr< ss_expression > a__ss_ifuncall__fun_ptr);
00210 
00211         //! Marking routine for class ss_ifuncall. 
00212         virtual void gc_mark();
00213 
00214 private:
00215         srp< ss_expression > fun_ptr;
00216         static ptr<reflection_list> reflection;
00217         
00218 }; // ss_ifuncall
00219 
00220 
00221 //! Class for method call
00222 class ss_mfuncall : public ss_funcall_abstr {
00223 public:
00224         //! The method function_get returns the value of the field ss_mfuncall::function.
00225         ptr< ss_function_declaration > function_get() const;
00226 
00227         //! The method function_set sets the field ss_mfuncall::function to the given value.
00228         void function_set(const ptr< ss_function_declaration > &);
00229 
00230         //! The method object_get returns the value of the field ss_mfuncall::object.
00231         ptr< ss_expression > object_get() const;
00232 
00233         //! The method object_set sets the field ss_mfuncall::object to the given value.
00234         void object_set(const ptr< ss_expression > &);
00235 
00236         virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00237         
00238         //! First generated factory method for class ss_mfuncall.
00239         static ptr< ss_mfuncall > create (
00240                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00241                 ptr< ss_type > a__ss_expression__type,
00242                 ptr< ss_sp > a__ss_expression__psp,
00243                 ptr< ss_sp > a__ss_expression__nsp,
00244                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00245                 ptr< ss_function_declaration > a__ss_mfuncall__function,
00246                 ptr< ss_expression > a__ss_mfuncall__object);
00247 
00248         
00249 
00250         //! for purposes of dumping
00251         virtual ptr<reflection_list> reflection_get() const;
00252         //! for purposes of dumping
00253         virtual ptr<field_list_list> field_values_get() const;
00254         
00255 protected:
00256         //! Generated constructor for class ss_mfuncall.
00257         ss_mfuncall (
00258                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00259                 ptr< ss_type > a__ss_expression__type,
00260                 ptr< ss_sp > a__ss_expression__psp,
00261                 ptr< ss_sp > a__ss_expression__nsp,
00262                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00263                 ptr< ss_function_declaration > a__ss_mfuncall__function,
00264                 ptr< ss_expression > a__ss_mfuncall__object);
00265 
00266         //! Marking routine for class ss_mfuncall. 
00267         virtual void gc_mark();
00268 
00269 private:
00270         srp< ss_function_declaration > function;
00271         srp< ss_expression > object;
00272         static ptr<reflection_list> reflection;
00273         
00274 }; // ss_mfuncall
00275 
00276 
00277 //! Class for virtual method call
00278 class ss_vfuncall : public ss_funcall_abstr {
00279 public:
00280         //! The method function_get returns the value of the field ss_vfuncall::function.
00281         ptr< ss_function_declaration > function_get() const;
00282 
00283         //! The method function_set sets the field ss_vfuncall::function to the given value.
00284         void function_set(const ptr< ss_function_declaration > &);
00285 
00286         //! The method object_ptr_get returns the value of the field ss_vfuncall::object_ptr.
00287         ptr< ss_expression > object_ptr_get() const;
00288 
00289         //! The method object_ptr_set sets the field ss_vfuncall::object_ptr to the given value.
00290         void object_ptr_set(const ptr< ss_expression > &);
00291 
00292         virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00293         
00294         //! First generated factory method for class ss_vfuncall.
00295         static ptr< ss_vfuncall > create (
00296                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00297                 ptr< ss_type > a__ss_expression__type,
00298                 ptr< ss_sp > a__ss_expression__psp,
00299                 ptr< ss_sp > a__ss_expression__nsp,
00300                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00301                 ptr< ss_function_declaration > a__ss_vfuncall__function,
00302                 ptr< ss_expression > a__ss_vfuncall__object_ptr);
00303 
00304         
00305 
00306         //! for purposes of dumping
00307         virtual ptr<reflection_list> reflection_get() const;
00308         //! for purposes of dumping
00309         virtual ptr<field_list_list> field_values_get() const;
00310         
00311 protected:
00312         //! Generated constructor for class ss_vfuncall.
00313         ss_vfuncall (
00314                 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00315                 ptr< ss_type > a__ss_expression__type,
00316                 ptr< ss_sp > a__ss_expression__psp,
00317                 ptr< ss_sp > a__ss_expression__nsp,
00318                 ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_funcall_abstr__args,
00319                 ptr< ss_function_declaration > a__ss_vfuncall__function,
00320                 ptr< ss_expression > a__ss_vfuncall__object_ptr);
00321 
00322         //! Marking routine for class ss_vfuncall. 
00323         virtual void gc_mark();
00324 
00325 private:
00326         srp< ss_function_declaration > function;
00327         //! Object, where to find correct VMT table.
00328         srp< ss_expression > object_ptr;
00329         static ptr<reflection_list> reflection;
00330         
00331 }; // ss_vfuncall
00332 
00333 
00334 end_package(sem);
00335 end_package(cplus);
00336 end_package(lang);
00337 end_package(lestes);
00338 
00339 #endif // lestes__lang__cplus__sem__ss_expr_funcall_g_hh__included

Generated on Mon Feb 12 18:23:25 2007 for lestes by doxygen 1.5.1-20070107