hinter.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 #ifndef lestes__lang__cplus__syn__hinter_g_hh__included
00004 #define lestes__lang__cplus__syn__hinter_g_hh__included
00005 
00006 #include <lestes/common.hh>
00007 #include <lestes/intercode/intercode.g.hh>
00008 #include <lestes/lang/cplus/sem/lu_typedef.hh>
00009 #include <lestes/lang/cplus/sem/ss_declaration_visitor.v.g.hh>
00010 #include <lestes/lang/cplus/sem/ss_type_visitor.v.g.hh>
00011 
00012 #include <lestes/std/objectize_macros.hh>
00013 package(lestes);
00014 package(intercode);
00015 class as_base;
00016 end_package(intercode);
00017 end_package(lestes);
00018 
00019 package(lestes);
00020 package(lang);
00021 package(cplus);
00022 package(sem);
00023 class as_class_key;
00024 end_package(sem);
00025 end_package(cplus);
00026 end_package(lang);
00027 end_package(lestes);
00028 
00029 package(lestes);
00030 package(lang);
00031 package(cplus);
00032 package(sem);
00033 class ss_declaration_visitor;
00034 end_package(sem);
00035 end_package(cplus);
00036 end_package(lang);
00037 end_package(lestes);
00038 
00039 package(lestes);
00040 package(lang);
00041 package(cplus);
00042 package(sem);
00043 class ss_type_default_visitor;
00044 end_package(sem);
00045 end_package(cplus);
00046 end_package(lang);
00047 end_package(lestes);
00048 
00049 package(lestes);
00050 package(lang);
00051 package(cplus);
00052 package(sem);
00053 class ss_declaration;
00054 end_package(sem);
00055 end_package(cplus);
00056 end_package(lang);
00057 end_package(lestes);
00058 
00059 package(lestes);
00060 package(lang);
00061 package(cplus);
00062 package(sem);
00063 class ss_struct_base;
00064 end_package(sem);
00065 end_package(cplus);
00066 end_package(lang);
00067 end_package(lestes);
00068 
00069 package(lestes);
00070 package(lang);
00071 package(cplus);
00072 package(syn);
00073 
00074 
00075 class elab_spec_key;
00076 class elab_spec_enum;
00077 class elab_spec_class_key;
00078 class hint_from_declaration_set;
00079 class typedef_class_resolver;
00080 
00081 
00082 class elab_spec_key : public ::lestes::intercode::as_base {
00083 public:
00084         
00085 
00086         //! for purposes of dumping
00087         virtual ptr<reflection_list> reflection_get() const;
00088         //! for purposes of dumping
00089         virtual ptr<field_list_list> field_values_get() const;
00090         
00091 protected:
00092         //! Generated constructor for class elab_spec_key.
00093         elab_spec_key (
00094                 ptr< ::lestes::std::source_location > a__as_base__location);
00095 
00096         //! Marking routine for class elab_spec_key. 
00097         virtual void gc_mark();
00098 
00099 private:
00100         static ptr<reflection_list> reflection;
00101         
00102 }; // elab_spec_key
00103 
00104 
00105 class elab_spec_enum : public elab_spec_key {
00106 public:
00107         
00108         //! First generated factory method for class elab_spec_enum.
00109         static ptr< elab_spec_enum > create (
00110                 ptr< ::lestes::std::source_location > a__as_base__location);
00111 
00112         
00113 
00114         //! for purposes of dumping
00115         virtual ptr<reflection_list> reflection_get() const;
00116         //! for purposes of dumping
00117         virtual ptr<field_list_list> field_values_get() const;
00118         
00119 protected:
00120         //! Generated constructor for class elab_spec_enum.
00121         elab_spec_enum (
00122                 ptr< ::lestes::std::source_location > a__as_base__location);
00123 
00124         //! Marking routine for class elab_spec_enum. 
00125         virtual void gc_mark();
00126 
00127 private:
00128         static ptr<reflection_list> reflection;
00129         
00130 }; // elab_spec_enum
00131 
00132 
00133 class elab_spec_class_key : public elab_spec_key {
00134 public:
00135         //! The method class_key_get returns the value of the field elab_spec_class_key::class_key.
00136         ptr< ::lestes::lang::cplus::sem::as_class_key > class_key_get() const;
00137 
00138         //! The method class_key_set sets the field elab_spec_class_key::class_key to the given value.
00139         void class_key_set(const ptr< ::lestes::lang::cplus::sem::as_class_key > &);
00140 
00141         
00142         //! First generated factory method for class elab_spec_class_key.
00143         static ptr< elab_spec_class_key > create (
00144                 ptr< ::lestes::std::source_location > a__as_base__location,
00145                 ptr< ::lestes::lang::cplus::sem::as_class_key > a__elab_spec_class_key__class_key);
00146 
00147         
00148 
00149         //! for purposes of dumping
00150         virtual ptr<reflection_list> reflection_get() const;
00151         //! for purposes of dumping
00152         virtual ptr<field_list_list> field_values_get() const;
00153         
00154 protected:
00155         //! Generated constructor for class elab_spec_class_key.
00156         elab_spec_class_key (
00157                 ptr< ::lestes::std::source_location > a__as_base__location,
00158                 ptr< ::lestes::lang::cplus::sem::as_class_key > a__elab_spec_class_key__class_key);
00159 
00160         //! Marking routine for class elab_spec_class_key. 
00161         virtual void gc_mark();
00162 
00163 private:
00164         srp< ::lestes::lang::cplus::sem::as_class_key > class_key;
00165         static ptr<reflection_list> reflection;
00166         
00167 }; // elab_spec_class_key
00168 
00169 
00170 class hint_from_declaration_set : public ::lestes::lang::cplus::sem::ss_declaration_visitor {
00171 public:
00172         //! The method result_get returns the value of the field hint_from_declaration_set::result.
00173         int result_get() const;
00174 
00175         //! The method result_set sets the field hint_from_declaration_set::result to the given value.
00176         void result_set(int);
00177 
00178         //! The method was_function_get returns the value of the field hint_from_declaration_set::was_function.
00179         bool was_function_get() const;
00180 
00181         //! The method was_function_set sets the field hint_from_declaration_set::was_function to the given value.
00182         void was_function_set(bool);
00183 
00184         int process(ptr< ::lestes::lang::cplus::sem::declaration_set_type > );
00185 
00186         virtual void visit_ss_namespace_definition(ptr< ::lestes::lang::cplus::sem::ss_namespace_definition > );
00187 
00188         virtual void visit_ss_object_declaration(ptr< ::lestes::lang::cplus::sem::ss_object_declaration > );
00189 
00190         virtual void visit_ss_bitfield_declaration(ptr< ::lestes::lang::cplus::sem::ss_bitfield_declaration > );
00191 
00192         virtual void visit_ss_parameter_declaration(ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration > );
00193 
00194         virtual void visit_ss_fake_declaration(ptr< ::lestes::lang::cplus::sem::ss_fake_declaration > );
00195 
00196         virtual void visit_ss_injected_class_declaration(ptr< ::lestes::lang::cplus::sem::ss_injected_class_declaration > );
00197 
00198         virtual void visit_ss_enum_definition(ptr< ::lestes::lang::cplus::sem::ss_enum_definition > );
00199 
00200         virtual void visit_ss_typedef_definition(ptr< ::lestes::lang::cplus::sem::ss_typedef_definition > );
00201 
00202         virtual void visit_ss_enumerator_declaration(ptr< ::lestes::lang::cplus::sem::ss_enumerator_declaration > );
00203 
00204         virtual void visit_ss_structure_declaration(ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > );
00205 
00206         virtual void visit_ss_function_declaration(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > );
00207 
00208         virtual void visit_ss_method_declaration(ptr< ::lestes::lang::cplus::sem::ss_method_declaration > );
00209 
00210         virtual void visit_ss_using_declaration(ptr< ::lestes::lang::cplus::sem::ss_using_declaration > );
00211 
00212         virtual void visit_ss_compound_stmt_declaration(ptr< ::lestes::lang::cplus::sem::ss_compound_stmt_declaration > );
00213 
00214         virtual void visit_ss_builtin_operator_declaration(ptr< ::lestes::lang::cplus::sem::ss_builtin_operator_declaration > );
00215 
00216         
00217         //! Generated instance() method for singleton class hint_from_declaration_set.
00218         static ptr< hint_from_declaration_set > instance ();
00219 
00220         
00221 
00222         //! for purposes of dumping
00223         virtual ptr<reflection_list> reflection_get() const;
00224         //! for purposes of dumping
00225         virtual ptr<field_list_list> field_values_get() const;
00226         
00227 protected:
00228         //! Generated constructor for class hint_from_declaration_set.
00229         hint_from_declaration_set (
00230                 int a__hint_from_declaration_set__result,
00231                 bool a__hint_from_declaration_set__was_function);
00232 
00233         //! Marking routine for class hint_from_declaration_set. 
00234         virtual void gc_mark();
00235 
00236 private:
00237         int result;
00238         bool was_function;
00239         static ptr<reflection_list> reflection;
00240         static ptr<hint_from_declaration_set> the_instance;
00241         
00242 }; // hint_from_declaration_set
00243 
00244 
00245 class typedef_class_resolver : public ::lestes::lang::cplus::sem::ss_type_default_visitor {
00246 public:
00247         //! The method decl_get returns the value of the field typedef_class_resolver::decl.
00248         ptr< ::lestes::lang::cplus::sem::ss_declaration > decl_get() const;
00249 
00250         //! The method decl_set sets the field typedef_class_resolver::decl to the given value.
00251         void decl_set(const ptr< ::lestes::lang::cplus::sem::ss_declaration > &);
00252 
00253         // WARNING: Detailed doxygen description for method
00254         // should be near it's implementation, not in XML file.
00255 
00256         /*! \brief Simulate cut at ss_struct_base.
00257 
00258         
00259                                         As the generatort does not support cuts below other cuts, we do this manually.
00260                                 
00261         */
00262         void visit_ss_struct_base(ptr< ::lestes::lang::cplus::sem::ss_struct_base > );
00263 
00264         ptr< ::lestes::lang::cplus::sem::declaration_set_type > process(ptr< ::lestes::lang::cplus::sem::declaration_set_type > );
00265 
00266         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_type > );
00267 
00268         virtual void visit_ss_class(ptr< ::lestes::lang::cplus::sem::ss_class > );
00269 
00270         virtual void visit_ss_union(ptr< ::lestes::lang::cplus::sem::ss_union > );
00271 
00272         
00273         //! Generated instance() method for singleton class typedef_class_resolver.
00274         static ptr< typedef_class_resolver > instance ();
00275 
00276         
00277 
00278         //! for purposes of dumping
00279         virtual ptr<reflection_list> reflection_get() const;
00280         //! for purposes of dumping
00281         virtual ptr<field_list_list> field_values_get() const;
00282         
00283 protected:
00284         //! Generated constructor for class typedef_class_resolver.
00285         typedef_class_resolver (
00286                 ptr< ::lestes::lang::cplus::sem::ss_declaration > a__typedef_class_resolver__decl);
00287 
00288         //! Marking routine for class typedef_class_resolver. 
00289         virtual void gc_mark();
00290 
00291 private:
00292         srp< ::lestes::lang::cplus::sem::ss_declaration > decl;
00293         static ptr<reflection_list> reflection;
00294         static ptr<typedef_class_resolver> the_instance;
00295         
00296 }; // typedef_class_resolver
00297 
00298 
00299 end_package(syn);
00300 end_package(cplus);
00301 end_package(lang);
00302 end_package(lestes);
00303 
00304 #endif // lestes__lang__cplus__syn__hinter_g_hh__included

Generated on Mon Feb 12 18:22:35 2007 for lestes by doxygen 1.5.1-20070107