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

Public Member Functions | |
| bool | is_before (ptr< ss_declaration_time > other) |
| Tells whether this time is before the one passed as argument. | |
| 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_declaration_time > | infinity () |
| return an ss_declaration_time instance representing infinity | |
| static ptr< ss_declaration_time > | create (ulint a__ss_declaration_time__time) |
| First generated factory method for class ss_declaration_time. | |
Protected Member Functions | |
| ss_declaration_time (ulint a__ss_declaration_time__time) | |
| Generated constructor for class ss_declaration_time. | |
| virtual void | gc_mark () |
| Marking routine for class ss_declaration_time. | |
Private Attributes | |
| ulint | time |
| The internal representation of the time of declaration. | |
Static Private Attributes | |
| static ptr< ss_declaration_time > | infinity_instance = infinity_instance |
| static ptr< reflection_list > | reflection = reflection |
It is created from token's sequence number stored in a source_location instance.
For the user, ss_declaration_time is a black box that only knows whether it "is before" another one. See the 'is_before' method.
One of the uses is in the name lookup code. Declaration time is used to filter out declarations that were not visible at specified time (because they were introduced into a scope later).
Definition at line 85 of file ss_misc.g.hh.
| lestes::lang::cplus::sem::ss_declaration_time::ss_declaration_time | ( | ulint | a__ss_declaration_time__time | ) | [protected] |
Generated constructor for class ss_declaration_time.
Generated constructor for class ss_declaration_time.
Definition at line 50 of file ss_misc.g.cc.
Referenced by create().
| bool lestes::lang::cplus::sem::ss_declaration_time::is_before | ( | ptr< ss_declaration_time > | other | ) |
Tells whether this time is before the one passed as argument.
Tells whether this declaration time is before other declaration time.
| other | The declaration time to compare to. |
Definition at line 47 of file ss_misc.cc.
| ptr< ss_declaration_time > lestes::lang::cplus::sem::ss_declaration_time::infinity | ( | ) | [static] |
return an ss_declaration_time instance representing infinity
The infinity value shall be larger than any regular value.
Definition at line 56 of file ss_misc.cc.
References create(), and infinity_instance.
Referenced by lestes::lang::cplus::sem::as_class_key_to_ss_struct_base::class_or_struct(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::construct_builtin_op(), lestes::lang::cplus::sem::sa_class_declaration::insert_class_forward_into_scope(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::instance(), and lestes::lang::cplus::sem::ss_decl_seq::root_instance().
00057 { 00058 if (!infinity_instance) 00059 infinity_instance = ss_declaration_time::create(static_cast < ulint > (-1)); 00060 return infinity_instance; 00061 }
| ptr< ss_declaration_time > lestes::lang::cplus::sem::ss_declaration_time::create | ( | ulint | a__ss_declaration_time__time | ) | [static] |
First generated factory method for class ss_declaration_time.
This factory method for class ss_declaration_time takes values of all fields as arguments.
Definition at line 41 of file ss_misc.g.cc.
References ss_declaration_time().
Referenced by lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::construct_builtin_op(), infinity(), lestes::lang::cplus::sem::sa_class_declaration::insert_class_forward_into_scope(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::instance(), lestes::lang::cplus::sem::sa_usings::process_declaration(), lestes::lang::cplus::sem::sa_namespace_definition::process_named(), and lestes::lang::cplus::sem::ss_decl_seq::root_instance().
00042 { 00043 return ptr< ss_declaration_time > ( new ss_declaration_time(a__ss_declaration_time__time) ); 00044 }
| ptr< object::reflection_list > lestes::lang::cplus::sem::ss_declaration_time::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Definition at line 54 of file ss_misc.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().
00055 { 00056 if (!reflection) { 00057 typedef class_reflection::field_metadata md; 00058 typedef class_reflection::field_metadata_list mdlist; 00059 ptr<mdlist> mdl = mdlist::create(); 00060 mdl->push_back( md::create( "time", "ulint" ) ); 00061 mdl->push_back( md::create( "infinity_instance", "ss_declaration_time" ) ); 00062 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00063 reflection->push_back( class_reflection::create( "ss_declaration_time", mdl ) ); 00064 } 00065 return reflection; 00066 }
| ptr< object::field_list_list > lestes::lang::cplus::sem::ss_declaration_time::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Definition at line 68 of file ss_misc.g.cc.
References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().
00069 { 00070 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00071 result->push_back( value_list::create() ); 00072 result->back()->push_back( objectize< ulint > ::create( this->time ) ); 00073 result->push_back( value_list::create() ); 00074 result->back()->push_back( this->infinity_instance ); 00075 return result; 00076 }
| void lestes::lang::cplus::sem::ss_declaration_time::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class ss_declaration_time.
Marking routine is used for garbage collection.
Reimplemented from lestes::std::mem::keystone.
Definition at line 83 of file ss_misc.g.cc.
References lestes::std::mem::keystone::gc_mark().
00084 { 00085 ::lestes::std::object::gc_mark(); 00086 }
ulint lestes::lang::cplus::sem::ss_declaration_time::time [private] |
The internal representation of the time of declaration.
Definition at line 115 of file ss_misc.g.hh.
Referenced by is_before().
ptr< ss_declaration_time > lestes::lang::cplus::sem::ss_declaration_time::infinity_instance = infinity_instance [static, private] |
ptr< object::reflection_list > lestes::lang::cplus::sem::ss_declaration_time::reflection = reflection [static, private] |
Reimplemented from lestes::std::object.
Definition at line 117 of file ss_misc.g.hh.
Referenced by reflection_get().
1.5.1-20070107