#include <ss_declaration.g.hh>
Inheritance diagram for lestes::lang::cplus::sem::ss_object_declaration:

Public Member Functions | |
| ptr< ss_declaration_time > | initialized_since_get () const |
| The method initialized_since_get returns the value of the field ss_object_declaration::initialized_since. | |
| void | initialized_since_set (const ptr< ss_declaration_time > &) |
| The method initialized_since_set sets the field ss_object_declaration::initialized_since to the given value. | |
| ptr< or_or_functional > | initializer_get () const |
| The method initializer_get returns the value of the field ss_object_declaration::initializer. | |
| void | initializer_set (const ptr< or_or_functional > &) |
| The method initializer_set sets the field ss_object_declaration::initializer to the given value. | |
| virtual void | accept_ss_declaration_visitor (ptr< ss_declaration_visitor > v) |
| virtual ulint | accept_ss_decl2ulint_base (ptr< ss_decl2ulint_base > v) |
| virtual lstring | accept_ss_decl2lstring_base (ptr< ss_decl2lstring_base > v) |
| 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< ss_object_declaration > | create (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_declaration_time > a__ss_declaration__visible_since, ptr< ss_declaration_time > a__ss_declaration__decl_time, ptr< ss_decl_name > a__ss_declaration__name, ptr< ss_decl_seq > a__ss_declaration__contained_in, ptr< ss_type > a__ss_declaration__type, ptr< ss_linkage > a__ss_declaration__linkage, ss_access_specifier::type a__ss_declaration_with_access_specifier__access_specifier, ss_storage_class::type a__ss_declaration_with_access_specifier__storage_class, ptr< ss_declaration_time > a__ss_object_declaration__initialized_since, ptr< or_or_functional > a__ss_object_declaration__initializer) |
| First generated factory method for class ss_object_declaration. | |
| static ptr< ss_object_declaration > | create (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_declaration_time > a__ss_declaration__visible_since, ptr< ss_declaration_time > a__ss_declaration__decl_time, ptr< ss_decl_name > a__ss_declaration__name, ptr< ss_decl_seq > a__ss_declaration__contained_in, ptr< ss_type > a__ss_declaration__type, ptr< ss_linkage > a__ss_declaration__linkage, ptr< ss_declaration_time > a__ss_object_declaration__initialized_since, ptr< or_or_functional > a__ss_object_declaration__initializer) |
| Second generated factory method for class ss_object_declaration. | |
Protected Member Functions | |
| ss_object_declaration (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_declaration_time > a__ss_declaration__visible_since, ptr< ss_declaration_time > a__ss_declaration__decl_time, ptr< ss_decl_name > a__ss_declaration__name, ptr< ss_decl_seq > a__ss_declaration__contained_in, ptr< ss_type > a__ss_declaration__type, ptr< ss_linkage > a__ss_declaration__linkage, ss_access_specifier::type a__ss_declaration_with_access_specifier__access_specifier, ss_storage_class::type a__ss_declaration_with_access_specifier__storage_class, ptr< ss_declaration_time > a__ss_object_declaration__initialized_since, ptr< or_or_functional > a__ss_object_declaration__initializer) | |
| Generated constructor for class ss_object_declaration. | |
| virtual void | gc_mark () |
| Marking routine for class ss_object_declaration. | |
Private Attributes | |
| srp< ss_declaration_time > | initialized_since |
| The time at which the initializer appears. | |
| srp< or_or_functional > | initializer |
| TODO: this field might go to ss_parameter_declaration. | |
Static Private Attributes | |
| static ptr< reflection_list > | reflection = reflection |
Definition at line 273 of file ss_declaration.g.hh.
| lestes::lang::cplus::sem::ss_object_declaration::ss_object_declaration | ( | ptr< ::lestes::std::source_location > | a__ss_base_with_location__location, | |
| ptr< ss_declaration_time > | a__ss_declaration__visible_since, | |||
| ptr< ss_declaration_time > | a__ss_declaration__decl_time, | |||
| ptr< ss_decl_name > | a__ss_declaration__name, | |||
| ptr< ss_decl_seq > | a__ss_declaration__contained_in, | |||
| ptr< ss_type > | a__ss_declaration__type, | |||
| ptr< ss_linkage > | a__ss_declaration__linkage, | |||
| ss_access_specifier::type | a__ss_declaration_with_access_specifier__access_specifier, | |||
| ss_storage_class::type | a__ss_declaration_with_access_specifier__storage_class, | |||
| ptr< ss_declaration_time > | a__ss_object_declaration__initialized_since, | |||
| ptr< or_or_functional > | a__ss_object_declaration__initializer | |||
| ) | [protected] |
Generated constructor for class ss_object_declaration.
Generated constructor for class ss_object_declaration.
Definition at line 508 of file ss_declaration.g.cc.
Referenced by create().
00519 : ss_declaration_with_access_specifier(a__ss_base_with_location__location, 00520 a__ss_declaration__visible_since, 00521 a__ss_declaration__decl_time, 00522 a__ss_declaration__name, 00523 a__ss_declaration__contained_in, 00524 a__ss_declaration__type, 00525 a__ss_declaration__linkage, 00526 a__ss_declaration_with_access_specifier__access_specifier, 00527 a__ss_declaration_with_access_specifier__storage_class), initialized_since(checked(a__ss_object_declaration__initialized_since)), initializer(a__ss_object_declaration__initializer) 00528 {}
| ptr< ss_declaration_time > lestes::lang::cplus::sem::ss_object_declaration::initialized_since_get | ( | ) | const |
The method initialized_since_get returns the value of the field ss_object_declaration::initialized_since.
Definition at line 411 of file ss_declaration.g.cc.
References initialized_since.
00412 { 00413 return initialized_since; 00414 }
| void lestes::lang::cplus::sem::ss_object_declaration::initialized_since_set | ( | const ptr< ss_declaration_time > & | x | ) |
The method initialized_since_set sets the field ss_object_declaration::initialized_since to the given value.
| [in] | x | The new value to set ss_object_declaration::initialized_since to. |
Definition at line 420 of file ss_declaration.g.cc.
References initialized_since.
00421 { 00422 ss_object_declaration::initialized_since = x; 00423 }
| ptr< or_or_functional > lestes::lang::cplus::sem::ss_object_declaration::initializer_get | ( | ) | const |
The method initializer_get returns the value of the field ss_object_declaration::initializer.
Definition at line 429 of file ss_declaration.g.cc.
References initializer.
00430 { 00431 return initializer; 00432 }
| void lestes::lang::cplus::sem::ss_object_declaration::initializer_set | ( | const ptr< or_or_functional > & | x | ) |
The method initializer_set sets the field ss_object_declaration::initializer to the given value.
| [in] | x | The new value to set ss_object_declaration::initializer to. |
Definition at line 438 of file ss_declaration.g.cc.
References initializer.
00439 { 00440 ss_object_declaration::initializer = x; 00441 }
| void lestes::lang::cplus::sem::ss_object_declaration::accept_ss_declaration_visitor | ( | ptr< ss_declaration_visitor > | v | ) | [virtual] |
Implements lestes::lang::cplus::sem::ss_declaration_with_access_specifier.
Reimplemented in lestes::lang::cplus::sem::ss_bitfield_declaration, and lestes::lang::cplus::sem::ss_parameter_declaration.
Definition at line 443 of file ss_declaration.g.cc.
| ulint lestes::lang::cplus::sem::ss_object_declaration::accept_ss_decl2ulint_base | ( | ptr< ss_decl2ulint_base > | v | ) | [virtual] |
Implements lestes::lang::cplus::sem::ss_declaration_with_access_specifier.
Reimplemented in lestes::lang::cplus::sem::ss_bitfield_declaration, and lestes::lang::cplus::sem::ss_parameter_declaration.
Definition at line 448 of file ss_declaration.g.cc.
| lstring lestes::lang::cplus::sem::ss_object_declaration::accept_ss_decl2lstring_base | ( | ptr< ss_decl2lstring_base > | v | ) | [virtual] |
Implements lestes::lang::cplus::sem::ss_declaration_with_access_specifier.
Reimplemented in lestes::lang::cplus::sem::ss_bitfield_declaration, and lestes::lang::cplus::sem::ss_parameter_declaration.
Definition at line 453 of file ss_declaration.g.cc.
| ptr< ss_object_declaration > lestes::lang::cplus::sem::ss_object_declaration::create | ( | ptr< ::lestes::std::source_location > | a__ss_base_with_location__location, | |
| ptr< ss_declaration_time > | a__ss_declaration__visible_since, | |||
| ptr< ss_declaration_time > | a__ss_declaration__decl_time, | |||
| ptr< ss_decl_name > | a__ss_declaration__name, | |||
| ptr< ss_decl_seq > | a__ss_declaration__contained_in, | |||
| ptr< ss_type > | a__ss_declaration__type, | |||
| ptr< ss_linkage > | a__ss_declaration__linkage, | |||
| ss_access_specifier::type | a__ss_declaration_with_access_specifier__access_specifier, | |||
| ss_storage_class::type | a__ss_declaration_with_access_specifier__storage_class, | |||
| ptr< ss_declaration_time > | a__ss_object_declaration__initialized_since, | |||
| ptr< or_or_functional > | a__ss_object_declaration__initializer | |||
| ) | [static] |
First generated factory method for class ss_object_declaration.
This factory method for class ss_object_declaration takes values of all fields as arguments.
Definition at line 462 of file ss_declaration.g.cc.
References ss_object_declaration().
00473 { 00474 return ptr< ss_object_declaration > ( new ss_object_declaration(a__ss_base_with_location__location, 00475 a__ss_declaration__visible_since, 00476 a__ss_declaration__decl_time, 00477 a__ss_declaration__name, 00478 a__ss_declaration__contained_in, 00479 a__ss_declaration__type, 00480 a__ss_declaration__linkage, 00481 a__ss_declaration_with_access_specifier__access_specifier, 00482 a__ss_declaration_with_access_specifier__storage_class, 00483 a__ss_object_declaration__initialized_since, 00484 a__ss_object_declaration__initializer) ); 00485 }
| ptr< ss_object_declaration > lestes::lang::cplus::sem::ss_object_declaration::create | ( | ptr< ::lestes::std::source_location > | a__ss_base_with_location__location, | |
| ptr< ss_declaration_time > | a__ss_declaration__visible_since, | |||
| ptr< ss_declaration_time > | a__ss_declaration__decl_time, | |||
| ptr< ss_decl_name > | a__ss_declaration__name, | |||
| ptr< ss_decl_seq > | a__ss_declaration__contained_in, | |||
| ptr< ss_type > | a__ss_declaration__type, | |||
| ptr< ss_linkage > | a__ss_declaration__linkage, | |||
| ptr< ss_declaration_time > | a__ss_object_declaration__initialized_since, | |||
| ptr< or_or_functional > | a__ss_object_declaration__initializer | |||
| ) | [static] |
Second generated factory method for class ss_object_declaration.
This factory method for class ss_object_declaration uses initializers.
Definition at line 491 of file ss_declaration.g.cc.
References lestes::lang::cplus::sem::ss_access_specifier::ACCESS_PUBLIC, ss_object_declaration(), and lestes::lang::cplus::sem::ss_storage_class::ST_NONE.
00500 { 00501 return ptr< ss_object_declaration > ( new ss_object_declaration(a__ss_base_with_location__location, a__ss_declaration__visible_since, a__ss_declaration__decl_time, a__ss_declaration__name, a__ss_declaration__contained_in, a__ss_declaration__type, a__ss_declaration__linkage, ss_access_specifier::ACCESS_PUBLIC, ss_storage_class::ST_NONE, a__ss_object_declaration__initialized_since, a__ss_object_declaration__initializer) ); 00502 }
| ptr< object::reflection_list > lestes::lang::cplus::sem::ss_object_declaration::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::lang::cplus::sem::ss_declaration_with_access_specifier.
Reimplemented in lestes::lang::cplus::sem::ss_bitfield_declaration, and lestes::lang::cplus::sem::ss_parameter_declaration.
Definition at line 530 of file ss_declaration.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::lang::cplus::sem::ss_declaration_with_access_specifier::reflection_get().
Referenced by lestes::lang::cplus::sem::ss_parameter_declaration::reflection_get(), and lestes::lang::cplus::sem::ss_bitfield_declaration::reflection_get().
00531 { 00532 if (!reflection) { 00533 typedef class_reflection::field_metadata md; 00534 typedef class_reflection::field_metadata_list mdlist; 00535 ptr<mdlist> mdl = mdlist::create(); 00536 mdl->push_back( md::create( "initialized_since", "ss_declaration_time" ) ); 00537 mdl->push_back( md::create( "initializer", "or_or_functional" ) ); 00538 reflection = reflection_list::create( ss_declaration_with_access_specifier::reflection_get() ); 00539 reflection->push_back( class_reflection::create( "ss_object_declaration", mdl ) ); 00540 } 00541 return reflection; 00542 }
| ptr< object::field_list_list > lestes::lang::cplus::sem::ss_object_declaration::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::lang::cplus::sem::ss_declaration_with_access_specifier.
Reimplemented in lestes::lang::cplus::sem::ss_bitfield_declaration, and lestes::lang::cplus::sem::ss_parameter_declaration.
Definition at line 544 of file ss_declaration.g.cc.
References lestes::std::list< T >::create(), and lestes::lang::cplus::sem::ss_declaration_with_access_specifier::field_values_get().
Referenced by lestes::lang::cplus::sem::ss_parameter_declaration::field_values_get(), and lestes::lang::cplus::sem::ss_bitfield_declaration::field_values_get().
00545 { 00546 ptr < field_list_list > result = ss_declaration_with_access_specifier::field_values_get(); 00547 result->push_back( value_list::create() ); 00548 result->back()->push_back( this->initialized_since ); 00549 result->push_back( value_list::create() ); 00550 result->back()->push_back( this->initializer ); 00551 return result; 00552 }
| void lestes::lang::cplus::sem::ss_object_declaration::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class ss_object_declaration.
Marking routine is used for garbage collection.
Reimplemented from lestes::lang::cplus::sem::ss_declaration_with_access_specifier.
Reimplemented in lestes::lang::cplus::sem::ss_bitfield_declaration, and lestes::lang::cplus::sem::ss_parameter_declaration.
Definition at line 559 of file ss_declaration.g.cc.
References lestes::lang::cplus::sem::ss_declaration_with_access_specifier::gc_mark().
Referenced by lestes::lang::cplus::sem::ss_parameter_declaration::gc_mark(), and lestes::lang::cplus::sem::ss_bitfield_declaration::gc_mark().
00560 { 00561 ss_declaration_with_access_specifier::gc_mark(); 00562 }
srp< ss_declaration_time > lestes::lang::cplus::sem::ss_object_declaration::initialized_since [private] |
The time at which the initializer appears.
The time is used in determining whether a function has a default argument at the time of the call:
void foo(int, int = 3); // declaration_time == 1; foo(3); // declaration_time == 2; void foo(int = 2, int); // declaration_time == 3;Here the first argument will have its initialized_since equal to 3 so that it can be determined that at time 2 the expression foo(); would be invalid.
Definition at line 357 of file ss_declaration.g.hh.
Referenced by initialized_since_get(), and initialized_since_set().
TODO: this field might go to ss_parameter_declaration.
Ratio: for parameter: we see it clearly when creating declaration contrary: static const int; inside class (we need reference to decl-stmt).
Definition at line 365 of file ss_declaration.g.hh.
Referenced by initializer_get(), and initializer_set().
ptr< object::reflection_list > lestes::lang::cplus::sem::ss_object_declaration::reflection = reflection [static, private] |
Reimplemented from lestes::lang::cplus::sem::ss_declaration_with_access_specifier.
Reimplemented in lestes::lang::cplus::sem::ss_bitfield_declaration, and lestes::lang::cplus::sem::ss_parameter_declaration.
Definition at line 366 of file ss_declaration.g.hh.
Referenced by reflection_get().
1.5.1-20070107