00001
00002
00003 #ifndef lestes__lang__cplus__sem__as_id_to_ss_decl_name_g_hh__included
00004 #define lestes__lang__cplus__sem__as_id_to_ss_decl_name_g_hh__included
00005
00006 #include <lestes/common.hh>
00007 #include <lestes/lang/cplus/sem/as_id_visitor.v.g.hh>
00008
00009 #include <lestes/std/objectize_macros.hh>
00010 package(lestes);
00011 package(std);
00012 class object;
00013 end_package(std);
00014 end_package(lestes);
00015
00016 package(lestes);
00017 package(std);
00018 class source_location;
00019 end_package(std);
00020 end_package(lestes);
00021
00022 package(lestes);
00023 package(lang);
00024 package(cplus);
00025 package(sem);
00026 class ss_decl_name;
00027 end_package(sem);
00028 end_package(cplus);
00029 end_package(lang);
00030 end_package(lestes);
00031
00032 package(lestes);
00033 package(lang);
00034 package(cplus);
00035 package(sem);
00036
00037
00038 class as_id_to_ss_decl_name;
00039
00040
00041
00042
00043
00044
00045 class as_id_to_ss_decl_name : public as_id_visitor {
00046 public:
00047
00048 ptr< ::lestes::lang::cplus::sem::ss_decl_name > decl_name_get() const;
00049
00050
00051 void decl_name_set(const ptr< ::lestes::lang::cplus::sem::ss_decl_name > &);
00052
00053 virtual void visit_as_template_id(ptr< ::lestes::lang::cplus::sem::as_template_id > );
00054
00055 virtual void visit_as_identifier(ptr< ::lestes::lang::cplus::sem::as_identifier > );
00056
00057 virtual void visit_as_destructor_id_token(ptr< ::lestes::lang::cplus::sem::as_destructor_id_token > );
00058
00059 virtual void visit_as_destructor_id_template(ptr< ::lestes::lang::cplus::sem::as_destructor_id_template > );
00060
00061 virtual void visit_as_constructor_id(ptr< ::lestes::lang::cplus::sem::as_constructor_id > );
00062
00063 virtual void visit_as_op_function_id(ptr< ::lestes::lang::cplus::sem::as_op_function_id > );
00064
00065 virtual void visit_as_conv_function_id(ptr< ::lestes::lang::cplus::sem::as_conv_function_id > );
00066
00067 virtual void visit_as_empty_id(ptr< ::lestes::lang::cplus::sem::as_empty_id > );
00068
00069 virtual void visit_as_global_namespace_fake_id(ptr< ::lestes::lang::cplus::sem::as_global_namespace_fake_id > );
00070
00071
00072
00073 static ptr< as_id_to_ss_decl_name > instance ();
00074
00075
00076
00077 ptr< ::lestes::lang::cplus::sem::ss_decl_name > process( const ptr< ::lestes::lang::cplus::sem::as_id > & );
00078
00079
00080 virtual ptr<reflection_list> reflection_get() const;
00081
00082 virtual ptr<field_list_list> field_values_get() const;
00083
00084 protected:
00085
00086 as_id_to_ss_decl_name (
00087 ptr< ::lestes::lang::cplus::sem::ss_decl_name > a__as_id_to_ss_decl_name__decl_name);
00088
00089
00090 virtual void gc_mark();
00091
00092 private:
00093 srp< ::lestes::lang::cplus::sem::ss_decl_name > decl_name;
00094 static ptr<reflection_list> reflection;
00095 static ptr<as_id_to_ss_decl_name> the_instance;
00096
00097 };
00098
00099
00100 end_package(sem);
00101 end_package(cplus);
00102 end_package(lang);
00103 end_package(lestes);
00104
00105 #endif // lestes__lang__cplus__sem__as_id_to_ss_decl_name_g_hh__included