00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef lestes__lang__cplus__sem__ss_decl_name2lstring_base_g_hh__included
00010 #define lestes__lang__cplus__sem__ss_decl_name2lstring_base_g_hh__included
00011
00012 #include <lestes/common.hh>
00013 #include <lestes/lang/cplus/sem/ss_decl_name_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_decl_name2mangled_name;
00023
00024
00025
00026 class ss_decl_name2mangled_name : public ss_decl_name2lstring_base {
00027 public:
00028
00029 static ptr< ss_decl_name2mangled_name > singleton_instance_get();
00030
00031
00032 static void singleton_instance_set(const ptr< ss_decl_name2mangled_name > &);
00033
00034 static ptr< ss_decl_name2mangled_name > instance();
00035
00036 virtual lstring visit_ss_ordinary_name(ptr< ::lestes::lang::cplus::sem::ss_ordinary_name > );
00037
00038 virtual lstring visit_ss_conversion_name(ptr< ::lestes::lang::cplus::sem::ss_conversion_name > );
00039
00040 virtual lstring visit_ss_dummy_name(ptr< ::lestes::lang::cplus::sem::ss_dummy_name > );
00041
00042 virtual lstring visit_ss_operator_new(ptr< ::lestes::lang::cplus::sem::ss_operator_new > );
00043
00044 virtual lstring visit_ss_operator_delete(ptr< ::lestes::lang::cplus::sem::ss_operator_delete > );
00045
00046 virtual lstring visit_ss_operator_new_array(ptr< ::lestes::lang::cplus::sem::ss_operator_new_array > );
00047
00048 virtual lstring visit_ss_operator_delete_array(ptr< ::lestes::lang::cplus::sem::ss_operator_delete_array > );
00049
00050 virtual lstring visit_ss_operator_add(ptr< ::lestes::lang::cplus::sem::ss_operator_add > );
00051
00052 virtual lstring visit_ss_operator_sub(ptr< ::lestes::lang::cplus::sem::ss_operator_sub > );
00053
00054 virtual lstring visit_ss_operator_mul(ptr< ::lestes::lang::cplus::sem::ss_operator_mul > );
00055
00056 virtual lstring visit_ss_operator_div(ptr< ::lestes::lang::cplus::sem::ss_operator_div > );
00057
00058 virtual lstring visit_ss_operator_mod(ptr< ::lestes::lang::cplus::sem::ss_operator_mod > );
00059
00060 virtual lstring visit_ss_operator_bxor(ptr< ::lestes::lang::cplus::sem::ss_operator_bxor > );
00061
00062 virtual lstring visit_ss_operator_band(ptr< ::lestes::lang::cplus::sem::ss_operator_band > );
00063
00064 virtual lstring visit_ss_operator_bor(ptr< ::lestes::lang::cplus::sem::ss_operator_bor > );
00065
00066 virtual lstring visit_ss_operator_bnot(ptr< ::lestes::lang::cplus::sem::ss_operator_bnot > );
00067
00068 virtual lstring visit_ss_operator_lnot(ptr< ::lestes::lang::cplus::sem::ss_operator_lnot > );
00069
00070 virtual lstring visit_ss_operator_assign(ptr< ::lestes::lang::cplus::sem::ss_operator_assign > );
00071
00072 virtual lstring visit_ss_operator_assign_add(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_add > );
00073
00074 virtual lstring visit_ss_operator_assign_sub(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_sub > );
00075
00076 virtual lstring visit_ss_operator_assign_mul(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_mul > );
00077
00078 virtual lstring visit_ss_operator_assign_div(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_div > );
00079
00080 virtual lstring visit_ss_operator_assign_mod(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_mod > );
00081
00082 virtual lstring visit_ss_operator_assign_bxor(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_bxor > );
00083
00084 virtual lstring visit_ss_operator_assign_band(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_band > );
00085
00086 virtual lstring visit_ss_operator_assign_bor(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_bor > );
00087
00088 virtual lstring visit_ss_operator_assign_shl(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_shl > );
00089
00090 virtual lstring visit_ss_operator_assign_shr(ptr< ::lestes::lang::cplus::sem::ss_operator_assign_shr > );
00091
00092 virtual lstring visit_ss_operator_shr(ptr< ::lestes::lang::cplus::sem::ss_operator_shr > );
00093
00094 virtual lstring visit_ss_operator_shl(ptr< ::lestes::lang::cplus::sem::ss_operator_shl > );
00095
00096 virtual lstring visit_ss_operator_sbl(ptr< ::lestes::lang::cplus::sem::ss_operator_sbl > );
00097
00098 virtual lstring visit_ss_operator_sbg(ptr< ::lestes::lang::cplus::sem::ss_operator_sbg > );
00099
00100 virtual lstring visit_ss_operator_sbng(ptr< ::lestes::lang::cplus::sem::ss_operator_sbng > );
00101
00102 virtual lstring visit_ss_operator_sbnl(ptr< ::lestes::lang::cplus::sem::ss_operator_sbnl > );
00103
00104 virtual lstring visit_ss_operator_sbe(ptr< ::lestes::lang::cplus::sem::ss_operator_sbe > );
00105
00106 virtual lstring visit_ss_operator_sbne(ptr< ::lestes::lang::cplus::sem::ss_operator_sbne > );
00107
00108 virtual lstring visit_ss_operator_land(ptr< ::lestes::lang::cplus::sem::ss_operator_land > );
00109
00110 virtual lstring visit_ss_operator_lor(ptr< ::lestes::lang::cplus::sem::ss_operator_lor > );
00111
00112 virtual lstring visit_ss_operator_inc(ptr< ::lestes::lang::cplus::sem::ss_operator_inc > );
00113
00114 virtual lstring visit_ss_operator_dec(ptr< ::lestes::lang::cplus::sem::ss_operator_dec > );
00115
00116 virtual lstring visit_ss_operator_comma(ptr< ::lestes::lang::cplus::sem::ss_operator_comma > );
00117
00118 virtual lstring visit_ss_operator_access(ptr< ::lestes::lang::cplus::sem::ss_operator_access > );
00119
00120 virtual lstring visit_ss_operator_access_member(ptr< ::lestes::lang::cplus::sem::ss_operator_access_member > );
00121
00122 virtual lstring visit_ss_operator_function_call(ptr< ::lestes::lang::cplus::sem::ss_operator_function_call > );
00123
00124 virtual lstring visit_ss_operator_array(ptr< ::lestes::lang::cplus::sem::ss_operator_array > );
00125
00126 virtual lstring visit_ss_operator_ternary(ptr< ::lestes::lang::cplus::sem::ss_operator_ternary > );
00127
00128
00129
00130 static ptr< ss_decl_name2mangled_name > create (
00131 );
00132
00133
00134
00135
00136 virtual ptr<reflection_list> reflection_get() const;
00137
00138 virtual ptr<field_list_list> field_values_get() const;
00139
00140 protected:
00141
00142 ss_decl_name2mangled_name (
00143 );
00144
00145
00146 virtual void gc_mark();
00147
00148 private:
00149 static ptr< ss_decl_name2mangled_name > singleton_instance;
00150 static ptr<reflection_list> reflection;
00151
00152 };
00153
00154
00155 end_package(sem);
00156 end_package(cplus);
00157 end_package(lang);
00158 end_package(lestes);
00159
00160 #endif // lestes__lang__cplus__sem__ss_decl_name2lstring_base_g_hh__included