lestes::lang::cplus::sem::ss_using_declaration Class Reference

#include <ss_declaration.g.hh>

Inheritance diagram for lestes::lang::cplus::sem::ss_using_declaration:

lestes::lang::cplus::sem::ss_declaration_with_access_specifier lestes::lang::cplus::sem::ss_declaration lestes::intercode::ss_base_with_location lestes::intercode::ss_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ss_declarationtarget_get () const
 The method target_get returns the value of the field ss_using_declaration::target.
void target_set (const ptr< ss_declaration > &)
 The method target_set sets the field ss_using_declaration::target to the given value.
ptr< ss_declarationreal_target_get () const
 The method real_target_get returns the value of the field ss_using_declaration::real_target.
void real_target_set (const ptr< ss_declaration > &)
 The method real_target_set sets the field ss_using_declaration::real_target 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_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< ss_using_declarationcreate (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 > a__ss_using_declaration__target, ptr< ss_declaration > a__ss_using_declaration__real_target)
 First generated factory method for class ss_using_declaration.
static ptr< ss_using_declarationcreate (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 > a__ss_using_declaration__target, ptr< ss_declaration > a__ss_using_declaration__real_target)
 Second generated factory method for class ss_using_declaration.

Protected Member Functions

 ss_using_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 > a__ss_using_declaration__target, ptr< ss_declaration > a__ss_using_declaration__real_target)
 Generated constructor for class ss_using_declaration.
virtual void gc_mark ()
 Marking routine for class ss_using_declaration.

Private Attributes

srp< ss_declarationtarget
 The target field points to a declaration that we are using.
srp< ss_declarationreal_target
 "Real" target of the using declaration; never another ss_using_declaration.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Definition at line 1196 of file ss_declaration.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_using_declaration::ss_using_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 a__ss_using_declaration__target,
ptr< ss_declaration a__ss_using_declaration__real_target 
) [protected]

Generated constructor for class ss_using_declaration.

Generated constructor for class ss_using_declaration.

Author:
lsg

Definition at line 2230 of file ss_declaration.g.cc.

Referenced by create().

02241         : ss_declaration_with_access_specifier(a__ss_base_with_location__location,
02242                 a__ss_declaration__visible_since,
02243                 a__ss_declaration__decl_time,
02244                 a__ss_declaration__name,
02245                 a__ss_declaration__contained_in,
02246                 a__ss_declaration__type,
02247                 a__ss_declaration__linkage,
02248                 a__ss_declaration_with_access_specifier__access_specifier,
02249                 a__ss_declaration_with_access_specifier__storage_class), target(checked(a__ss_using_declaration__target)), real_target(checked(a__ss_using_declaration__real_target))
02250 {}


Member Function Documentation

ptr< ss_declaration > lestes::lang::cplus::sem::ss_using_declaration::target_get (  )  const

The method target_get returns the value of the field ss_using_declaration::target.

Returns:
The value of ss_using_declaration::target.
Author:
lsg

Definition at line 2133 of file ss_declaration.g.cc.

References target.

02134 {
02135         return target;
02136 }

void lestes::lang::cplus::sem::ss_using_declaration::target_set ( const ptr< ss_declaration > &  x  ) 

The method target_set sets the field ss_using_declaration::target to the given value.

Parameters:
[in] x The new value to set ss_using_declaration::target to.
Author:
lsg

Definition at line 2142 of file ss_declaration.g.cc.

References target.

02143 {
02144         ss_using_declaration::target = x;
02145 }

ptr< ss_declaration > lestes::lang::cplus::sem::ss_using_declaration::real_target_get (  )  const

The method real_target_get returns the value of the field ss_using_declaration::real_target.

Returns:
The value of ss_using_declaration::real_target.
Author:
lsg

Definition at line 2151 of file ss_declaration.g.cc.

References real_target.

02152 {
02153         return real_target;
02154 }

void lestes::lang::cplus::sem::ss_using_declaration::real_target_set ( const ptr< ss_declaration > &  x  ) 

The method real_target_set sets the field ss_using_declaration::real_target to the given value.

Parameters:
[in] x The new value to set ss_using_declaration::real_target to.
Author:
lsg

Definition at line 2160 of file ss_declaration.g.cc.

References real_target.

02161 {
02162         ss_using_declaration::real_target = x;
02163 }

