00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef lestes__lang__cplus__sem__ss_declaration2ss_structure_declaration_g_hh__included
00010 #define lestes__lang__cplus__sem__ss_declaration2ss_structure_declaration_g_hh__included
00011
00012 #include <lestes/common.hh>
00013 #include <lestes/lang/cplus/sem/ss_declaration_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 ss_declaration;
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_structure_declaration;
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 ss_declaration2ss_structure_declaration;
00043
00044
00045
00046
00047
00048
00049
00050
00051 class ss_declaration2ss_structure_declaration : public ss_declaration_default_visitor {
00052 public:
00053
00054 ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > result_get() const;
00055
00056
00057 void result_set(const ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > &);
00058
00059 virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00060
00061 virtual void visit_ss_structure_declaration(ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > );
00062
00063
00064
00065 static ptr< ss_declaration2ss_structure_declaration > instance ();
00066
00067
00068
00069 ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > process( const ptr< ::lestes::lang::cplus::sem::ss_declaration > & );
00070
00071
00072 virtual ptr<reflection_list> reflection_get() const;
00073
00074 virtual ptr<field_list_list> field_values_get() const;
00075
00076 protected:
00077
00078 ss_declaration2ss_structure_declaration (
00079 ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > a__ss_declaration2ss_structure_declaration__result);
00080
00081
00082 virtual void gc_mark();
00083
00084 private:
00085
00086
00087
00088
00089
00090
00091
00092 srp< ::lestes::lang::cplus::sem::ss_structure_declaration > result;
00093 static ptr<reflection_list> reflection;
00094 static ptr<ss_declaration2ss_structure_declaration> the_instance;
00095
00096 };
00097
00098
00099 end_package(sem);
00100 end_package(cplus);
00101 end_package(lang);
00102 end_package(lestes);
00103
00104 #endif // lestes__lang__cplus__sem__ss_declaration2ss_structure_declaration_g_hh__included