ss_type2lstring_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 Visitors returning lstring for ss_type.
00006         \author jaz
00007 */
00008 
00009 #ifndef lestes__lang__cplus__sem__ss_type2lstring_base_g_hh__included
00010 #define lestes__lang__cplus__sem__ss_type2lstring_base_g_hh__included
00011 
00012 #include <lestes/common.hh>
00013 #include <lestes/lang/cplus/sem/ss_type_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 
00021 
00022 class ss_type2mangled_id;
00023 
00024 
00025 //! Visitor that returns string representation of ss_type as defined by GNU GCC mangling rules.
00026 class ss_type2mangled_id : public ss_type_visitor {
00027 public:
00028         //! The method singleton_instance_get returns the value of the field ss_type2mangled_id::singleton_instance.
00029         static ptr< ss_type2mangled_id > singleton_instance_get();
00030 
00031         //! The method singleton_instance_set sets the field ss_type2mangled_id::singleton_instance to the given value.
00032         static void singleton_instance_set(const ptr< ss_type2mangled_id > &);
00033 
00034         //! The method result_get returns the value of the field ss_type2mangled_id::result.
00035         lstring result_get() const;
00036 
00037         //! The method result_set sets the field ss_type2mangled_id::result to the given value.
00038         void result_set(lstring);
00039 
00040         static ptr< ss_type2mangled_id > instance();
00041 
00042         virtual void visit_ss_const(ptr< ::lestes::lang::cplus::sem::ss_const > );
00043 
00044         virtual void visit_ss_volatile(ptr< ::lestes::lang::cplus::sem::ss_volatile > );
00045 
00046         virtual void visit_ss_const_volatile(ptr< ::lestes::lang::cplus::sem::ss_const_volatile > );
00047 
00048         virtual void visit_ss_reference(ptr< ::lestes::lang::cplus::sem::ss_reference > );
00049 
00050         virtual void visit_ss_pseudoreference(ptr< ::lestes::lang::cplus::sem::ss_pseudoreference > );
00051 
00052         virtual void visit_ss_pointer(ptr< ::lestes::lang::cplus::sem::ss_pointer > );
00053 
00054         virtual void visit_ss_enum(ptr< ::lestes::lang::cplus::sem::ss_enum > );
00055 
00056         virtual void visit_ss_array(ptr< ::lestes::lang::cplus::sem::ss_array > );
00057 
00058         virtual void visit_ss_member_pointer(ptr< ::lestes::lang::cplus::sem::ss_member_pointer > );
00059 
00060         virtual void visit_ss_function(ptr< ::lestes::lang::cplus::sem::ss_function > );
00061 
00062         virtual void visit_ss_member_function(ptr< ::lestes::lang::cplus::sem::ss_member_function > );
00063 
00064         virtual void visit_ss_class(ptr< ::lestes::lang::cplus::sem::ss_class > );
00065 
00066         virtual void visit_ss_union(ptr< ::lestes::lang::cplus::sem::ss_union > );
00067 
00068         virtual void visit_ss_bool(ptr< ::lestes::lang::cplus::sem::ss_bool > );
00069 
00070         virtual void visit_ss_void(ptr< ::lestes::lang::cplus::sem::ss_void > );
00071 
00072         virtual void visit_ss_type_sint(ptr< ::lestes::lang::cplus::sem::ss_type_sint > );
00073 
00074         virtual void visit_ss_type_uint(ptr< ::lestes::lang::cplus::sem::ss_type_uint > );
00075 
00076         virtual void visit_ss_type_slong(ptr< ::lestes::lang::cplus::sem::ss_type_slong > );
00077 
00078         virtual void visit_ss_type_ulong(ptr< ::lestes::lang::cplus::sem::ss_type_ulong > );
00079 
00080         virtual void visit_ss_type_sshort(ptr< ::lestes::lang::cplus::sem::ss_type_sshort > );
00081 
00082         virtual void visit_ss_type_ushort(ptr< ::lestes::lang::cplus::sem::ss_type_ushort > );
00083 
00084         virtual void visit_ss_type_wchar_t(ptr< ::lestes::lang::cplus::sem::ss_type_wchar_t > );
00085 
00086         virtual void visit_ss_type_schar(ptr< ::lestes::lang::cplus::sem::ss_type_schar > );
00087 
00088         virtual void visit_ss_type_uchar(ptr< ::lestes::lang::cplus::sem::ss_type_uchar > );
00089 
00090         virtual void visit_ss_type_pchar(ptr< ::lestes::lang::cplus::sem::ss_type_pchar > );
00091 
00092         virtual void visit_ss_type_float(ptr< ::lestes::lang::cplus::sem::ss_type_float > );
00093 
00094         virtual void visit_ss_type_double(ptr< ::lestes::lang::cplus::sem::ss_type_double > );
00095 
00096         virtual void visit_ss_type_ldouble(ptr< ::lestes::lang::cplus::sem::ss_type_ldouble > );
00097 
00098         
00099         //! First generated factory method for class ss_type2mangled_id.
00100         static ptr< ss_type2mangled_id > create (
00101                 lstring a__ss_type2mangled_id__result);
00102 
00103         //! Second generated factory method for class ss_type2mangled_id.
00104         static ptr< ss_type2mangled_id > create (
00105                 );
00106 
00107         
00108         //! "visit-return" method
00109         lstring process( const ptr< ::lestes::lang::cplus::sem::ss_type > & );
00110 
00111         //! for purposes of dumping
00112         virtual ptr<reflection_list> reflection_get() const;
00113         //! for purposes of dumping
00114         virtual ptr<field_list_list> field_values_get() const;
00115         
00116 protected:
00117         //! Generated constructor for class ss_type2mangled_id.
00118         ss_type2mangled_id (
00119                 lstring a__ss_type2mangled_id__result);
00120 
00121         //! Marking routine for class ss_type2mangled_id. 
00122         virtual void gc_mark();
00123 
00124 private:
00125         static ptr< ss_type2mangled_id > singleton_instance;
00126         lstring result;
00127         static ptr<reflection_list> reflection;
00128         
00129 }; // ss_type2mangled_id
00130 
00131 
00132 end_package(sem);
00133 end_package(cplus);
00134 end_package(lang);
00135 end_package(lestes);
00136 
00137 #endif // lestes__lang__cplus__sem__ss_type2lstring_base_g_hh__included

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