00001
00002
00003 #ifndef lestes__lang__cplus__sem__ss_declaration_to_ss_decl_seq_g_hh__included
00004 #define lestes__lang__cplus__sem__ss_declaration_to_ss_decl_seq_g_hh__included
00005
00006 #include <lestes/common.hh>
00007 #include <lestes/lang/cplus/sem/ss_declaration_visitor.v.g.hh>
00008 #include <lestes/lang/cplus/sem/ss_misc.g.hh>
00009
00010 #include <lestes/std/objectize_macros.hh>
00011 package(lestes);
00012 package(lang);
00013 package(cplus);
00014 package(sem);
00015 class ss_decl_seq;
00016 end_package(sem);
00017 end_package(cplus);
00018 end_package(lang);
00019 end_package(lestes);
00020
00021 package(lestes);
00022 package(lang);
00023 package(cplus);
00024 package(sem);
00025
00026
00027 class ss_declaration_to_ss_decl_seq;
00028
00029
00030 class ss_declaration_to_ss_decl_seq : public ss_declaration_visitor {
00031 public:
00032
00033 ptr< ::lestes::lang::cplus::sem::ss_decl_seq > result_get() const;
00034
00035
00036 void result_set(const ptr< ::lestes::lang::cplus::sem::ss_decl_seq > &);
00037
00038 virtual void visit_ss_namespace_definition(ptr< ::lestes::lang::cplus::sem::ss_namespace_definition > );
00039
00040 virtual void visit_ss_object_declaration(ptr< ::lestes::lang::cplus::sem::ss_object_declaration > );
00041
00042 virtual void visit_ss_bitfield_declaration(ptr< ::lestes::lang::cplus::sem::ss_bitfield_declaration > );
00043
00044 virtual void visit_ss_parameter_declaration(ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration > );
00045
00046 virtual void visit_ss_fake_declaration(ptr< ::lestes::lang::cplus::sem::ss_fake_declaration > );
00047
00048 virtual void visit_ss_injected_class_declaration(ptr< ::lestes::lang::cplus::sem::ss_injected_class_declaration > );
00049
00050 virtual void visit_ss_enum_definition(ptr< ::lestes::lang::cplus::sem::ss_enum_definition > );
00051
00052 virtual void visit_ss_typedef_definition(ptr< ::lestes::lang::cplus::sem::ss_typedef_definition > );
00053
00054 virtual void visit_ss_enumerator_declaration(ptr< ::lestes::lang::cplus::sem::ss_enumerator_declaration > );
00055
00056 virtual void visit_ss_structure_declaration(ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > );
00057
00058 virtual void visit_ss_function_declaration(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > );
00059
00060 virtual void visit_ss_method_declaration(ptr< ::lestes::lang::cplus::sem::ss_method_declaration > );
00061
00062 virtual void visit_ss_using_declaration(ptr< ::lestes::lang::cplus::sem::ss_using_declaration > );
00063
00064 virtual void visit_ss_compound_stmt_declaration(ptr< ::lestes::lang::cplus::sem::ss_compound_stmt_declaration > );
00065
00066 virtual void visit_ss_builtin_operator_declaration(ptr< ::lestes::lang::cplus::sem::ss_builtin_operator_declaration > );
00067
00068
00069
00070 static ptr< ss_declaration_to_ss_decl_seq > instance ();
00071
00072
00073
00074 ptr< ::lestes::lang::cplus::sem::ss_decl_seq > process( const ptr< ::lestes::lang::cplus::sem::ss_declaration > & );
00075
00076
00077 virtual ptr<reflection_list> reflection_get() const;
00078
00079 virtual ptr<field_list_list> field_values_get() const;
00080
00081 protected:
00082
00083 ss_declaration_to_ss_decl_seq (
00084 ptr< ::lestes::lang::cplus::sem::ss_decl_seq > a__ss_declaration_to_ss_decl_seq__result);
00085
00086
00087 virtual void gc_mark();
00088
00089 private:
00090 srp< ::lestes::lang::cplus::sem::ss_decl_seq > result;
00091 static ptr<reflection_list> reflection;
00092 static ptr<ss_declaration_to_ss_decl_seq> the_instance;
00093
00094 };
00095
00096
00097 end_package(sem);
00098 end_package(cplus);
00099 end_package(lang);
00100 end_package(lestes);
00101
00102 #endif // lestes__lang__cplus__sem__ss_declaration_to_ss_decl_seq_g_hh__included