00001
00002
00003 #ifndef lestes__lang__cplus__sem__ss_using_target_g_hh__included
00004 #define lestes__lang__cplus__sem__ss_using_target_g_hh__included
00005
00006 #include <lestes/common.hh>
00007 #include <lestes/lang/cplus/sem/ss_declaration_visitor.v.g.hh>
00008
00009 #include <lestes/std/objectize_macros.hh>
00010 package(lestes);
00011 package(lang);
00012 package(cplus);
00013 package(sem);
00014
00015
00016 class ss_declaration;
00017 class ss_using_target;
00018
00019
00020 class ss_using_target : public ss_declaration_default_visitor {
00021 public:
00022
00023 ptr< ss_declaration > result_get() const;
00024
00025
00026 void result_set(const ptr< ss_declaration > &);
00027
00028 virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00029
00030 virtual void visit_ss_using_declaration(ptr< ::lestes::lang::cplus::sem::ss_using_declaration > );
00031
00032
00033
00034 static ptr< ss_using_target > instance ();
00035
00036
00037
00038 ptr< ss_declaration > process( const ptr< ::lestes::lang::cplus::sem::ss_declaration > & );
00039
00040
00041 virtual ptr<reflection_list> reflection_get() const;
00042
00043 virtual ptr<field_list_list> field_values_get() const;
00044
00045 protected:
00046
00047 ss_using_target (
00048 ptr< ss_declaration > a__ss_using_target__result);
00049
00050
00051 virtual void gc_mark();
00052
00053 private:
00054 srp< ss_declaration > result;
00055 static ptr<reflection_list> reflection;
00056 static ptr<ss_using_target> the_instance;
00057
00058 };
00059
00060
00061 end_package(sem);
00062 end_package(cplus);
00063 end_package(lang);
00064 end_package(lestes);
00065
00066 #endif // lestes__lang__cplus__sem__ss_using_target_g_hh__included