ss_type2id.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief ss_type identification.
00006         \author jaz
00007 */
00008 
00009 #ifndef lestes__lang__cplus__sem__ss_type2id_g_hh__included
00010 #define lestes__lang__cplus__sem__ss_type2id_g_hh__included
00011 
00012 #include <lestes/common.hh>
00013 #include <lestes/lang/cplus/sem/ss_type_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_type2id;
00023 
00024 
00025 //! Visitor that returns identification of a descendant of ss_type.
00026 class ss_type2id : public ss_type_visitor {
00027 public:
00028         enum id_type {
00029                 UNION,
00030                 CONST,
00031                 VOLATILE,
00032                 CONST_VOLATILE,
00033                 POINTER,
00034                 REFERENCE,
00035                 PSEUDOREFERENCE,
00036                 ENUM,
00037                 ARRAY,
00038                 MEMBER_POINTER,
00039                 FUNCTION,
00040                 MEMBER_FUNCTION,
00041                 CLASS,
00042                 BOOL,
00043                 VOID,
00044                 SINT,
00045                 UINT,
00046                 SLONG,
00047                 ULONG,
00048                 SSHORT,
00049                 USHORT,
00050                 SCHAR,
00051                 UCHAR,
00052                 PCHAR,
00053                 WCHAR_T,
00054                 FLOAT,
00055                 DOUBLE,
00056                 LDOUBLE
00057         };
00058 
00059         //! The method ret_val_get returns the value of the field ss_type2id::ret_val.
00060         id_type ret_val_get() const;
00061 
00062         //! The method ret_val_set sets the field ss_type2id::ret_val to the given value.
00063         void ret_val_set(id_type);
00064 
00065         //! The method singleton_instance_get returns the value of the field ss_type2id::singleton_instance.
00066         static ptr< ss_type2id > singleton_instance_get();
00067 
00068         //! The method singleton_instance_set sets the field ss_type2id::singleton_instance to the given value.
00069         static void singleton_instance_set(const ptr< ss_type2id > &);
00070 
00071         static ptr< ss_type2id > instance();
00072 
00073         virtual void visit_ss_const(ptr< ::lestes::lang::cplus::sem::ss_const > );
00074 
00075         virtual void visit_ss_volatile(ptr< ::lestes::lang::cplus::sem::ss_volatile > );
00076 
00077         virtual void visit_ss_const_volatile(ptr< ::lestes::lang::cplus::sem::ss_const_volatile > );
00078 
00079         virtual void visit_ss_reference(ptr< ::lestes::lang::cplus::sem::ss_reference > );
00080 
00081         virtual void visit_ss_pseudoreference(ptr< ::lestes::lang::cplus::sem::ss_pseudoreference > );
00082 
00083         virtual void visit_ss_pointer(ptr< ::lestes::lang::cplus::sem::ss_pointer > );
00084 
00085         virtual void visit_ss_enum(ptr< ::lestes::lang::cplus::sem::ss_enum > );
00086 
00087         virtual void visit_ss_array(ptr< ::lestes::lang::cplus::sem::ss_array > );
00088 
00089         virtual void visit_ss_member_pointer(ptr< ::lestes::lang::cplus::sem::ss_member_pointer > );
00090 
00091         virtual void visit_ss_function(ptr< ::lestes::lang::cplus::sem::ss_function > );
00092 
00093         virtual void visit_ss_member_function(ptr< ::lestes::lang::cplus::sem::ss_member_function > );
00094 
00095         virtual void visit_ss_class(ptr< ::lestes::lang::cplus::sem::ss_class > );
00096 
00097         virtual void visit_ss_union(ptr< ::lestes::lang::cplus::sem::ss_union > );
00098 
00099         virtual void visit_ss_bool(ptr< ::lestes::lang::cplus::sem::ss_bool > );
00100 
00101         virtual void visit_ss_void(ptr< ::lestes::lang::cplus::sem::ss_void > );
00102 
00103         virtual void visit_ss_type_sint(ptr< ::lestes::lang::cplus::sem::ss_type_sint > );
00104 
00105         virtual void visit_ss_type_uint(ptr< ::lestes::lang::cplus::sem::ss_type_uint > );
00106 
00107         virtual void visit_ss_type_slong(ptr< ::lestes::lang::cplus::sem::ss_type_slong > );
00108 
00109         virtual void visit_ss_type_ulong(ptr< ::lestes::lang::cplus::sem::ss_type_ulong > );
00110 
00111         virtual void visit_ss_type_sshort(ptr< ::lestes::lang::cplus::sem::ss_type_sshort > );
00112 
00113         virtual void visit_ss_type_ushort(ptr< ::lestes::lang::cplus::sem::ss_type_ushort > );
00114 
00115         virtual void visit_ss_type_wchar_t(ptr< ::lestes::lang::cplus::sem::ss_type_wchar_t > );
00116 
00117         virtual void visit_ss_type_schar(ptr< ::lestes::lang::cplus::sem::ss_type_schar > );
00118 
00119         virtual void visit_ss_type_uchar(ptr< ::lestes::lang::cplus::sem::ss_type_uchar > );
00120 
00121         virtual void visit_ss_type_pchar(ptr< ::lestes::lang::cplus::sem::ss_type_pchar > );
00122 
00123         virtual void visit_ss_type_float(ptr< ::lestes::lang::cplus::sem::ss_type_float > );
00124 
00125         virtual void visit_ss_type_double(ptr< ::lestes::lang::cplus::sem::ss_type_double > );
00126 
00127         virtual void visit_ss_type_ldouble(ptr< ::lestes::lang::cplus::sem::ss_type_ldouble > );
00128 
00129         
00130         //! First generated factory method for class ss_type2id.
00131         static ptr< ss_type2id > create (
00132                 id_type a__ss_type2id__ret_val);
00133 
00134         //! Second generated factory method for class ss_type2id.
00135         static ptr< ss_type2id > create (
00136                 );
00137 
00138         
00139         //! "visit-return" method
00140         id_type process( const ptr< ::lestes::lang::cplus::sem::ss_type > & );
00141 
00142         //! for purposes of dumping
00143         virtual ptr<reflection_list> reflection_get() const;
00144         //! for purposes of dumping
00145         virtual ptr<field_list_list> field_values_get() const;
00146         
00147 protected:
00148         //! Generated constructor for class ss_type2id.
00149         ss_type2id (
00150                 id_type a__ss_type2id__ret_val);
00151 
00152         //! Marking routine for class ss_type2id. 
00153         virtual void gc_mark();
00154 
00155 private:
00156         id_type ret_val;
00157         static ptr< ss_type2id > singleton_instance;
00158         static ptr<reflection_list> reflection;
00159         
00160 }; // ss_type2id
00161 
00162 
00163 end_package(sem);
00164 end_package(cplus);
00165 end_package(lang);
00166 end_package(lestes);
00167 
00168 package(lestes);
00169 package(std);
00170 specialize_objectize_for_enum( ::lestes::lang::cplus::sem::ss_type2id::id_type );
00171 end_package(std);
00172 end_package(lestes);
00173 
00174 #endif // lestes__lang__cplus__sem__ss_type2id_g_hh__included

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