void lestes::lang::cplus::sem::ss_using_declaration::accept_ss_declaration_visitor ( ptr< ss_declaration_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_with_access_specifier.

Definition at line 2165 of file ss_declaration.g.cc.

02166 {
02167         return v->visit_ss_using_declaration( this );
02168 }

ulint lestes::lang::cplus::sem::ss_using_declaration::accept_ss_decl2ulint_base ( ptr< ss_decl2ulint_base v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_with_access_specifier.

Definition at line 2170 of file ss_declaration.g.cc.

02171 {
02172         return v->visit_ss_using_declaration( this );
02173 }

lstring lestes::lang::cplus::sem::ss_using_declaration::accept_ss_decl2lstring_base ( ptr< ss_decl2lstring_base v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_with_access_specifier.

Definition at line 2175 of file ss_declaration.g.cc.

02176 {
02177         return v->visit_ss_using_declaration( this );
02178 }

ptr< ss_using_declaration > lestes::lang::cplus::sem::ss_using_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 a__ss_using_declaration__target,
ptr< ss_declaration a__ss_using_declaration__real_target 
) [static]

First generated factory method for class ss_using_declaration.

This factory method for class ss_using_declaration takes values of all fields as arguments.

Author:
lsg

Definition at line 2184 of file ss_declaration.g.cc.

References ss_using_declaration().

02195 {
02196         return ptr< ss_using_declaration > ( new ss_using_declaration(a__ss_base_with_location__location,
02197                 a__ss_declaration__visible_since,
02198                 a__ss_declaration__decl_time,
02199                 a__ss_declaration__name,
02200                 a__ss_declaration__contained_in,
02201                 a__ss_declaration__type,
02202                 a__ss_declaration__linkage,
02203                 a__ss_declaration_with_access_specifier__access_specifier,
02204                 a__ss_declaration_with_access_specifier__storage_class,
02205                 a__ss_using_declaration__target,
02206                 a__ss_using_declaration__real_target) );
02207 }

ptr< ss_using_declaration > lestes::lang::cplus::sem::ss_using_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 a__ss_using_declaration__target,
ptr< ss_declaration a__ss_using_declaration__real_target 
) [static]

Second generated factory method for class ss_using_declaration.

This factory method for class ss_using_declaration uses initializers.

Author:
lsg

Definition at line 2213 of file ss_declaration.g.cc.

References lestes::lang::cplus::sem::ss_access_specifier::ACCESS_PUBLIC, ss_using_declaration(), and lestes::lang::cplus::sem::ss_storage_class::ST_NONE.

02222 {
02223         return ptr< ss_using_declaration > ( new ss_using_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_using_declaration__target, a__ss_using_declaration__real_target) );
02224 }

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_using_declaration::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_declaration_with_access_specifier.

Definition at line 2252 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().

02253 {
02254         if (!reflection) {
02255                 typedef class_reflection::field_metadata md;
02256                 typedef class_reflection::field_metadata_list mdlist;
02257                 ptr<mdlist> mdl = mdlist::create();
02258                 mdl->push_back( md::create( "target", "ss_declaration" ) );
02259                 mdl->push_back( md::create( "real_target", "ss_declaration" ) );
02260                 reflection = reflection_list::create( ss_declaration_with_access_specifier::reflection_get() );
02261                 reflection->push_back( class_reflection::create( "ss_using_declaration", mdl ) );
02262         }
02263         return reflection;
02264 }

ptr< object::field_list_list > lestes::lang::cplus::sem::ss_using_declaration::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_declaration_with_access_specifier.

Definition at line 2266 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().

02267 {
02268         ptr < field_list_list > result = ss_declaration_with_access_specifier::field_values_get();
02269         result->push_back( value_list::create() );
02270         result->back()->push_back( this->target );
02271         result->push_back( value_list::create() );
02272         result->back()->push_back( this->real_target );
02273         return result;
02274 }

void lestes::lang::cplus::sem::ss_using_declaration::gc_mark ( void   )  [protected, virtual]

Marking routine for class ss_using_declaration.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::lang::cplus::sem::ss_declaration_with_access_specifier.

Definition at line 2281 of file ss_declaration.g.cc.

References lestes::lang::cplus::sem::ss_declaration_with_access_specifier::gc_mark().


Member Data Documentation

srp< ss_declaration > lestes::lang::cplus::sem::ss_using_declaration::target [private]

The target field points to a declaration that we are using.

Note that this target can be another ss_using_declaration. To find out what declaration is at the end of the using_declaration chain, use real_target field.

Definition at line 1274 of file ss_declaration.g.hh.

Referenced by target_get(), and target_set().

srp< ss_declaration > lestes::lang::cplus::sem::ss_using_declaration::real_target [private]

"Real" target of the using declaration; never another ss_using_declaration.

This field *must* be set (prefferably initialized) to

ss_using_target::instance()->process( target )

Definition at line 1283 of file ss_declaration.g.hh.

Referenced by real_target_get(), and real_target_set().

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_using_declaration::reflection = reflection [static, private]

Reimplemented from lestes::lang::cplus::sem::ss_declaration_with_access_specifier.

Definition at line 1284 of file ss_declaration.g.hh.

Referenced by reflection_get().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:25:14 2007 for lestes by doxygen 1.5.1-20070107