as_declarator_op2op_func.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 operator recognition visitor.
00006         Visitor recognizing declarator operator.
00007 */
00008 
00009 #ifndef lestes__lang__cplus__sem__as_declarator_op2op_func_g_hh__included
00010 #define lestes__lang__cplus__sem__as_declarator_op2op_func_g_hh__included
00011 
00012 #include <lestes/common.hh>
00013 #include <lestes/lang/cplus/sem/as_declarator_op_visitor.v.g.hh>
00014 
00015 #include <lestes/std/objectize_macros.hh>
00016 package(lestes);
00017 package(lang);
00018 package(cplus);
00019 package(sem);
00020 class as_declarator_op;
00021 end_package(sem);
00022 end_package(cplus);
00023 end_package(lang);
00024 end_package(lestes);
00025 
00026 package(lestes);
00027 package(lang);
00028 package(cplus);
00029 package(sem);
00030 class as_declarator_op_func;
00031 end_package(sem);
00032 end_package(cplus);
00033 end_package(lang);
00034 end_package(lestes);
00035 
00036 package(lestes);
00037 package(lang);
00038 package(cplus);
00039 package(sem);
00040 
00041 
00042 class as_declarator_op2op_func;
00043 
00044 
00045 /*! \brief Function declarator operator recognition.
00046 
00047 
00048                                 Tests if a declarator operator is a function declarator
00049                                 operator and returns it. Useful to distinguish function from
00050                                 object declaration by looking at the first declarator op (if any).
00051                         
00052 */
00053 class as_declarator_op2op_func : public as_declarator_op_default_visitor {
00054 public:
00055         //! The method function_get returns the value of the field as_declarator_op2op_func::function.
00056         ptr< ::lestes::lang::cplus::sem::as_declarator_op_func > function_get() const;
00057 
00058         virtual void visit_as_declarator_op_func(ptr< ::lestes::lang::cplus::sem::as_declarator_op_func > );
00059 
00060         virtual void default_action(ptr< ::lestes::lang::cplus::sem::as_declarator_op > );
00061 
00062         
00063         //! Generated instance() method for singleton class as_declarator_op2op_func.
00064         static ptr< as_declarator_op2op_func > instance ();
00065 
00066         
00067         //! "visit-return" method
00068         ptr< ::lestes::lang::cplus::sem::as_declarator_op_func > process( const ptr< ::lestes::lang::cplus::sem::as_declarator_op > & );
00069 
00070         //! for purposes of dumping
00071         virtual ptr<reflection_list> reflection_get() const;
00072         //! for purposes of dumping
00073         virtual ptr<field_list_list> field_values_get() const;
00074         
00075 protected:
00076         //! Generated constructor for class as_declarator_op2op_func.
00077         as_declarator_op2op_func (
00078                 ptr< ::lestes::lang::cplus::sem::as_declarator_op_func > a__as_declarator_op2op_func__function);
00079 
00080         //! Marking routine for class as_declarator_op2op_func. 
00081         virtual void gc_mark();
00082 
00083 private:
00084         /*! \brief The function declarator operator.
00085 
00086         
00087                                         Field used to pass the result of the visitor, set to NULL when
00088                                         the declarator operator was not of type as_declarator_op_func, otherwise
00089                                         contains the processed declarator operator.
00090                                 
00091         */
00092         srp< ::lestes::lang::cplus::sem::as_declarator_op_func > function;
00093         static ptr<reflection_list> reflection;
00094         static ptr<as_declarator_op2op_func> the_instance;
00095         
00096 }; // as_declarator_op2op_func
00097 
00098 
00099 end_package(sem);
00100 end_package(cplus);
00101 end_package(lang);
00102 end_package(lestes);
00103 
00104 #endif // lestes__lang__cplus__sem__as_declarator_op2op_func_g_hh__included

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