00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef lestes__lang__cplus__sem__as_cv_qualifier2ss_type_g_hh__included
00010 #define lestes__lang__cplus__sem__as_cv_qualifier2ss_type_g_hh__included
00011
00012 #include <lestes/common.hh>
00013 #include <lestes/lang/cplus/sem/as_cv_qualifier_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 class as_cv_qualifier;
00021 end_package(sem);
00022 end_package(cplus);
00023 end_package(lang);
00024 end_package(lestes);
00025
00026 package(lestes);
00027 package(lang);
00028 package(cplus);
00029 package(sem);
00030 class ss_type;
00031 end_package(sem);
00032 end_package(cplus);
00033 end_package(lang);
00034 end_package(lestes);
00035
00036 package(lestes);
00037 package(lang);
00038 package(cplus);
00039 package(sem);
00040
00041
00042 class as_cv_qualifier2ss_type;
00043
00044
00045
00046
00047
00048
00049 class as_cv_qualifier2ss_type : public as_cv_qualifier_visitor {
00050 public:
00051
00052 ptr< ::lestes::lang::cplus::sem::ss_type > type_get() const;
00053
00054
00055 void process(ptr< ::lestes::lang::cplus::sem::as_cv_qualifier > qualifier);
00056
00057 virtual void visit_as_cv_qualifier_const(ptr< ::lestes::lang::cplus::sem::as_cv_qualifier_const > );
00058
00059 virtual void visit_as_cv_qualifier_volatile(ptr< ::lestes::lang::cplus::sem::as_cv_qualifier_volatile > );
00060
00061 virtual void visit_as_cv_qualifier_restrict(ptr< ::lestes::lang::cplus::sem::as_cv_qualifier_restrict > );
00062
00063
00064
00065 static ptr< as_cv_qualifier2ss_type > create (
00066 ptr< ::lestes::lang::cplus::sem::ss_type > a__as_cv_qualifier2ss_type__type);
00067
00068
00069
00070
00071 virtual ptr<reflection_list> reflection_get() const;
00072
00073 virtual ptr<field_list_list> field_values_get() const;
00074
00075 protected:
00076
00077 as_cv_qualifier2ss_type (
00078 ptr< ::lestes::lang::cplus::sem::ss_type > a__as_cv_qualifier2ss_type__type);
00079
00080
00081 virtual void gc_mark();
00082
00083 private:
00084
00085
00086
00087
00088 srp< ::lestes::lang::cplus::sem::ss_type > type;
00089 static ptr<reflection_list> reflection;
00090
00091 };
00092
00093
00094 end_package(sem);
00095 end_package(cplus);
00096 end_package(lang);
00097 end_package(lestes);
00098
00099 #endif // lestes__lang__cplus__sem__as_cv_qualifier2ss_type_g_hh__included