ss_decl2ulint_base.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Visitors returning ulint value for ss_declaration.
00006         \author jaz
00007 */
00008 
00009 #ifndef lestes__lang__cplus__sem__ss_decl2ulint_base_g_hh__included
00010 #define lestes__lang__cplus__sem__ss_decl2ulint_base_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 
00021 
00022 class ss_decl2id;
00023 
00024 
00025 //! Visitor that returns identification of a descandant of ss_declaration.
00026 class ss_decl2id : public ss_decl2ulint_base {
00027 public:
00028         enum id_type {
00029                 DECLARATION,
00030                 NAMESPACE,
00031                 OBJECT,
00032                 BITFIELD,
00033                 PARAMETER,
00034                 TYPE,
00035                 ENUM,
00036                 TYPEDEF,
00037                 FUNCTION,
00038                 ENUMERATOR,
00039                 USING,
00040                 BUILTIN_OPERATOR,
00041                 COMPOUND_STATEMENT,
00042                 METHOD
00043         };
00044 
00045         //! The method singleton_instance_get returns the value of the field ss_decl2id::singleton_instance.
00046         static ptr< ss_decl2id > singleton_instance_get();
00047 
00048         //! The method singleton_instance_set sets the field ss_decl2id::singleton_instance to the given value.
00049         static void singleton_instance_set(const ptr< ss_decl2id > &);
00050 
00051         static ptr< ss_decl2id > instance();
00052 
00053         virtual ulint visit_ss_namespace_definition(ptr< ::lestes::lang::cplus::sem::ss_namespace_definition > );
00054 
00055         virtual ulint visit_ss_object_declaration(ptr< ::lestes::lang::cplus::sem::ss_object_declaration > );
00056 
00057         virtual ulint visit_ss_bitfield_declaration(ptr< ::lestes::lang::cplus::sem::ss_bitfield_declaration > );
00058 
00059         virtual ulint visit_ss_parameter_declaration(ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration > );
00060 
00061         virtual ulint visit_ss_fake_declaration(ptr< ::lestes::lang::cplus::sem::ss_fake_declaration > );
00062 
00063         virtual ulint visit_ss_injected_class_declaration(ptr< ::lestes::lang::cplus::sem::ss_injected_class_declaration > );
00064 
00065         virtual ulint visit_ss_enum_definition(ptr< ::lestes::lang::cplus::sem::ss_enum_definition > );
00066 
00067         virtual ulint visit_ss_typedef_definition(ptr< ::lestes::lang::cplus::sem::ss_typedef_definition > );
00068 
00069         virtual ulint visit_ss_enumerator_declaration(ptr< ::lestes::lang::cplus::sem::ss_enumerator_declaration > );
00070 
00071         virtual ulint visit_ss_structure_declaration(ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > );
00072 
00073         virtual ulint visit_ss_function_declaration(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > );
00074 
00075         virtual ulint visit_ss_method_declaration(ptr< ::lestes::lang::cplus::sem::ss_method_declaration > );
00076 
00077         virtual ulint visit_ss_using_declaration(ptr< ::lestes::lang::cplus::sem::ss_using_declaration > );
00078 
00079         virtual ulint visit_ss_compound_stmt_declaration(ptr< ::lestes::lang::cplus::sem::ss_compound_stmt_declaration > );
00080 
00081         virtual ulint visit_ss_builtin_operator_declaration(ptr< ::lestes::lang::cplus::sem::ss_builtin_operator_declaration > );
00082 
00083         
00084         //! First generated factory method for class ss_decl2id.
00085         static ptr< ss_decl2id > create (
00086                 );
00087 
00088         
00089 
00090         //! for purposes of dumping
00091         virtual ptr<reflection_list> reflection_get() const;
00092         //! for purposes of dumping
00093         virtual ptr<field_list_list> field_values_get() const;
00094         
00095 protected:
00096         //! Generated constructor for class ss_decl2id.
00097         ss_decl2id (
00098                 );
00099 
00100         //! Marking routine for class ss_decl2id. 
00101         virtual void gc_mark();
00102 
00103 private:
00104         static ptr< ss_decl2id > singleton_instance;
00105         static ptr<reflection_list> reflection;
00106         
00107 }; // ss_decl2id
00108 
00109 
00110 end_package(sem);
00111 end_package(cplus);
00112 end_package(lang);
00113 end_package(lestes);
00114 
00115 package(lestes);
00116 package(std);
00117 specialize_objectize_for_enum( ::lestes::lang::cplus::sem::ss_decl2id::id_type );
00118 end_package(std);
00119 end_package(lestes);
00120 
00121 #endif // lestes__lang__cplus__sem__ss_decl2ulint_base_g_hh__included

Generated on Mon Feb 12 18:23:16 2007 for lestes by doxygen 1.5.1-20070107