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

Public Member Functions | |
| ptr< ss_declaration_time > | visible_since_get () const |
| The method visible_since_get returns the value of the field ss_declaration::visible_since. | |
| void | visible_since_set (const ptr< ss_declaration_time > &) |
| The method visible_since_set sets the field ss_declaration::visible_since to the given value. | |
| ptr< ss_declaration_time > | decl_time_get () const |
| The method decl_time_get returns the value of the field ss_declaration::decl_time. | |
| void | decl_time_set (const ptr< ss_declaration_time > &) |
| The method decl_time_set sets the field ss_declaration::decl_time to the given value. | |
| ptr< ss_decl_name > | name_get () const |
| The method name_get returns the value of the field ss_declaration::name. | |
| void | name_set (const ptr< ss_decl_name > &) |
| The method name_set sets the field ss_declaration::name to the given value. | |
| ptr< ss_decl_seq > | contained_in_get () const |
| The method contained_in_get returns the value of the field ss_declaration::contained_in. | |
| void | contained_in_set (const ptr< ss_decl_seq > &) |
| The method contained_in_set sets the field ss_declaration::contained_in to the given value. | |
| ptr< ss_type > | type_get () const |
| The method type_get returns the value of the field ss_declaration::type. | |
| void | type_set (const ptr< ss_type > &) |
| The method type_set sets the field ss_declaration::type to the given value. | |
| ptr< ss_linkage > | linkage_get () const |
| The method linkage_get returns the value of the field ss_declaration::linkage. | |
| void | linkage_set (const ptr< ss_linkage > &) |
| The method linkage_set sets the field ss_declaration::linkage to the given value. | |
| virtual void | accept_ss_declaration_visitor (ptr< ss_declaration_visitor > v) override |
| virtual ulint | accept_ss_decl2ulint_base (ptr< ss_decl2ulint_base > v) override |
| virtual lstring | accept_ss_decl2lstring_base (ptr< ss_decl2lstring_base > v) override |
| virtual ptr< reflection_list > | reflection_get () const |
| for purposes of dumping | |
| virtual ptr< field_list_list > | field_values_get () const |
| for purposes of dumping | |
Protected Member Functions | |
| ss_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) | |
| Generated constructor for class ss_declaration. | |
| virtual void | gc_mark () |
| Marking routine for class ss_declaration. | |
Private Attributes | |
| srp< ss_declaration_time > | visible_since |
| Invisible declarations are results of friend declarations. | |
| srp< ss_declaration_time > | decl_time |
| srp< ss_decl_name > | name |
| srp< ss_decl_seq > | contained_in |
| srp< ss_type > | type |
| Type of the declared thing. | |
| srp< ss_linkage > | linkage |
| external,internal,inline,no linkage | |
Static Private Attributes | |
| static ptr< reflection_list > | reflection = reflection |
Definition at line 63 of file ss_declaration.g.hh.
| lestes::lang::cplus::sem::ss_declaration::ss_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 | |||
| ) | [protected] |
Generated constructor for class ss_declaration.
Generated constructor for class ss_declaration.
Definition at line 139 of file ss_declaration.g.cc.
00146 : ss_base_with_location(a__ss_base_with_location__location), visible_since(checked(a__ss_declaration__visible_since)), decl_time(checked(a__ss_declaration__decl_time)), name(checked(a__ss_declaration__name)), contained_in(checked(a__ss_declaration__contained_in)), type(checked(a__ss_declaration__type)), linkage(checked(a__ss_declaration__linkage)) 00147 {}
| ptr< ss_declaration_time > lestes::lang::cplus::sem::ss_declaration::visible_since_get | ( | ) | const |
The method visible_since_get returns the value of the field ss_declaration::visible_since.
Definition at line 31 of file ss_declaration.g.cc.
References visible_since.
00032 { 00033 return visible_since; 00034 }
| void lestes::lang::cplus::sem::ss_declaration::visible_since_set | ( | const ptr< ss_declaration_time > & | x | ) |
The method visible_since_set sets the field ss_declaration::visible_since to the given value.
| [in] | x | The new value to set ss_declaration::visible_since to. |
Definition at line 40 of file ss_declaration.g.cc.
References visible_since.
00041 { 00042 ss_declaration::visible_since = x; 00043 }
| ptr< ss_declaration_time > lestes::lang::cplus::sem::ss_declaration::decl_time_get | ( | ) | const |
The method decl_time_get returns the value of the field ss_declaration::decl_time.
Definition at line 49 of file ss_declaration.g.cc.
References decl_time.
00050 { 00051 return decl_time; 00052 }
| void lestes::lang::cplus::sem::ss_declaration::decl_time_set | ( | const ptr< ss_declaration_time > & | x | ) |
The method decl_time_set sets the field ss_declaration::decl_time to the given value.
| [in] | x | The new value to set ss_declaration::decl_time to. |
Definition at line 58 of file ss_declaration.g.cc.
References decl_time.
00059 { 00060 ss_declaration::decl_time = x; 00061 }
| ptr< ss_decl_name > lestes::lang::cplus::sem::ss_declaration::name_get | ( | void | ) | const |
The method name_get returns the value of the field ss_declaration::name.
Definition at line 67 of file ss_declaration.g.cc.
References name.
Referenced by lestes::lang::cplus::sem::ss_function_declaration::is_entry_point().
00068 { 00069 return name; 00070 }
| void lestes::lang::cplus::sem::ss_declaration::name_set | ( | const ptr< ss_decl_name > & | x | ) |
The method name_set sets the field ss_declaration::name to the given value.
| [in] | x | The new value to set ss_declaration::name to. |
Definition at line 76 of file ss_declaration.g.cc.
References name.
00077 { 00078 ss_declaration::name = x; 00079 }
| ptr< ss_decl_seq > lestes::lang::cplus::sem::ss_declaration::contained_in_get | ( | ) | const |
The method contained_in_get returns the value of the field ss_declaration::contained_in.
Definition at line 85 of file ss_declaration.g.cc.
References contained_in.
Referenced by lestes::lang::cplus::sem::ss_function_declaration::is_entry_point().
00086 { 00087 return contained_in; 00088 }
| void lestes::lang::cplus::sem::ss_declaration::contained_in_set | ( | const ptr< ss_decl_seq > & | x | ) |
The method contained_in_set sets the field ss_declaration::contained_in to the given value.
| [in] | x | The new value to set ss_declaration::contained_in to. |
Definition at line 94 of file ss_declaration.g.cc.
References contained_in.
00095 { 00096 ss_declaration::contained_in = x; 00097 }
| ptr< ss_type > lestes::lang::cplus::sem::ss_declaration::type_get | ( | void | ) | const |
The method type_get returns the value of the field ss_declaration::type.
Definition at line 103 of file ss_declaration.g.cc.
References type.
00104 { 00105 return type; 00106 }
| void lestes::lang::cplus::sem::ss_declaration::type_set | ( | const ptr< ss_type > & | x | ) |
The method type_set sets the field ss_declaration::type to the given value.
| [in] | x | The new value to set ss_declaration::type to. |
Definition at line 112 of file ss_declaration.g.cc.
References type.
00113 { 00114 ss_declaration::type = x; 00115 }
| ptr< ss_linkage > lestes::lang::cplus::sem::ss_declaration::linkage_get | ( | ) | const |
The method linkage_get returns the value of the field ss_declaration::linkage.
Definition at line 121 of file ss_declaration.g.cc.
References linkage.
00122 { 00123 return linkage; 00124 }
| void lestes::lang::cplus::sem::ss_declaration::linkage_set | ( | const ptr< ss_linkage > & | x | ) |
The method linkage_set sets the field ss_declaration::linkage to the given value.
| [in] | x | The new value to set ss_declaration::linkage to. |
Definition at line 130 of file ss_declaration.g.cc.
References linkage.
00131 { 00132 ss_declaration::linkage = x; 00133 }
| virtual void lestes::lang::cplus::sem::ss_declaration::accept_ss_declaration_visitor | ( | ptr< ss_declaration_visitor > | v | ) | [pure virtual] |
Implemented in lestes::lang::cplus::sem::ss_namespace_definition, lestes::lang::cplus::sem::ss_declaration_with_access_specifier, lestes::lang::cplus::sem::ss_object_declaration, lestes::lang::cplus::sem::ss_bitfield_declaration, lestes::lang::cplus::sem::ss_parameter_declaration, lestes::lang::cplus::sem::ss_fake_declaration, lestes::lang::cplus::sem::ss_injected_class_declaration, lestes::lang::cplus::sem::ss_enum_definition, lestes::lang::cplus::sem::ss_typedef_definition, lestes::lang::cplus::sem::ss_enumerator_declaration, lestes::lang::cplus::sem::ss_befriendable_declaration, lestes::lang::cplus::sem::ss_structure_declaration, lestes::lang::cplus::sem::ss_function_declaration, lestes::lang::cplus::sem::ss_method_declaration, lestes::lang::cplus::sem::ss_using_declaration, lestes::lang::cplus::sem::ss_dummy_declaration, lestes::lang::cplus::sem::ss_compound_stmt_declaration, and lestes::lang::cplus::sem::ss_builtin_operator_declaration.
| virtual ulint lestes::lang::cplus::sem::ss_declaration::accept_ss_decl2ulint_base | ( | ptr< ss_decl2ulint_base > | v | ) | [pure virtual] |
Implemented in lestes::lang::cplus::sem::ss_namespace_definition, lestes::lang::cplus::sem::ss_declaration_with_access_specifier, lestes::lang::cplus::sem::ss_object_declaration, lestes::lang::cplus::sem::ss_bitfield_declaration, lestes::lang::cplus::sem::ss_parameter_declaration, lestes::lang::cplus::sem::ss_fake_declaration, lestes::lang::cplus::sem::ss_injected_class_declaration, lestes::lang::cplus::sem::ss_enum_definition, lestes::lang::cplus::sem::ss_typedef_definition, lestes::lang::cplus::sem::ss_enumerator_declaration, lestes::lang::cplus::sem::ss_befriendable_declaration, lestes::lang::cplus::sem::ss_structure_declaration, lestes::lang::cplus::sem::ss_function_declaration, lestes::lang::cplus::sem::ss_method_declaration, lestes::lang::cplus::sem::ss_using_declaration, lestes::lang::cplus::sem::ss_dummy_declaration, lestes::lang::cplus::sem::ss_compound_stmt_declaration, and lestes::lang::cplus::sem::ss_builtin_operator_declaration.
| virtual lstring lestes::lang::cplus::sem::ss_declaration::accept_ss_decl2lstring_base | ( | ptr< ss_decl2lstring_base > | v | ) | [pure virtual] |
Implemented in lestes::lang::cplus::sem::ss_namespace_definition, lestes::lang::cplus::sem::ss_declaration_with_access_specifier, lestes::lang::cplus::sem::ss_object_declaration, lestes::lang::cplus::sem::ss_bitfield_declaration, lestes::lang::cplus::sem::ss_parameter_declaration, lestes::lang::cplus::sem::ss_fake_declaration, lestes::lang::cplus::sem::ss_injected_class_declaration, lestes::lang::cplus::sem::ss_enum_definition, lestes::lang::cplus::sem::ss_typedef_definition, lestes::lang::cplus::sem::ss_enumerator_declaration, lestes::lang::cplus::sem::ss_befriendable_declaration, lestes::lang::cplus::sem::ss_structure_declaration, lestes::lang::cplus::sem::ss_function_declaration, lestes::lang::cplus::sem::ss_method_declaration, lestes::lang::cplus::sem::ss_using_declaration, lestes::lang::cplus::sem::ss_dummy_declaration, lestes::lang::cplus::sem::ss_compound_stmt_declaration, and lestes::lang::cplus::sem::ss_builtin_operator_declaration.
| ptr< object::reflection_list > lestes::lang::cplus::sem::ss_declaration::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::intercode::ss_base_with_location.
Reimplemented in lestes::lang::cplus::sem::ss_namespace_definition, lestes::lang::cplus::sem::ss_declaration_with_access_specifier, lestes::lang::cplus::sem::ss_object_declaration, lestes::lang::cplus::sem::ss_bitfield_declaration, lestes::lang::cplus::sem::ss_parameter_declaration, lestes::lang::cplus::sem::ss_fake_declaration, lestes::lang::cplus::sem::ss_injected_class_declaration, lestes::lang::cplus::sem::ss_enum_definition, lestes::lang::cplus::sem::ss_typedef_definition, lestes::lang::cplus::sem::ss_enumerator_declaration, lestes::lang::cplus::sem::ss_befriendable_declaration, lestes::lang::cplus::sem::ss_structure_declaration, lestes::lang::cplus::sem::ss_function_declaration, lestes::lang::cplus::sem::ss_method_declaration, lestes::lang::cplus::sem::ss_using_declaration, lestes::lang::cplus::sem::ss_dummy_declaration, lestes::lang::cplus::sem::ss_compound_stmt_declaration, and lestes::lang::cplus::sem::ss_builtin_operator_declaration.
Definition at line 149 of file ss_declaration.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::intercode::ss_base_with_location::reflection_get().
Referenced by lestes::lang::cplus::sem::ss_dummy_declaration::reflection_get(), lestes::lang::cplus::sem::ss_declaration_with_access_specifier::reflection_get(), and lestes::lang::cplus::sem::ss_namespace_definition::reflection_get().
00150 { 00151 if (!reflection) { 00152 typedef class_reflection::field_metadata md; 00153 typedef class_reflection::field_metadata_list mdlist; 00154 ptr<mdlist> mdl = mdlist::create(); 00155 mdl->push_back( md::create( "visible_since", "ss_declaration_time" ) ); 00156 mdl->push_back( md::create( "decl_time", "ss_declaration_time" ) ); 00157 mdl->push_back( md::create( "name", "ss_decl_name" ) ); 00158 mdl->push_back( md::create( "contained_in", "ss_decl_seq" ) ); 00159 mdl->push_back( md::create( "type", "ss_type" ) ); 00160 mdl->push_back( md::create( "linkage", "ss_linkage" ) ); 00161 reflection = reflection_list::create( ::lestes::intercode::ss_base_with_location::reflection_get() ); 00162 reflection->push_back( class_reflection::create( "ss_declaration", mdl ) ); 00163 } 00164 return reflection; 00165 }
| ptr< object::field_list_list > lestes::lang::cplus::sem::ss_declaration::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::intercode::ss_base_with_location.
Reimplemented in lestes::lang::cplus::sem::ss_namespace_definition, lestes::lang::cplus::sem::ss_declaration_with_access_specifier, lestes::lang::cplus::sem::ss_object_declaration, lestes::lang::cplus::sem::ss_bitfield_declaration, lestes::lang::cplus::sem::ss_parameter_declaration, lestes::lang::cplus::sem::ss_fake_declaration, lestes::lang::cplus::sem::ss_injected_class_declaration, lestes::lang::cplus::sem::ss_enum_definition, lestes::lang::cplus::sem::ss_typedef_definition, lestes::lang::cplus::sem::ss_enumerator_declaration, lestes::lang::cplus::sem::ss_befriendable_declaration, lestes::lang::cplus::sem::ss_structure_declaration, lestes::lang::cplus::sem::ss_function_declaration, lestes::lang::cplus::sem::ss_method_declaration, lestes::lang::cplus::sem::ss_using_declaration, lestes::lang::cplus::sem::ss_dummy_declaration, lestes::lang::cplus::sem::ss_compound_stmt_declaration, and lestes::lang::cplus::sem::ss_builtin_operator_declaration.
Definition at line 167 of file ss_declaration.g.cc.
References lestes::std::list< T >::create(), and lestes::intercode::ss_base_with_location::field_values_get().
Referenced by lestes::lang::cplus::sem::ss_dummy_declaration::field_values_get(), lestes::lang::cplus::sem::ss_declaration_with_access_specifier::field_values_get(), and lestes::lang::cplus::sem::ss_namespace_definition::field_values_get().
00168 { 00169 ptr < field_list_list > result = ::lestes::intercode::ss_base_with_location::field_values_get(); 00170 result->push_back( value_list::create() ); 00171 result->back()->push_back( this->visible_since ); 00172 result->push_back( value_list::create() ); 00173 result->back()->push_back( this->decl_time ); 00174 result->push_back( value_list::create() ); 00175 result->back()->push_back( this->name ); 00176 result->push_back( value_list::create() ); 00177 result->back()->push_back( this->contained_in ); 00178 result->push_back( value_list::create() ); 00179 result->back()->push_back( this->type ); 00180 result->push_back( value_list::create() ); 00181 result->back()->push_back( this->linkage ); 00182 return result; 00183 }
| void lestes::lang::cplus::sem::ss_declaration::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class ss_declaration.
Marking routine is used for garbage collection.
Reimplemented from lestes::intercode::ss_base_with_location.
Reimplemented in lestes::lang::cplus::sem::ss_namespace_definition, lestes::lang::cplus::sem::ss_declaration_with_access_specifier, lestes::lang::cplus::sem::ss_object_declaration, lestes::lang::cplus::sem::ss_bitfield_declaration, lestes::lang::cplus::sem::ss_parameter_declaration, lestes::lang::cplus::sem::ss_fake_declaration, lestes::lang::cplus::sem::ss_injected_class_declaration, lestes::lang::cplus::sem::ss_enum_definition, lestes::lang::cplus::sem::ss_typedef_definition, lestes::lang::cplus::sem::ss_enumerator_declaration, lestes::lang::cplus::sem::ss_befriendable_declaration, lestes::lang::cplus::sem::ss_structure_declaration, lestes::lang::cplus::sem::ss_function_declaration, lestes::lang::cplus::sem::ss_method_declaration, lestes::lang::cplus::sem::ss_using_declaration, lestes::lang::cplus::sem::ss_dummy_declaration, lestes::lang::cplus::sem::ss_compound_stmt_declaration, and lestes::lang::cplus::sem::ss_builtin_operator_declaration.
Definition at line 190 of file ss_declaration.g.cc.
References lestes::intercode::ss_base_with_location::gc_mark().
Referenced by lestes::lang::cplus::sem::ss_dummy_declaration::gc_mark(), lestes::lang::cplus::sem::ss_declaration_with_access_specifier::gc_mark(), and lestes::lang::cplus::sem::ss_namespace_definition::gc_mark().
00191 { 00192 ::lestes::intercode::ss_base_with_location::gc_mark(); 00193 }
Invisible declarations are results of friend declarations.
Invisible declarations can be introduced into namespace scope using 'friend' declarations in classes:
class c { friend class a; friend int foo(); };
Both a and foo are introduced into :: namespace, yet they are invisible. However, when later defining a or foo, the invisible declarations have to be paired (marked as overridden by) the new, visible ones.
Visible is defined, so that the visible_since time is before the query time (in terms of declaration_time).
Definition at line 146 of file ss_declaration.g.hh.
Referenced by visible_since_get(), and visible_since_set().
srp< ss_declaration_time > lestes::lang::cplus::sem::ss_declaration::decl_time [private] |
Definition at line 147 of file ss_declaration.g.hh.
Referenced by decl_time_get(), and decl_time_set().
srp< ss_decl_name > lestes::lang::cplus::sem::ss_declaration::name [private] |
srp< ss_decl_seq > lestes::lang::cplus::sem::ss_declaration::contained_in [private] |
Definition at line 149 of file ss_declaration.g.hh.
Referenced by contained_in_get(), and contained_in_set().
srp< ss_type > lestes::lang::cplus::sem::ss_declaration::type [private] |
Type of the declared thing.
Namespace declarations have 'void' type, for simplicity.
Definition at line 156 of file ss_declaration.g.hh.
Referenced by type_get(), and type_set().
srp< ss_linkage > lestes::lang::cplus::sem::ss_declaration::linkage [private] |
external,internal,inline,no linkage
Definition at line 158 of file ss_declaration.g.hh.
Referenced by linkage_get(), and linkage_set().
ptr< object::reflection_list > lestes::lang::cplus::sem::ss_declaration::reflection = reflection [static, private] |
Reimplemented from lestes::intercode::ss_base_with_location.
Reimplemented in lestes::lang::cplus::sem::ss_namespace_definition, lestes::lang::cplus::sem::ss_declaration_with_access_specifier, lestes::lang::cplus::sem::ss_object_declaration, lestes::lang::cplus::sem::ss_bitfield_declaration, lestes::lang::cplus::sem::ss_parameter_declaration, lestes::lang::cplus::sem::ss_fake_declaration, lestes::lang::cplus::sem::ss_injected_class_declaration, lestes::lang::cplus::sem::ss_enum_definition, lestes::lang::cplus::sem::ss_typedef_definition, lestes::lang::cplus::sem::ss_enumerator_declaration, lestes::lang::cplus::sem::ss_befriendable_declaration, lestes::lang::cplus::sem::ss_structure_declaration, lestes::lang::cplus::sem::ss_function_declaration, lestes::lang::cplus::sem::ss_method_declaration, lestes::lang::cplus::sem::ss_using_declaration, lestes::lang::cplus::sem::ss_dummy_declaration, lestes::lang::cplus::sem::ss_compound_stmt_declaration, and lestes::lang::cplus::sem::ss_builtin_operator_declaration.
Definition at line 159 of file ss_declaration.g.hh.
Referenced by reflection_get().
1.5.1-20070107