#include <token.hh>
Inheritance diagram for lestes::lang::cplus::syn::bison_id_token:

Public Types | |
| enum | hinted_by_type { BY_HINTER, BY_USER } |
Public Member Functions | |
| ptr< ::lestes::lang::cplus::sem::declaration_set_type > | found_decls_get () const |
| virtual void | print (::std::ostream &) const |
| virtual ptr< reflection_list > | reflection_get () const |
| for purposes of dumping | |
| virtual ptr< field_list_list > | field_values_get () const |
| for purposes of dumping | |
Static Public Member Functions | |
| static ptr< bison_id_token > | create (int a_type, const ptr< wrapped_token_type > &a_token_to_wrap, hinted_by_type a_hinted_by, const ptr< ::lestes::lang::cplus::sem::declaration_set_type > &a_found_decls) |
Protected Member Functions | |
| bison_id_token (const ptr< source_location > &a_location, int a_value, const ptr< wrapped_token_type > &a_token_to_wrap, hinted_by_type a_hinted_by, const ptr< ::lestes::lang::cplus::sem::declaration_set_type > &a_found_decls) | |
| void | gc_mark () |
| Marking routine for class as_base. | |
Private Attributes | |
| const hinted_by_type | hinted_by |
| srp< ::lestes::lang::cplus::sem::declaration_set_type > | found_decls |
Static Private Attributes | |
| static ptr< reflection_list > | reflection = reflection |
Definition at line 158 of file token.hh.
| lestes::lang::cplus::syn::bison_id_token::bison_id_token | ( | const ptr< source_location > & | a_location, | |
| int | a_value, | |||
| const ptr< wrapped_token_type > & | a_token_to_wrap, | |||
| hinted_by_type | a_hinted_by, | |||
| const ptr< ::lestes::lang::cplus::sem::declaration_set_type > & | a_found_decls | |||
| ) | [inline, protected] |
Definition at line 170 of file token.hh.
00174 : bison_token( a_location, a_value, a_token_to_wrap ), 00175 hinted_by(a_hinted_by), found_decls(a_found_decls) 00176 {}
| ptr<::lestes::lang::cplus::sem::declaration_set_type > lestes::lang::cplus::syn::bison_id_token::found_decls_get | ( | ) | const |
Definition at line 192 of file token.cc.
References found_decls.
00193 { 00194 return found_decls; 00195 }
| void lestes::lang::cplus::syn::bison_id_token::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class as_base.
Marking routine is used for garbage collection.
Reimplemented from lestes::lang::cplus::syn::bison_token.
Definition at line 186 of file token.cc.
References found_decls, and lestes::lang::cplus::syn::bison_token::gc_mark().
00187 { 00188 found_decls.gc_mark(); 00189 bison_token::gc_mark(); 00190 }
| static ptr<bison_id_token> lestes::lang::cplus::syn::bison_id_token::create | ( | int | a_type, | |
| const ptr< wrapped_token_type > & | a_token_to_wrap, | |||
| hinted_by_type | a_hinted_by, | |||
| const ptr< ::lestes::lang::cplus::sem::declaration_set_type > & | a_found_decls | |||
| ) | [inline, static] |
Definition at line 179 of file token.hh.
00183 { 00184 return new bison_id_token( a_token_to_wrap->location_get(), 00185 a_type, a_token_to_wrap, a_hinted_by, 00186 a_found_decls ); 00187 }
| void lestes::lang::cplus::syn::bison_id_token::print | ( | ::std::ostream & | ) | const [virtual] |
Reimplemented from lestes::lang::cplus::syn::bison_token.
Definition at line 221 of file token.cc.
References lestes::lang::cplus::syn::bison_token::HINT_NONE, hinted_by, lestes::lang::cplus::syn::hinted_by2str(), lassert2, lestes::lang::cplus::syn::parser::token_type2name(), lestes::lang::cplus::syn::bison_token::type_get(), lestes::lang::cplus::syn::bison_token::user_hint_get(), and lestes::lang::cplus::syn::bison_token::value_get().
00222 { 00223 os << "bison_id_token " << parser::token_type2name(type_get()) << 00224 " (\"" << value_get() << "\")," 00225 " hinted " << hinted_by2str(hinted_by); 00226 lassert2( user_hint_get() == HINT_NONE, "Id tokens must not have hints!" ); 00227 }
| ptr< object::reflection_list > lestes::lang::cplus::syn::bison_id_token::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::lang::cplus::syn::bison_token.
Definition at line 199 of file token.cc.
References lestes::std::list< T >::create(), reflection, and lestes::lang::cplus::syn::bison_token::reflection_get().
00200 { 00201 if (!reflection) { 00202 typedef class_reflection::field_metadata md; 00203 typedef class_reflection::field_metadata_list mdlist; 00204 ptr<mdlist> mdl = mdlist::create(); 00205 mdl->push_back( md::create( "hinted_by", "lstring" ) ); 00206 // append our one to a copy of the base class's list 00207 reflection = reflection_list::create( bison_token::reflection_get() ); 00208 reflection->push_back( class_reflection::create( "bison_id_token", mdl ) ); 00209 } 00210 return reflection; 00211 }
| ptr< object::field_list_list > lestes::lang::cplus::syn::bison_id_token::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::lang::cplus::syn::bison_token.
Definition at line 213 of file token.cc.
References lestes::std::list< T >::create(), lestes::lang::cplus::syn::bison_token::field_values_get(), hinted_by, and lestes::lang::cplus::syn::hinted_by2str().
00214 { 00215 ptr<field_list_list> result = bison_token::field_values_get(); 00216 result->push_back( value_list::create() ); 00217 result->back()->push_back( objectize<lstring>::create( hinted_by2str(hinted_by) ) ); 00218 return result; 00219 }
const hinted_by_type lestes::lang::cplus::syn::bison_id_token::hinted_by [private] |
ptr< object::reflection_list > lestes::lang::cplus::syn::bison_id_token::reflection = reflection [static, private] |
Reimplemented from lestes::lang::cplus::syn::bison_token.
Definition at line 191 of file token.hh.
Referenced by reflection_get().
1.5.1-20070107