00001 // This file is automatically generated, do not edit. 00002 00003 #include <lestes/lang/cplus/sem/ss_misc.g.hh> 00004 #include <lestes/lang/cplus/sem/ss_type.g.hh> 00005 #include <lestes/lang/cplus/sem/as_declarator_op2ss_type.g.hh> 00006 00007 #include <lestes/std/list.hh> 00008 #include <lestes/std/pair.hh> 00009 #include <lestes/std/reflect.hh> 00010 00011 #include <lestes/lang/cplus/sem/sa_param_declaration.g.hh> 00012 00013 package(lestes); 00014 package(lang); 00015 package(cplus); 00016 package(sem); 00017 00018 00019 // ------------- Class sa_param_declaration follows. ------------- 00020 00021 /*! 00022 \returns The value of sa_param_declaration::scope. 00023 \author lsg 00024 */ 00025 ptr< ::lestes::lang::cplus::sem::ss_decl_seq > sa_param_declaration::scope_get() const 00026 { 00027 return scope; 00028 } 00029 00030 /*! 00031 \returns The value of sa_param_declaration::index. 00032 \author lsg 00033 */ 00034 ulint sa_param_declaration::index_get() const 00035 { 00036 return index; 00037 } 00038 00039 /*! 00040 This factory method for class sa_param_declaration takes values of all fields as arguments. 00041 \author lsg 00042 */ 00043 ptr< sa_param_declaration > sa_param_declaration::create(ptr< ::lestes::lang::cplus::sem::ss_decl_seq > a__sa_param_declaration__scope, 00044 ulint a__sa_param_declaration__index) 00045 { 00046 return ptr< sa_param_declaration > ( new sa_param_declaration(a__sa_param_declaration__scope, 00047 a__sa_param_declaration__index) ); 00048 } 00049 00050 /*! 00051 This factory method for class sa_param_declaration uses initializers. 00052 \author lsg 00053 */ 00054 ptr< sa_param_declaration > sa_param_declaration::create(ptr< ::lestes::lang::cplus::sem::ss_decl_seq > a__sa_param_declaration__scope) 00055 { 00056 return ptr< sa_param_declaration > ( new sa_param_declaration(a__sa_param_declaration__scope, 0) ); 00057 } 00058 00059 /*! 00060 Generated constructor for class sa_param_declaration. 00061 \author lsg 00062 */ 00063 sa_param_declaration::sa_param_declaration (ptr< ::lestes::lang::cplus::sem::ss_decl_seq > a__sa_param_declaration__scope, 00064 ulint a__sa_param_declaration__index) 00065 : object(), scope(checked(a__sa_param_declaration__scope)), index(a__sa_param_declaration__index) 00066 {} 00067 00068 ptr< object::reflection_list > sa_param_declaration::reflection_get() const 00069 { 00070 if (!reflection) { 00071 typedef class_reflection::field_metadata md; 00072 typedef class_reflection::field_metadata_list mdlist; 00073 ptr<mdlist> mdl = mdlist::create(); 00074 mdl->push_back( md::create( "scope", "ss_decl_seq" ) ); 00075 mdl->push_back( md::create( "index", "ulint" ) ); 00076 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00077 reflection->push_back( class_reflection::create( "sa_param_declaration", mdl ) ); 00078 } 00079 return reflection; 00080 } 00081 00082 ptr< object::field_list_list > sa_param_declaration::field_values_get() const 00083 { 00084 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00085 result->push_back( value_list::create() ); 00086 result->back()->push_back( this->scope ); 00087 result->push_back( value_list::create() ); 00088 result->back()->push_back( objectize< ulint > ::create( this->index ) ); 00089 return result; 00090 } 00091 00092 00093 /*! 00094 Marking routine is used for garbage collection. 00095 \author lsg 00096 */ 00097 void sa_param_declaration::gc_mark() 00098 { 00099 ::lestes::std::object::gc_mark(); 00100 } 00101 00102 // End of class sa_param_declaration. 00103 00104 00105 // static data members follow 00106 ptr<object::reflection_list> sa_param_declaration::reflection = reflection; 00107 00108 end_package(sem); 00109 end_package(cplus); 00110 end_package(lang); 00111 end_package(lestes); 00112
1.5.1-20070107