00001 // This file is automatically generated, do not edit. 00002 00003 /*! 00004 \file 00005 \brief Simple declaration analysis. 00006 00007 Analysis of simple declaration and its conversion to ss_declaration. 00008 00009 */ 00010 00011 #include <lestes/lang/cplus/sem/as_decl.g.hh> 00012 #include <lestes/lang/cplus/sem/ss_misc.g.hh> 00013 00014 #include <lestes/std/list.hh> 00015 #include <lestes/std/pair.hh> 00016 #include <lestes/std/reflect.hh> 00017 00018 #include <lestes/lang/cplus/sem/sa_simple_declaration.g.hh> 00019 00020 package(lestes); 00021 package(lang); 00022 package(cplus); 00023 package(sem); 00024 00025 00026 // ------------- Class sa_simple_declaration follows. ------------- 00027 00028 /*! 00029 Static field sa_simple_declaration::the_instance. 00030 \author lsg 00031 */ 00032 ptr< sa_simple_declaration > sa_simple_declaration::the_instance = the_instance; 00033 00034 /*! 00035 Generated instance() method for singleton class sa_simple_declaration. 00036 \author lsg 00037 */ 00038 ptr< sa_simple_declaration > sa_simple_declaration::instance() 00039 { 00040 return the_instance ? the_instance : the_instance = new sa_simple_declaration(); 00041 } 00042 00043 /*! 00044 Generated constructor for class sa_simple_declaration. 00045 \author lsg 00046 */ 00047 sa_simple_declaration::sa_simple_declaration () 00048 : object() 00049 {} 00050 00051 ptr< object::reflection_list > sa_simple_declaration::reflection_get() const 00052 { 00053 if (!reflection) { 00054 typedef class_reflection::field_metadata md; 00055 typedef class_reflection::field_metadata_list mdlist; 00056 ptr<mdlist> mdl = mdlist::create(); 00057 reflection = reflection_list::create( object::reflection_get() ); 00058 reflection->push_back( class_reflection::create( "sa_simple_declaration", mdl ) ); 00059 } 00060 return reflection; 00061 } 00062 00063 ptr< object::field_list_list > sa_simple_declaration::field_values_get() const 00064 { 00065 ptr < field_list_list > result = object::field_values_get(); 00066 return result; 00067 } 00068 00069 00070 /*! 00071 Marking routine is used for garbage collection. 00072 \author lsg 00073 */ 00074 void sa_simple_declaration::gc_mark() 00075 { 00076 object::gc_mark(); 00077 } 00078 00079 // End of class sa_simple_declaration. 00080 00081 00082 // static data members follow 00083 ptr<object::reflection_list> sa_simple_declaration::reflection = reflection; 00084 00085 end_package(sem); 00086 end_package(cplus); 00087 end_package(lang); 00088 end_package(lestes); 00089
1.5.1-20070107