as_declarator_op2op_func.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Function operator recognition visitor.
00006         Visitor recognizing declarator operator.
00007 */
00008 
00009 #include <lestes/lang/cplus/sem/as_decl.g.hh>
00010 
00011 #include <lestes/std/list.hh>
00012 #include <lestes/std/pair.hh>
00013 #include <lestes/std/reflect.hh>
00014 
00015 #include <lestes/lang/cplus/sem/as_declarator_op2op_func.g.hh>
00016 
00017 package(lestes);
00018 package(lang);
00019 package(cplus);
00020 package(sem);
00021 
00022 
00023 // ------------- Class as_declarator_op2op_func follows. -------------
00024 
00025 /*!
00026    \returns The value of as_declarator_op2op_func::function.
00027    \author lsg
00028  */
00029 ptr< ::lestes::lang::cplus::sem::as_declarator_op_func > as_declarator_op2op_func::function_get() const
00030 {
00031         return function;
00032 }
00033 
00034 /*!
00035    Static field as_declarator_op2op_func::the_instance.
00036    \author lsg
00037  */
00038 ptr< as_declarator_op2op_func > as_declarator_op2op_func::the_instance = the_instance;
00039 
00040 /*!
00041    Generated instance() method for singleton class as_declarator_op2op_func.
00042    \author lsg
00043  */
00044 ptr< as_declarator_op2op_func > as_declarator_op2op_func::instance()
00045 {
00046          return the_instance ? the_instance : the_instance = new as_declarator_op2op_func(NULL);
00047 }
00048 
00049 /*!
00050    Generated constructor for class as_declarator_op2op_func.
00051    \author lsg
00052  */
00053 as_declarator_op2op_func::as_declarator_op2op_func (ptr< ::lestes::lang::cplus::sem::as_declarator_op_func > a__as_declarator_op2op_func__function)
00054         : as_declarator_op_default_visitor(), function(a__as_declarator_op2op_func__function)
00055 {}
00056 
00057 ptr< object::reflection_list > as_declarator_op2op_func::reflection_get() const
00058 {
00059         if (!reflection) {
00060                 typedef class_reflection::field_metadata md;
00061                 typedef class_reflection::field_metadata_list mdlist;
00062                 ptr<mdlist> mdl = mdlist::create();
00063                 mdl->push_back( md::create( "function", "as_declarator_op_func" ) );
00064                 reflection = reflection_list::create( as_declarator_op_default_visitor::reflection_get() );
00065                 reflection->push_back( class_reflection::create( "as_declarator_op2op_func", mdl ) );
00066         }
00067         return reflection;
00068 }
00069 
00070 ptr< object::field_list_list > as_declarator_op2op_func::field_values_get() const
00071 {
00072         ptr < field_list_list > result = as_declarator_op_default_visitor::field_values_get();
00073         result->push_back( value_list::create() );
00074         result->back()->push_back( this->function );
00075         return result;
00076 }
00077 
00078 ptr< ::lestes::lang::cplus::sem::as_declarator_op_func > as_declarator_op2op_func::process( const ptr< ::lestes::lang::cplus::sem::as_declarator_op > & o )
00079 {
00080         lassert2( o, "Cannot visit NULL object." );
00081         o->accept_as_declarator_op_visitor( ptr< as_declarator_op_visitor >(this) );
00082         return function_get();
00083 }
00084 
00085 
00086 /*!
00087    Marking routine is used for garbage collection.
00088    \author lsg
00089  */
00090 void as_declarator_op2op_func::gc_mark()
00091 {
00092         as_declarator_op_default_visitor::gc_mark();
00093 }
00094 
00095 // End of class as_declarator_op2op_func.
00096 
00097 
00098 // static data members follow 
00099 ptr<object::reflection_list> as_declarator_op2op_func::reflection = reflection;
00100 
00101 end_package(sem);
00102 end_package(cplus);
00103 end_package(lang);
00104 end_package(lestes);
00105 

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