lu_filter.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 #ifndef lestes__lang__cplus__sem__lu_filter_g_hh__included
00004 #define lestes__lang__cplus__sem__lu_filter_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_decl_name;
00017 class ss_declaration_time;
00018 class lu_filter;
00019 class lu_multi_filter;
00020 class lu_yes_cont_filter;
00021 class lu_yes_filter;
00022 class lu_struct_filter;
00023 class lu_namespace_filter;
00024 class lu_elaborated_filter;
00025 class lu_qual_filter;
00026 class lu_func_cont_filter;
00027 class lu_name_filter;
00028 class lu_visible_filter;
00029 class lu_secu_filter;
00030 class lu_inversion_filter;
00031 
00032 
00033 class lu_filter : public ss_declaration_default_visitor {
00034 public:
00035         enum result_type {
00036                 FR_NO,
00037                 FR_YES,
00038                 FR_YES_CONT
00039         };
00040 
00041         //! The method result_get returns the value of the field lu_filter::result.
00042         result_type result_get() const;
00043 
00044         //! The method result_set sets the field lu_filter::result to the given value.
00045         void result_set(result_type);
00046 
00047         //! Converts result type to its string representation.
00048         static lstring result2lstring(result_type );
00049 
00050         
00051         //! "visit-return" method
00052         result_type filter( const ptr< ::lestes::lang::cplus::sem::ss_declaration > & );
00053 
00054         //! for purposes of dumping
00055         virtual ptr<reflection_list> reflection_get() const;
00056         //! for purposes of dumping
00057         virtual ptr<field_list_list> field_values_get() const;
00058         
00059 protected:
00060         //! Generated constructor for class lu_filter.
00061         lu_filter (
00062                 result_type a__lu_filter__result);
00063 
00064         //! Marking routine for class lu_filter. 
00065         virtual void gc_mark();
00066 
00067 private:
00068         result_type result;
00069         static ptr<reflection_list> reflection;
00070         
00071 }; // lu_filter
00072 
00073 
00074 class lu_multi_filter : public lu_filter {
00075 public:
00076         //! The method filter_list_get returns the value of the field lu_multi_filter::filter_list.
00077         ptr< ::lestes::std::list< srp< lu_filter > > > filter_list_get() const;
00078 
00079         void add_filter(ptr< lu_filter > );
00080 
00081         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00082 
00083         
00084         //! First generated factory method for class lu_multi_filter.
00085         static ptr< lu_multi_filter > create (
00086                 result_type a__lu_filter__result,
00087                 ptr< ::lestes::std::list< srp< lu_filter > > > a__lu_multi_filter__filter_list);
00088 
00089         //! Second generated factory method for class lu_multi_filter.
00090         static ptr< lu_multi_filter > create (
00091                 );
00092 
00093         
00094 
00095         //! for purposes of dumping
00096         virtual ptr<reflection_list> reflection_get() const;
00097         //! for purposes of dumping
00098         virtual ptr<field_list_list> field_values_get() const;
00099         
00100 protected:
00101         //! Generated constructor for class lu_multi_filter.
00102         lu_multi_filter (
00103                 result_type a__lu_filter__result,
00104                 ptr< ::lestes::std::list< srp< lu_filter > > > a__lu_multi_filter__filter_list);
00105 
00106         //! Marking routine for class lu_multi_filter. 
00107         virtual void gc_mark();
00108 
00109 private:
00110         srp< ::lestes::std::list< srp< lu_filter > > >  filter_list;
00111         static ptr<reflection_list> reflection;
00112         
00113 }; // lu_multi_filter
00114 
00115 
00116 class lu_yes_cont_filter : public lu_filter {
00117 public:
00118         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00119 
00120         
00121         //! Generated instance() method for singleton class lu_yes_cont_filter.
00122         static ptr< lu_yes_cont_filter > instance ();
00123 
00124         
00125 
00126         //! for purposes of dumping
00127         virtual ptr<reflection_list> reflection_get() const;
00128         //! for purposes of dumping
00129         virtual ptr<field_list_list> field_values_get() const;
00130         
00131 protected:
00132         //! Generated constructor for class lu_yes_cont_filter.
00133         lu_yes_cont_filter (
00134                 result_type a__lu_filter__result);
00135 
00136         //! Marking routine for class lu_yes_cont_filter. 
00137         virtual void gc_mark();
00138 
00139 private:
00140         static ptr<reflection_list> reflection;
00141         static ptr<lu_yes_cont_filter> the_instance;
00142         
00143 }; // lu_yes_cont_filter
00144 
00145 
00146 class lu_yes_filter : public lu_filter {
00147 public:
00148         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00149 
00150         
00151         //! Generated instance() method for singleton class lu_yes_filter.
00152         static ptr< lu_yes_filter > instance ();
00153 
00154         
00155 
00156         //! for purposes of dumping
00157         virtual ptr<reflection_list> reflection_get() const;
00158         //! for purposes of dumping
00159         virtual ptr<field_list_list> field_values_get() const;
00160         
00161 protected:
00162         //! Generated constructor for class lu_yes_filter.
00163         lu_yes_filter (
00164                 result_type a__lu_filter__result);
00165 
00166         //! Marking routine for class lu_yes_filter. 
00167         virtual void gc_mark();
00168 
00169 private:
00170         static ptr<reflection_list> reflection;
00171         static ptr<lu_yes_filter> the_instance;
00172         
00173 }; // lu_yes_filter
00174 
00175 
00176 class lu_struct_filter : public lu_filter {
00177 public:
00178         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00179 
00180         virtual void visit_ss_structure_declaration(ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > );
00181 
00182         
00183         //! Generated instance() method for singleton class lu_struct_filter.
00184         static ptr< lu_struct_filter > instance ();
00185 
00186         
00187 
00188         //! for purposes of dumping
00189         virtual ptr<reflection_list> reflection_get() const;
00190         //! for purposes of dumping
00191         virtual ptr<field_list_list> field_values_get() const;
00192         
00193 protected:
00194         //! Generated constructor for class lu_struct_filter.
00195         lu_struct_filter (
00196                 result_type a__lu_filter__result);
00197 
00198         //! Marking routine for class lu_struct_filter. 
00199         virtual void gc_mark();
00200 
00201 private:
00202         static ptr<reflection_list> reflection;
00203         static ptr<lu_struct_filter> the_instance;
00204         
00205 }; // lu_struct_filter
00206 
00207 
00208 class lu_namespace_filter : public lu_filter {
00209 public:
00210         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00211 
00212         virtual void visit_ss_namespace_definition(ptr< ::lestes::lang::cplus::sem::ss_namespace_definition > );
00213 
00214         
00215         //! Generated instance() method for singleton class lu_namespace_filter.
00216         static ptr< lu_namespace_filter > instance ();
00217 
00218         
00219 
00220         //! for purposes of dumping
00221         virtual ptr<reflection_list> reflection_get() const;
00222         //! for purposes of dumping
00223         virtual ptr<field_list_list> field_values_get() const;
00224         
00225 protected:
00226         //! Generated constructor for class lu_namespace_filter.
00227         lu_namespace_filter (
00228                 result_type a__lu_filter__result);
00229 
00230         //! Marking routine for class lu_namespace_filter. 
00231         virtual void gc_mark();
00232 
00233 private:
00234         static ptr<reflection_list> reflection;
00235         static ptr<lu_namespace_filter> the_instance;
00236         
00237 }; // lu_namespace_filter
00238 
00239 
00240 class lu_elaborated_filter : public lu_filter {
00241 public:
00242         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00243 
00244         virtual void visit_ss_injected_class_declaration(ptr< ::lestes::lang::cplus::sem::ss_injected_class_declaration > );
00245 
00246         virtual void visit_ss_enum_definition(ptr< ::lestes::lang::cplus::sem::ss_enum_definition > );
00247 
00248         virtual void visit_ss_typedef_definition(ptr< ::lestes::lang::cplus::sem::ss_typedef_definition > );
00249 
00250         virtual void visit_ss_structure_declaration(ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > );
00251 
00252         virtual void visit_ss_using_declaration(ptr< ::lestes::lang::cplus::sem::ss_using_declaration > );
00253 
00254         
00255         //! Generated instance() method for singleton class lu_elaborated_filter.
00256         static ptr< lu_elaborated_filter > instance ();
00257 
00258         
00259 
00260         //! for purposes of dumping
00261         virtual ptr<reflection_list> reflection_get() const;
00262         //! for purposes of dumping
00263         virtual ptr<field_list_list> field_values_get() const;
00264         
00265 protected:
00266         //! Generated constructor for class lu_elaborated_filter.
00267         lu_elaborated_filter (
00268                 result_type a__lu_filter__result);
00269 
00270         //! Marking routine for class lu_elaborated_filter. 
00271         virtual void gc_mark();
00272 
00273 private:
00274         static ptr<reflection_list> reflection;
00275         static ptr<lu_elaborated_filter> the_instance;
00276         
00277 }; // lu_elaborated_filter
00278 
00279 
00280 //! [3.4.3/1]
00281 class lu_qual_filter : public lu_filter {
00282 public:
00283         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00284 
00285         virtual void visit_ss_object_declaration(ptr< ::lestes::lang::cplus::sem::ss_object_declaration > );
00286 
00287         virtual void visit_ss_bitfield_declaration(ptr< ::lestes::lang::cplus::sem::ss_bitfield_declaration > );
00288 
00289         virtual void visit_ss_parameter_declaration(ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration > );
00290 
00291         virtual void visit_ss_fake_declaration(ptr< ::lestes::lang::cplus::sem::ss_fake_declaration > );
00292 
00293         virtual void visit_ss_enumerator_declaration(ptr< ::lestes::lang::cplus::sem::ss_enumerator_declaration > );
00294 
00295         virtual void visit_ss_function_declaration(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > );
00296 
00297         virtual void visit_ss_method_declaration(ptr< ::lestes::lang::cplus::sem::ss_method_declaration > );
00298 
00299         virtual void visit_ss_builtin_operator_declaration(ptr< ::lestes::lang::cplus::sem::ss_builtin_operator_declaration > );
00300 
00301         
00302         //! Generated instance() method for singleton class lu_qual_filter.
00303         static ptr< lu_qual_filter > instance ();
00304 
00305         
00306 
00307         //! for purposes of dumping
00308         virtual ptr<reflection_list> reflection_get() const;
00309         //! for purposes of dumping
00310         virtual ptr<field_list_list> field_values_get() const;
00311         
00312 protected:
00313         //! Generated constructor for class lu_qual_filter.
00314         lu_qual_filter (
00315                 result_type a__lu_filter__result);
00316 
00317         //! Marking routine for class lu_qual_filter. 
00318         virtual void gc_mark();
00319 
00320 private:
00321         static ptr<reflection_list> reflection;
00322         static ptr<lu_qual_filter> the_instance;
00323         
00324 }; // lu_qual_filter
00325 
00326 
00327 class lu_func_cont_filter : public lu_filter {
00328 public:
00329         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00330 
00331         virtual void visit_ss_function_declaration(ptr< ::lestes::lang::cplus::sem::ss_function_declaration > );
00332 
00333         virtual void visit_ss_method_declaration(ptr< ::lestes::lang::cplus::sem::ss_method_declaration > );
00334 
00335         virtual void visit_ss_builtin_operator_declaration(ptr< ::lestes::lang::cplus::sem::ss_builtin_operator_declaration > );
00336 
00337         
00338         //! Generated instance() method for singleton class lu_func_cont_filter.
00339         static ptr< lu_func_cont_filter > instance ();
00340 
00341         
00342 
00343         //! for purposes of dumping
00344         virtual ptr<reflection_list> reflection_get() const;
00345         //! for purposes of dumping
00346         virtual ptr<field_list_list> field_values_get() const;
00347         
00348 protected:
00349         //! Generated constructor for class lu_func_cont_filter.
00350         lu_func_cont_filter (
00351                 result_type a__lu_filter__result);
00352 
00353         //! Marking routine for class lu_func_cont_filter. 
00354         virtual void gc_mark();
00355 
00356 private:
00357         static ptr<reflection_list> reflection;
00358         static ptr<lu_func_cont_filter> the_instance;
00359         
00360 }; // lu_func_cont_filter
00361 
00362 
00363 class lu_name_filter : public lu_filter {
00364 public:
00365         //! The method name_get returns the value of the field lu_name_filter::name.
00366         ptr< ss_decl_name > name_get() const;
00367 
00368         //! The method name_set sets the field lu_name_filter::name to the given value.
00369         void name_set(const ptr< ss_decl_name > &);
00370 
00371         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00372 
00373         
00374         //! First generated factory method for class lu_name_filter.
00375         static ptr< lu_name_filter > create (
00376                 result_type a__lu_filter__result,
00377                 ptr< ss_decl_name > a__lu_name_filter__name);
00378 
00379         //! Second generated factory method for class lu_name_filter.
00380         static ptr< lu_name_filter > create (
00381                 ptr< ss_decl_name > a__lu_name_filter__name);
00382 
00383         
00384 
00385         //! for purposes of dumping
00386         virtual ptr<reflection_list> reflection_get() const;
00387         //! for purposes of dumping
00388         virtual ptr<field_list_list> field_values_get() const;
00389         
00390 protected:
00391         //! Generated constructor for class lu_name_filter.
00392         lu_name_filter (
00393                 result_type a__lu_filter__result,
00394                 ptr< ss_decl_name > a__lu_name_filter__name);
00395 
00396         //! Marking routine for class lu_name_filter. 
00397         virtual void gc_mark();
00398 
00399 private:
00400         srp< ss_decl_name > name;
00401         static ptr<reflection_list> reflection;
00402         
00403 }; // lu_name_filter
00404 
00405 
00406 class lu_visible_filter : public lu_filter {
00407 public:
00408         //! The method visible_before_get returns the value of the field lu_visible_filter::visible_before.
00409         ptr< ss_declaration_time > visible_before_get() const;
00410 
00411         //! The method visible_before_set sets the field lu_visible_filter::visible_before to the given value.
00412         void visible_before_set(const ptr< ss_declaration_time > &);
00413 
00414         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00415 
00416         
00417         //! First generated factory method for class lu_visible_filter.
00418         static ptr< lu_visible_filter > create (
00419                 result_type a__lu_filter__result,
00420                 ptr< ss_declaration_time > a__lu_visible_filter__visible_before);
00421 
00422         //! Second generated factory method for class lu_visible_filter.
00423         static ptr< lu_visible_filter > create (
00424                 ptr< ss_declaration_time > a__lu_visible_filter__visible_before);
00425 
00426         
00427 
00428         //! for purposes of dumping
00429         virtual ptr<reflection_list> reflection_get() const;
00430         //! for purposes of dumping
00431         virtual ptr<field_list_list> field_values_get() const;
00432         
00433 protected:
00434         //! Generated constructor for class lu_visible_filter.
00435         lu_visible_filter (
00436                 result_type a__lu_filter__result,
00437                 ptr< ss_declaration_time > a__lu_visible_filter__visible_before);
00438 
00439         //! Marking routine for class lu_visible_filter. 
00440         virtual void gc_mark();
00441 
00442 private:
00443         srp< ss_declaration_time > visible_before;
00444         static ptr<reflection_list> reflection;
00445         
00446 }; // lu_visible_filter
00447 
00448 
00449 /*! \brief Filters class-like and enum declaration.
00450 
00451 Filters struct, enum, union and class declarations.
00452 */
00453 class lu_secu_filter : public lu_filter {
00454 public:
00455         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00456 
00457         virtual void visit_ss_injected_class_declaration(ptr< ::lestes::lang::cplus::sem::ss_injected_class_declaration > );
00458 
00459         virtual void visit_ss_enum_definition(ptr< ::lestes::lang::cplus::sem::ss_enum_definition > );
00460 
00461         virtual void visit_ss_structure_declaration(ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > );
00462 
00463         
00464         //! Generated instance() method for singleton class lu_secu_filter.
00465         static ptr< lu_secu_filter > instance ();
00466 
00467         
00468 
00469         //! for purposes of dumping
00470         virtual ptr<reflection_list> reflection_get() const;
00471         //! for purposes of dumping
00472         virtual ptr<field_list_list> field_values_get() const;
00473         
00474 protected:
00475         //! Generated constructor for class lu_secu_filter.
00476         lu_secu_filter (
00477                 result_type a__lu_filter__result);
00478 
00479         //! Marking routine for class lu_secu_filter. 
00480         virtual void gc_mark();
00481 
00482 private:
00483         static ptr<reflection_list> reflection;
00484         static ptr<lu_secu_filter> the_instance;
00485         
00486 }; // lu_secu_filter
00487 
00488 
00489 /*! \brief Inversion filter.
00490 
00491 
00492                                 Filter inverting condition of another filter.
00493                                 Positive results will become negative and vice versa.
00494                         
00495 */
00496 class lu_inversion_filter : public lu_filter {
00497 public:
00498         //! The method inverted_get returns the value of the field lu_inversion_filter::inverted.
00499         ptr< lu_filter > inverted_get() const;
00500 
00501         //! The method inverted_set sets the field lu_inversion_filter::inverted to the given value.
00502         void inverted_set(const ptr< lu_filter > &);
00503 
00504         virtual void default_action(ptr< ::lestes::lang::cplus::sem::ss_declaration > );
00505 
00506         
00507         //! First generated factory method for class lu_inversion_filter.
00508         static ptr< lu_inversion_filter > create (
00509                 result_type a__lu_filter__result,
00510                 ptr< lu_filter > a__lu_inversion_filter__inverted);
00511 
00512         //! Second generated factory method for class lu_inversion_filter.
00513         static ptr< lu_inversion_filter > create (
00514                 ptr< lu_filter > a__lu_inversion_filter__inverted);
00515 
00516         
00517 
00518         //! for purposes of dumping
00519         virtual ptr<reflection_list> reflection_get() const;
00520         //! for purposes of dumping
00521         virtual ptr<field_list_list> field_values_get() const;
00522         
00523 protected:
00524         //! Generated constructor for class lu_inversion_filter.
00525         lu_inversion_filter (
00526                 result_type a__lu_filter__result,
00527                 ptr< lu_filter > a__lu_inversion_filter__inverted);
00528 
00529         //! Marking routine for class lu_inversion_filter. 
00530         virtual void gc_mark();
00531 
00532 private:
00533         /*! \brief The filter to invert.
00534 
00535         The filter whose results will be inverted.
00536         */
00537         srp< lu_filter > inverted;
00538         static ptr<reflection_list> reflection;
00539         
00540 }; // lu_inversion_filter
00541 
00542 
00543 end_package(sem);
00544 end_package(cplus);
00545 end_package(lang);
00546 end_package(lestes);
00547 
00548 package(lestes);
00549 package(std);
00550 specialize_objectize_for_enum( ::lestes::lang::cplus::sem::lu_filter::result_type );
00551 end_package(std);
00552 end_package(lestes);
00553 
00554 #endif // lestes__lang__cplus__sem__lu_filter_g_hh__included

Generated on Mon Feb 12 18:27:07 2007 for lestes by doxygen 1.5.1-20070107