00001
00002
00003 #ifndef lestes__lang__cplus__sem__or_ics_actual_visitors_g_hh__included
00004 #define lestes__lang__cplus__sem__or_ics_actual_visitors_g_hh__included
00005
00006 #include <lestes/common.hh>
00007 #include <lestes/std/list.hh>
00008 #include <lestes/lang/cplus/sem/or_visitor.v.g.hh>
00009
00010 #include <lestes/std/objectize_macros.hh>
00011 package(lestes);
00012 package(lang);
00013 package(cplus);
00014 package(sem);
00015
00016
00017 class ss_type;
00018 class or_ics_functional;
00019 class or_or_functional;
00020 class or_ics_functional_visitor;
00021 class or_ics_visitor_cv;
00022 class or_ics_visitor_tgts;
00023
00024
00025 class or_ics_functional_visitor : public or_ics_functional_base {
00026 public:
00027
00028 ptr< ::lestes::std::list< srp< ss_type > > > conv_list_get() const;
00029
00030
00031 void conv_list_set(const ptr< ::lestes::std::list< srp< ss_type > > > & );
00032
00033 virtual ptr< ::lestes::std::list< srp< ss_type > > > visit_or_ics_functional_for_std_conversion(ptr< ::lestes::lang::cplus::sem::or_ics_functional_for_std_conversion > );
00034
00035 virtual ptr< ::lestes::std::list< srp< ss_type > > > visit_or_ics_functional_for_arr_ptr_conversion(ptr< ::lestes::lang::cplus::sem::or_ics_functional_for_arr_ptr_conversion > );
00036
00037 virtual ptr< ::lestes::std::list< srp< ss_type > > > visit_or_ics_functional_for_reference_bind_conversion(ptr< ::lestes::lang::cplus::sem::or_ics_functional_for_reference_bind_conversion > );
00038
00039 virtual ptr< ::lestes::std::list< srp< ss_type > > > visit_or_ics_functional_for_bind_to_temporary_conversion(ptr< ::lestes::lang::cplus::sem::or_ics_functional_for_bind_to_temporary_conversion > );
00040
00041 virtual ptr< ::lestes::std::list< srp< ss_type > > > visit_or_ics_functional_for_lval_rval_conversion(ptr< ::lestes::lang::cplus::sem::or_ics_functional_for_lval_rval_conversion > );
00042
00043 virtual ptr< ::lestes::std::list< srp< ss_type > > > visit_or_ics_functional_for_user_conversion_by_constructor(ptr< ::lestes::lang::cplus::sem::or_ics_functional_for_user_conversion_by_constructor > );
00044
00045 virtual ptr< ::lestes::std::list< srp< ss_type > > > visit_or_ics_functional_for_user_conversion_by_conversion_function(ptr< ::lestes::lang::cplus::sem::or_ics_functional_for_user_conversion_by_conversion_function > );
00046
00047 virtual ptr< ::lestes::std::list< srp< ss_type > > > visit_or_ics_functional_for_compound_conversion(ptr< ::lestes::lang::cplus::sem::or_ics_functional_for_compound_conversion > );
00048
00049
00050
00051 static ptr< or_ics_functional_visitor > create (
00052 ptr< ::lestes::std::list< srp< ss_type > > > a__or_ics_functional_visitor__conv_list);
00053
00054
00055
00056
00057 virtual ptr<reflection_list> reflection_get() const;
00058
00059 virtual ptr<field_list_list> field_values_get() const;
00060
00061 protected:
00062
00063 or_ics_functional_visitor (
00064 ptr< ::lestes::std::list< srp< ss_type > > > a__or_ics_functional_visitor__conv_list);
00065
00066
00067 virtual void gc_mark();
00068
00069 private:
00070
00071 srp< ::lestes::std::list< srp< ss_type > > > conv_list;
00072 static ptr<reflection_list> reflection;
00073
00074 };
00075
00076
00077 class or_ics_visitor_cv : public or_ics_base_cv {
00078 public:
00079 virtual or_cv_enum visit_ss_const(ptr< ::lestes::lang::cplus::sem::ss_const > );
00080
00081 virtual or_cv_enum visit_ss_volatile(ptr< ::lestes::lang::cplus::sem::ss_volatile > );
00082
00083 virtual or_cv_enum visit_ss_const_volatile(ptr< ::lestes::lang::cplus::sem::ss_const_volatile > );
00084
00085 virtual or_cv_enum visit_ss_reference(ptr< ::lestes::lang::cplus::sem::ss_reference > );
00086
00087 virtual or_cv_enum visit_ss_pseudoreference(ptr< ::lestes::lang::cplus::sem::ss_pseudoreference > );
00088
00089 virtual or_cv_enum visit_ss_pointer(ptr< ::lestes::lang::cplus::sem::ss_pointer > );
00090
00091 virtual or_cv_enum visit_ss_enum(ptr< ::lestes::lang::cplus::sem::ss_enum > );
00092
00093 virtual or_cv_enum visit_ss_array(ptr< ::lestes::lang::cplus::sem::ss_array > );
00094
00095 virtual or_cv_enum visit_ss_member_pointer(ptr< ::lestes::lang::cplus::sem::ss_member_pointer > );
00096
00097 virtual or_cv_enum visit_ss_function(ptr< ::lestes::lang::cplus::sem::ss_function > );
00098
00099 virtual or_cv_enum visit_ss_member_function(ptr< ::lestes::lang::cplus::sem::ss_member_function > );
00100
00101 virtual or_cv_enum visit_ss_class(ptr< ::lestes::lang::cplus::sem::ss_class > );
00102
00103 virtual or_cv_enum visit_ss_union(ptr< ::lestes::lang::cplus::sem::ss_union > );
00104
00105 virtual or_cv_enum visit_ss_bool(ptr< ::lestes::lang::cplus::sem::ss_bool > );
00106
00107 virtual or_cv_enum visit_ss_void(ptr< ::lestes::lang::cplus::sem::ss_void > );
00108
00109 virtual or_cv_enum visit_ss_type_sint(ptr< ::lestes::lang::cplus::sem::ss_type_sint > );
00110
00111 virtual or_cv_enum visit_ss_type_uint(ptr< ::lestes::lang::cplus::sem::ss_type_uint > );
00112
00113 virtual or_cv_enum visit_ss_type_slong(ptr< ::lestes::lang::cplus::sem::ss_type_slong > );
00114
00115 virtual or_cv_enum visit_ss_type_ulong(ptr< ::lestes::lang::cplus::sem::ss_type_ulong > );
00116
00117 virtual or_cv_enum visit_ss_type_sshort(ptr< ::lestes::lang::cplus::sem::ss_type_sshort > );
00118
00119 virtual or_cv_enum visit_ss_type_ushort(ptr< ::lestes::lang::cplus::sem::ss_type_ushort > );
00120
00121 virtual or_cv_enum visit_ss_type_wchar_t(ptr< ::lestes::lang::cplus::sem::ss_type_wchar_t > );
00122
00123 virtual or_cv_enum visit_ss_type_schar(ptr< ::lestes::lang::cplus::sem::ss_type_schar > );
00124
00125 virtual or_cv_enum visit_ss_type_uchar(ptr< ::lestes::lang::cplus::sem::ss_type_uchar > );
00126
00127 virtual or_cv_enum visit_ss_type_pchar(ptr< ::lestes::lang::cplus::sem::ss_type_pchar > );
00128
00129 virtual or_cv_enum visit_ss_type_float(ptr< ::lestes::lang::cplus::sem::ss_type_float > );
00130
00131 virtual or_cv_enum visit_ss_type_double(ptr< ::lestes::lang::cplus::sem::ss_type_double > );
00132
00133 virtual or_cv_enum visit_ss_type_ldouble(ptr< ::lestes::lang::cplus::sem::ss_type_ldouble > );
00134
00135
00136
00137 static ptr< or_ics_visitor_cv > create (
00138 );
00139
00140
00141
00142
00143 virtual ptr<reflection_list> reflection_get() const;
00144
00145 virtual ptr<field_list_list> field_values_get() const;
00146
00147 protected:
00148
00149 or_ics_visitor_cv (
00150 );
00151
00152
00153 virtual void gc_mark();
00154
00155 private:
00156 static ptr<reflection_list> reflection;
00157
00158 };
00159
00160
00161 class or_ics_visitor_tgts : public or_ics_base {
00162 public:
00163
00164 ptr< or_or_functional > source_get() const;
00165
00166
00167 void source_set(const ptr< or_or_functional > &);
00168
00169
00170 lint scs_phase_get() const;
00171
00172
00173 void scs_phase_set(lint);
00174
00175
00176 ptr< ::lestes::std::list< srp< or_ics_functional > > > seq_list_get() const;
00177
00178
00179 void seq_list_set(const ptr< ::lestes::std::list< srp< or_ics_functional > > > & );
00180
00181 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_const(ptr< ::lestes::lang::cplus::sem::ss_const > );
00182
00183 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_volatile(ptr< ::lestes::lang::cplus::sem::ss_volatile > );
00184
00185 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_const_volatile(ptr< ::lestes::lang::cplus::sem::ss_const_volatile > );
00186
00187 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_reference(ptr< ::lestes::lang::cplus::sem::ss_reference > );
00188
00189 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_pseudoreference(ptr< ::lestes::lang::cplus::sem::ss_pseudoreference > );
00190
00191 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_pointer(ptr< ::lestes::lang::cplus::sem::ss_pointer > );
00192
00193 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_enum(ptr< ::lestes::lang::cplus::sem::ss_enum > );
00194
00195 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_array(ptr< ::lestes::lang::cplus::sem::ss_array > );
00196
00197 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_member_pointer(ptr< ::lestes::lang::cplus::sem::ss_member_pointer > );
00198
00199 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_function(ptr< ::lestes::lang::cplus::sem::ss_function > );
00200
00201 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_member_function(ptr< ::lestes::lang::cplus::sem::ss_member_function > );
00202
00203 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_class(ptr< ::lestes::lang::cplus::sem::ss_class > );
00204
00205 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_union(ptr< ::lestes::lang::cplus::sem::ss_union > );
00206
00207 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_bool(ptr< ::lestes::lang::cplus::sem::ss_bool > );
00208
00209 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_void(ptr< ::lestes::lang::cplus::sem::ss_void > );
00210
00211 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_sint(ptr< ::lestes::lang::cplus::sem::ss_type_sint > );
00212
00213 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_uint(ptr< ::lestes::lang::cplus::sem::ss_type_uint > );
00214
00215 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_slong(ptr< ::lestes::lang::cplus::sem::ss_type_slong > );
00216
00217 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_ulong(ptr< ::lestes::lang::cplus::sem::ss_type_ulong > );
00218
00219 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_sshort(ptr< ::lestes::lang::cplus::sem::ss_type_sshort > );
00220
00221 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_ushort(ptr< ::lestes::lang::cplus::sem::ss_type_ushort > );
00222
00223 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_wchar_t(ptr< ::lestes::lang::cplus::sem::ss_type_wchar_t > );
00224
00225 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_schar(ptr< ::lestes::lang::cplus::sem::ss_type_schar > );
00226
00227 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_uchar(ptr< ::lestes::lang::cplus::sem::ss_type_uchar > );
00228
00229 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_pchar(ptr< ::lestes::lang::cplus::sem::ss_type_pchar > );
00230
00231 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_float(ptr< ::lestes::lang::cplus::sem::ss_type_float > );
00232
00233 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_double(ptr< ::lestes::lang::cplus::sem::ss_type_double > );
00234
00235 virtual ptr< ::lestes::std::list< srp< or_ics_functional > > > visit_ss_type_ldouble(ptr< ::lestes::lang::cplus::sem::ss_type_ldouble > );
00236
00237
00238
00239 static ptr< or_ics_visitor_tgts > create (
00240 ptr< or_or_functional > a__or_ics_visitor_tgts__source,
00241 lint a__or_ics_visitor_tgts__scs_phase,
00242 ptr< ::lestes::std::list< srp< or_ics_functional > > > a__or_ics_visitor_tgts__seq_list);
00243
00244
00245
00246
00247 virtual ptr<reflection_list> reflection_get() const;
00248
00249 virtual ptr<field_list_list> field_values_get() const;
00250
00251 protected:
00252
00253 or_ics_visitor_tgts (
00254 ptr< or_or_functional > a__or_ics_visitor_tgts__source,
00255 lint a__or_ics_visitor_tgts__scs_phase,
00256 ptr< ::lestes::std::list< srp< or_ics_functional > > > a__or_ics_visitor_tgts__seq_list);
00257
00258
00259 virtual void gc_mark();
00260
00261 private:
00262
00263 srp< or_or_functional > source;
00264
00265 lint scs_phase;
00266
00267 srp< ::lestes::std::list< srp< or_ics_functional > > > seq_list;
00268 static ptr<reflection_list> reflection;
00269
00270 };
00271
00272
00273 end_package(sem);
00274 end_package(cplus);
00275 end_package(lang);
00276 end_package(lestes);
00277
00278 #endif // lestes__lang__cplus__sem__or_ics_actual_visitors_g_hh__included