name_mangler.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Name mangler.
00006         \author jaz
00007 */
00008 
00009 #ifndef lestes__md__symbols__name_mangler_g_hh__included
00010 #define lestes__md__symbols__name_mangler_g_hh__included
00011 
00012 #include <lestes/md/common.hh>
00013 #include <lestes/lang/cplus/sem/ss_misc.g.hh>
00014 
00015 #include <lestes/std/objectize_macros.hh>
00016 package(lestes);
00017 package(std);
00018 class object;
00019 end_package(std);
00020 end_package(lestes);
00021 
00022 package(lestes);
00023 package(md);
00024 package(symbols);
00025 
00026 
00027 class name_mangler;
00028 
00029 
00030 //! Performs C++ symbol name magling (GNU GCC style).
00031 class name_mangler : public ::lestes::std::object {
00032 public:
00033         //! The method singleton_instance_get returns the value of the field name_mangler::singleton_instance.
00034         static ptr< name_mangler > singleton_instance_get();
00035 
00036         //! The method singleton_instance_set sets the field name_mangler::singleton_instance to the given value.
00037         static void singleton_instance_set(const ptr< name_mangler > &);
00038 
00039         static ptr< name_mangler > instance();
00040 
00041         //! Mangles declaration.
00042         lstring mangle(ptr< ::lestes::lang::cplus::sem::ss_declaration > decl);
00043 
00044         //! Replaces wide character escapes after its uppercase form
00045         lstring wchar_escapes_replace(lstring name);
00046 
00047         
00048         //! First generated factory method for class name_mangler.
00049         static ptr< name_mangler > create (
00050                 );
00051 
00052         
00053 
00054         //! for purposes of dumping
00055         virtual ptr<reflection_list> reflection_get() const;
00056         //! for purposes of dumping
00057         virtual ptr<field_list_list> field_values_get() const;
00058         
00059 protected:
00060         //! Generated constructor for class name_mangler.
00061         name_mangler (
00062                 );
00063 
00064         //! Marking routine for class name_mangler. 
00065         virtual void gc_mark();
00066 
00067 private:
00068         static ptr< name_mangler > singleton_instance;
00069         static ptr<reflection_list> reflection;
00070         
00071 }; // name_mangler
00072 
00073 
00074 end_package(symbols);
00075 end_package(md);
00076 end_package(lestes);
00077 
00078 #endif // lestes__md__symbols__name_mangler_g_hh__included

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