sa_deconstruct_spse.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 #include <lestes/intercode/intercode.g.hh>
00004 #include <lestes/lang/cplus/sem/as_expr.g.hh>
00005 #include <lestes/lang/cplus/sem/ss_misc.g.hh>
00006 #include <lestes/lang/cplus/sem/ss_expression.g.hh>
00007 #include <lestes/lang/cplus/sem/or_or.g.hh>
00008 
00009 #include <lestes/std/list.hh>
00010 #include <lestes/std/pair.hh>
00011 #include <lestes/std/reflect.hh>
00012 
00013 #include <lestes/lang/cplus/sem/sa_deconstruct_spse.g.hh>
00014 
00015 package(lestes);
00016 package(lang);
00017 package(cplus);
00018 package(sem);
00019 
00020 
00021 // ------------- Class ss_decl_to_enum follows. -------------
00022 
00023 /*!
00024    \returns The value of ss_decl_to_enum::result.
00025    \author lsg
00026  */
00027 ss_decl_enum ss_decl_to_enum::result_get() const
00028 {
00029         return result;
00030 }
00031 
00032 /*!
00033    \param[in] x The new value to set ss_decl_to_enum::result to.
00034    \author lsg
00035  */
00036 void ss_decl_to_enum::result_set(ss_decl_enum x)
00037 {
00038         ss_decl_to_enum::result = x;
00039 }
00040 
00041 /*!
00042    This factory method for class ss_decl_to_enum takes values of all fields as arguments.
00043    \author lsg
00044  */
00045 ptr< ss_decl_to_enum > ss_decl_to_enum::create(ss_decl_enum a__ss_decl_to_enum__result)
00046 {
00047         return ptr< ss_decl_to_enum > ( new ss_decl_to_enum(a__ss_decl_to_enum__result) );
00048 }
00049 
00050 /*!
00051    This factory method for class ss_decl_to_enum uses initializers.
00052    \author lsg
00053  */
00054 ptr< ss_decl_to_enum > ss_decl_to_enum::create()
00055 {
00056         return ptr< ss_decl_to_enum > ( new ss_decl_to_enum(FAKE_DECLARATION) );
00057 }
00058 
00059 /*!
00060    Generated constructor for class ss_decl_to_enum.
00061    \author lsg
00062  */
00063 ss_decl_to_enum::ss_decl_to_enum (ss_decl_enum a__ss_decl_to_enum__result)
00064         : ss_declaration_visitor(), result(a__ss_decl_to_enum__result)
00065 {}
00066 
00067 ptr< object::reflection_list > ss_decl_to_enum::reflection_get() const
00068 {
00069         if (!reflection) {
00070                 typedef class_reflection::field_metadata md;
00071                 typedef class_reflection::field_metadata_list mdlist;
00072                 ptr<mdlist> mdl = mdlist::create();
00073                 mdl->push_back( md::create( "result", "ss_decl_enum" ) );
00074                 reflection = reflection_list::create( ss_declaration_visitor::reflection_get() );
00075                 reflection->push_back( class_reflection::create( "ss_decl_to_enum", mdl ) );
00076         }
00077         return reflection;
00078 }
00079 
00080 ptr< object::field_list_list > ss_decl_to_enum::field_values_get() const
00081 {
00082         ptr < field_list_list > result = ss_declaration_visitor::field_values_get();
00083         result->push_back( value_list::create() );
00084         result->back()->push_back( objectize< ss_decl_enum > ::create( this->result ) );
00085         return result;
00086 }
00087 
00088 
00089 /*!
00090    Marking routine is used for garbage collection.
00091    \author lsg
00092  */
00093 void ss_decl_to_enum::gc_mark()
00094 {
00095         ss_declaration_visitor::gc_mark();
00096 }
00097 
00098 // End of class ss_decl_to_enum.
00099 
00100 // ------------- Class sa_deconstruct_spse follows. -------------
00101 
00102 /*!
00103    \returns The value of sa_deconstruct_spse::result.
00104    \author lsg
00105  */
00106 ptr< or_or_functional > sa_deconstruct_spse::result_get() const
00107 {
00108         return result;
00109 }
00110 
00111 /*!
00112    \param[in] x The new value to set sa_deconstruct_spse::result to.
00113    \author lsg
00114  */
00115 void sa_deconstruct_spse::result_set(const ptr< or_or_functional > & x)
00116 {
00117         sa_deconstruct_spse::result = x;
00118 }
00119 
00120 /*!
00121    This factory method for class sa_deconstruct_spse takes values of all fields as arguments.
00122    \author lsg
00123  */
00124 ptr< sa_deconstruct_spse > sa_deconstruct_spse::create(ptr< or_or_functional > a__sa_deconstruct_spse__result)
00125 {
00126         return ptr< sa_deconstruct_spse > ( new sa_deconstruct_spse(a__sa_deconstruct_spse__result) );
00127 }
00128 
00129 /*!
00130    This factory method for class sa_deconstruct_spse uses initializers.
00131    \author lsg
00132  */
00133 ptr< sa_deconstruct_spse > sa_deconstruct_spse::create()
00134 {
00135         return ptr< sa_deconstruct_spse > ( new sa_deconstruct_spse(NULL) );
00136 }
00137 
00138 /*!
00139    Generated constructor for class sa_deconstruct_spse.
00140    \author lsg
00141  */
00142 sa_deconstruct_spse::sa_deconstruct_spse (ptr< or_or_functional > a__sa_deconstruct_spse__result)
00143         : as_expr_visitor(), result(a__sa_deconstruct_spse__result)
00144 {}
00145 
00146 ptr< object::reflection_list > sa_deconstruct_spse::reflection_get() const
00147 {
00148         if (!reflection) {
00149                 typedef class_reflection::field_metadata md;
00150                 typedef class_reflection::field_metadata_list mdlist;
00151                 ptr<mdlist> mdl = mdlist::create();
00152                 mdl->push_back( md::create( "result", "or_or_functional" ) );
00153                 reflection = reflection_list::create( as_expr_visitor::reflection_get() );
00154                 reflection->push_back( class_reflection::create( "sa_deconstruct_spse", mdl ) );
00155         }
00156         return reflection;
00157 }
00158 
00159 ptr< object::field_list_list > sa_deconstruct_spse::field_values_get() const
00160 {
00161         ptr < field_list_list > result = as_expr_visitor::field_values_get();
00162         result->push_back( value_list::create() );
00163         result->back()->push_back( this->result );
00164         return result;
00165 }
00166 
00167 ptr< or_or_functional > sa_deconstruct_spse::process( const ptr< ::lestes::lang::cplus::sem::as_expression > & o )
00168 {
00169         lassert2( o, "Cannot visit NULL object." );
00170         o->accept_as_expr_visitor( ptr< as_expr_visitor >(this) );
00171         return result_get();
00172 }
00173 
00174 
00175 /*!
00176    Marking routine is used for garbage collection.
00177    \author lsg
00178  */
00179 void sa_deconstruct_spse::gc_mark()
00180 {
00181         as_expr_visitor::gc_mark();
00182 }
00183 
00184 // End of class sa_deconstruct_spse.
00185 
00186 
00187 // static data members follow 
00188 ptr<object::reflection_list> ss_decl_to_enum::reflection = reflection;
00189 ptr<object::reflection_list> sa_deconstruct_spse::reflection = reflection;
00190 
00191 end_package(sem);
00192 end_package(cplus);
00193 end_package(lang);
00194 end_package(lestes);
00195 

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