lestes::lang::cplus::sem::ss_structure_declaration Class Reference

Class for declarations that can be friends of a class. More...

#include <ss_declaration.g.hh>

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

lestes::lang::cplus::sem::ss_befriendable_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_decl_seqbody_get () const
 The method body_get returns the value of the field ss_structure_declaration::body.
void body_set (const ptr< ss_decl_seq > &)
 The method body_set sets the field ss_structure_declaration::body 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_structure_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< ::lestes::std::set< srp< ss_struct_base > > > a__ss_befriendable_declaration__friend_of, ptr< ss_decl_seq > a__ss_structure_declaration__body)
 First generated factory method for class ss_structure_declaration.
static ptr< ss_structure_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_decl_seq > a__ss_structure_declaration__body)
 Second generated factory method for class ss_structure_declaration.

Protected Member Functions

 ss_structure_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< ::lestes::std::set< srp< ss_struct_base > > > a__ss_befriendable_declaration__friend_of, ptr< ss_decl_seq > a__ss_structure_declaration__body)
 Generated constructor for class ss_structure_declaration.
virtual void gc_mark ()
 Marking routine for class ss_structure_declaration.

Private Attributes

srp< ss_decl_seqbody

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for declarations that can be friends of a class.

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


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_structure_declaration::ss_structure_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< ::lestes::std::set< srp< ss_struct_base > > >  a__ss_befriendable_declaration__friend_of,
ptr< ss_decl_seq a__ss_structure_declaration__body 
) [protected]

Generated constructor for class ss_structure_declaration.

Generated constructor for class ss_structure_declaration.

Author:
lsg

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

Referenced by create().

01661         : ss_befriendable_declaration(a__ss_base_with_location__location,
01662                 a__ss_declaration__visible_since,
01663                 a__ss_declaration__decl_time,
01664                 a__ss_declaration__name,
01665                 a__ss_declaration__contained_in,
01666                 a__ss_declaration__type,
01667                 a__ss_declaration__linkage,
01668                 a__ss_declaration_with_access_specifier__access_specifier,
01669                 a__ss_declaration_with_access_specifier__storage_class,
01670                 a__ss_befriendable_declaration__friend_of), body(checked(a__ss_structure_declaration__body))
01671 {}


Member Function Documentation

ptr< ss_decl_seq > lestes::lang::cplus::sem::ss_structure_declaration::body_get (  )  const

The method body_get returns the value of the field ss_structure_declaration::body.

Returns:
The value of ss_structure_declaration::body.
Author:
lsg

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

References body.

01573 {
01574         return body;
01575 }

void lestes::lang::cplus::sem::ss_structure_declaration::body_set ( const ptr< ss_decl_seq > &  x  ) 

The method body_set sets the field ss_structure_declaration::body to the given value.

Parameters:
[in] x The new value to set ss_structure_declaration::body to.
Author:
lsg

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

References body.

01582 {
01583         ss_structure_declaration::body = x;
01584 }

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

Implements lestes::lang::cplus::sem::ss_befriendable_declaration.

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

01587 {
01588         return v->visit_ss_structure_declaration( this );
01589 }

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

Implements lestes::lang::cplus::sem::ss_befriendable_declaration.

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

01592 {
01593         return v->visit_ss_structure_declaration( this );
01594 }

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

Implements lestes::lang::cplus::sem::ss_befriendable_declaration.

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

01597 {
01598         return v->visit_ss_structure_declaration( this );
01599 }

ptr< ss_structure_declaration > lestes::lang::cplus::sem::ss_structure_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< ::lestes::std::set< srp< ss_struct_base > > >  a__ss_befriendable_declaration__friend_of,
ptr< ss_decl_seq a__ss_structure_declaration__body 
) [static]

First generated factory method for class ss_structure_declaration.

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

Author:
lsg

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

References ss_structure_declaration().

01616 {
01617         return ptr< ss_structure_declaration > ( new ss_structure_declaration(a__ss_base_with_location__location,
01618                 a__ss_declaration__visible_since,
01619                 a__ss_declaration__decl_time,
01620                 a__ss_declaration__name,
01621                 a__ss_declaration__contained_in,
01622                 a__ss_declaration__type,
01623                 a__ss_declaration__linkage,
01624                 a__ss_declaration_with_access_specifier__access_specifier,
01625                 a__ss_declaration_with_access_specifier__storage_class,
01626                 a__ss_befriendable_declaration__friend_of,
01627                 a__ss_structure_declaration__body) );
01628 }

ptr< ss_structure_declaration > lestes::lang::cplus::sem::ss_structure_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_decl_seq a__ss_structure_declaration__body 
) [static]

Second generated factory method for class ss_structure_declaration.

This factory method for class ss_structure_declaration uses initializers.

Author:
lsg

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

References lestes::lang::cplus::sem::ss_access_specifier::ACCESS_PUBLIC, lestes::intercode::intercode::create(), ss_structure_declaration(), and lestes::lang::cplus::sem::ss_storage_class::ST_NONE.

01642 {
01643         return ptr< ss_structure_declaration > ( new ss_structure_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, ::lestes::std::set< srp< ss_struct_base > > ::create(), a__ss_structure_declaration__body) );
01644 }

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

for purposes of dumping

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

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

References lestes::std::list< T >::create(), reflection, and lestes::lang::cplus::sem::ss_befriendable_declaration::reflection_get().

01674 {
01675         if (!reflection) {
01676                 typedef class_reflection::field_metadata md;
01677                 typedef class_reflection::field_metadata_list mdlist;
01678                 ptr<mdlist> mdl = mdlist::create();
01679                 mdl->push_back( md::create( "body", "ss_decl_seq" ) );
01680                 reflection = reflection_list::create( ss_befriendable_declaration::reflection_get() );
01681                 reflection->push_back( class_reflection::create( "ss_structure_declaration", mdl ) );
01682         }
01683         return reflection;
01684 }

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

for purposes of dumping

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

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

References lestes::std::list< T >::create(), and lestes::lang::cplus::sem::ss_befriendable_declaration::field_values_get().

01687 {
01688         ptr < field_list_list > result = ss_befriendable_declaration::field_values_get();
01689         result->push_back( value_list::create() );
01690         result->back()->push_back( this->body );
01691         return result;
01692 }

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

Marking routine for class ss_structure_declaration.

Marking routine is used for garbage collection.

Author:
lsg

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

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

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

01700 {
01701         ss_befriendable_declaration::gc_mark();
01702 }


Member Data Documentation

srp< ss_decl_seq > lestes::lang::cplus::sem::ss_structure_declaration::body [private]

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

Referenced by body_get(), and body_set().

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

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

Definition at line 961 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:13 2007 for lestes by doxygen 1.5.1-20070107