lestes::lang::cplus::sem::ss_decl_seq Class Reference

Class for declaration sequence. More...

#include <ss_misc.g.hh>

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

ptr< ::lestes::std::list<
srp< ss_declaration > > > 
contents_get () const
 The method contents_get returns the value of the field ss_decl_seq::contents.
ptr< ss_decl_seqparent_get () const
 The method parent_get returns the value of the field ss_decl_seq::parent.
ptr< ss_compound_stmtcompound_stmt_get () const
 The method compound_stmt_get returns the value of the field ss_decl_seq::compound_stmt.
void compound_stmt_set (const ptr< ss_compound_stmt > &)
 The method compound_stmt_set sets the field ss_decl_seq::compound_stmt to the given value.
ptr< ::lestes::std::list<
srp< ss_using_directive > > > 
using_directives_get () const
 The method using_directives_get returns the value of the field ss_decl_seq::using_directives.
ptr< ss_declarationdeclared_by_get () const
 The method declared_by_get returns the value of the field ss_decl_seq::declared_by.
void declared_by_set (const ptr< ss_declaration > &)
 The method declared_by_set sets the field ss_decl_seq::declared_by to the given value.
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_decl_seqroot_instance ()
 Returns pointer to the instance of root (grandparent) ss_decl_seq.
static ptr< ss_decl_seqcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ::lestes::std::list< srp< ss_declaration > > > a__ss_decl_seq__contents, ptr< ss_decl_seq > a__ss_decl_seq__parent, ptr< ss_compound_stmt > a__ss_decl_seq__compound_stmt, ptr< ::lestes::std::list< srp< ss_using_directive > > > a__ss_decl_seq__using_directives, ptr< ss_declaration > a__ss_decl_seq__declared_by)
 First generated factory method for class ss_decl_seq.
static ptr< ss_decl_seqcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ::lestes::std::list< srp< ss_declaration > > > a__ss_decl_seq__contents, ptr< ss_decl_seq > a__ss_decl_seq__parent, ptr< ss_compound_stmt > a__ss_decl_seq__compound_stmt, ptr< ss_declaration > a__ss_decl_seq__declared_by)
 Second generated factory method for class ss_decl_seq.

Protected Member Functions

 ss_decl_seq (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ::lestes::std::list< srp< ss_declaration > > > a__ss_decl_seq__contents, ptr< ss_decl_seq > a__ss_decl_seq__parent, ptr< ss_compound_stmt > a__ss_decl_seq__compound_stmt, ptr< ::lestes::std::list< srp< ss_using_directive > > > a__ss_decl_seq__using_directives, ptr< ss_declaration > a__ss_decl_seq__declared_by)
 Generated constructor for class ss_decl_seq.
virtual void gc_mark ()
 Marking routine for class ss_decl_seq.

Private Attributes

srp< ::lestes::std::list<
srp< ss_declaration > > > 
contents
 Contained declarations.
srp< ss_decl_seqparent
 Lexically enclosing ss_decl_seq.
srp< ss_compound_stmtcompound_stmt
 Compound statement containing declaration statements for declarations declared in this declaration sequence.
srp< ::lestes::std::list<
srp< ss_using_directive > > > 
using_directives
 Namespaces which are 'included' by using directive.
srp< ss_declarationdeclared_by
 Pointer back to the declaration that caused that this declaration sequence exists.

Static Private Attributes

static ptr< ss_decl_seqthe_root_instance = the_root_instance
static bool parent_set_ward = false
static ptr< reflection_listreflection = reflection

Detailed Description

Class for declaration sequence.

Used as scope


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_decl_seq::ss_decl_seq ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ::lestes::std::list< srp< ss_declaration > > >  a__ss_decl_seq__contents,
ptr< ss_decl_seq a__ss_decl_seq__parent,
ptr< ss_compound_stmt a__ss_decl_seq__compound_stmt,
ptr< ::lestes::std::list< srp< ss_using_directive > > >  a__ss_decl_seq__using_directives,
ptr< ss_declaration a__ss_decl_seq__declared_by 
) [protected]

Generated constructor for class ss_decl_seq.

Generated constructor for class ss_decl_seq.

Author:
lsg


Member Function Documentation

ptr<::lestes::std::list< srp< ss_declaration > > > lestes::lang::cplus::sem::ss_decl_seq::contents_get (  )  const

The method contents_get returns the value of the field ss_decl_seq::contents.

Returns:
The value of ss_decl_seq::contents.
Author:
lsg

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

The method parent_get returns the value of the field ss_decl_seq::parent.

Returns:
The value of ss_decl_seq::parent.
Author:
lsg

ptr< ss_compound_stmt > lestes::lang::cplus::sem::ss_decl_seq::compound_stmt_get (  )  const

The method compound_stmt_get returns the value of the field ss_decl_seq::compound_stmt.

Returns:
The value of ss_decl_seq::compound_stmt.
Author:
lsg

void lestes::lang::cplus::sem::ss_decl_seq::compound_stmt_set ( const ptr< ss_compound_stmt > &  x  ) 

The method compound_stmt_set sets the field ss_decl_seq::compound_stmt to the given value.

Parameters:
[in] x The new value to set ss_decl_seq::compound_stmt to.
Author:
lsg

ptr<::lestes::std::list< srp< ss_using_directive > > > lestes::lang::cplus::sem::ss_decl_seq::using_directives_get (  )  const

The method using_directives_get returns the value of the field ss_decl_seq::using_directives.

Returns:
The value of ss_decl_seq::using_directives.
Author:
lsg

ptr< ss_declaration > lestes::lang::cplus::sem::ss_decl_seq::declared_by_get (  )  const

The method declared_by_get returns the value of the field ss_decl_seq::declared_by.

Returns:
The value of ss_decl_seq::declared_by.
Author:
lsg

void lestes::lang::cplus::sem::ss_decl_seq::declared_by_set ( const ptr< ss_declaration > &  x  ) 

The method declared_by_set sets the field ss_decl_seq::declared_by to the given value.

Parameters:
[in] x The new value to set ss_decl_seq::declared_by to.
Author:
lsg

ptr< ss_decl_seq > lestes::lang::cplus::sem::ss_decl_seq::root_instance (  )  [static]

Returns pointer to the instance of root (grandparent) ss_decl_seq.

When called for the first time, constructs the grandparent of all instances of ss_decl_seq. This means that you can simply recognize it, just compare your ptr to the return value of this method.

Note that the instance is its own parent. Also note that when creating it, root ss_compound_stmt must be created too. This is achieved by calling ss_compound_stmt::root_instance(), which might in turn call us back. The code is prepared for this. You can choose which of the two methods you call first.

Returns:
Pointer to the instance of root ss_decl_seq.

ptr< ss_decl_seq > lestes::lang::cplus::sem::ss_decl_seq::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ::lestes::std::list< srp< ss_declaration > > >  a__ss_decl_seq__contents,
ptr< ss_decl_seq a__ss_decl_seq__parent,
ptr< ss_compound_stmt a__ss_decl_seq__compound_stmt,
ptr< ::lestes::std::list< srp< ss_using_directive > > >  a__ss_decl_seq__using_directives,
ptr< ss_declaration a__ss_decl_seq__declared_by 
) [static]

First generated factory method for class ss_decl_seq.

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

Author:
lsg

ptr< ss_decl_seq > lestes::lang::cplus::sem::ss_decl_seq::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ::lestes::std::list< srp< ss_declaration > > >  a__ss_decl_seq__contents,
ptr< ss_decl_seq a__ss_decl_seq__parent,
ptr< ss_compound_stmt a__ss_decl_seq__compound_stmt,
ptr< ss_declaration a__ss_decl_seq__declared_by 
) [static]

Second generated factory method for class ss_decl_seq.

This factory method for class ss_decl_seq uses initializers.

Author:
lsg

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

for purposes of dumping

Reimplemented from lestes::intercode::ss_base_with_location.

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

for purposes of dumping

Reimplemented from lestes::intercode::ss_base_with_location.

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

Marking routine for class ss_decl_seq.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::intercode::ss_base_with_location.


Member Data Documentation

srp< ::lestes::std::list< srp< ss_declaration > > > lestes::lang::cplus::sem::ss_decl_seq::contents [private]

Contained declarations.

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

Lexically enclosing ss_decl_seq.

srp< ss_compound_stmt > lestes::lang::cplus::sem::ss_decl_seq::compound_stmt [private]

Compound statement containing declaration statements for declarations declared in this declaration sequence.

The value is unchecked only to allow creating ss_decl_seq before the ss_compound_stmt pointed to.

srp< ::lestes::std::list< srp< ss_using_directive > > > lestes::lang::cplus::sem::ss_decl_seq::using_directives [private]

Namespaces which are 'included' by using directive.

Using directives are allowed in namespace and block scope [7.3.4]. They are a property of ss_decl_seq, as it would be clumsy to have them in both ss_namespace_definition and ss_compound_statement.

srp< ss_declaration > lestes::lang::cplus::sem::ss_decl_seq::declared_by [private]

Pointer back to the declaration that caused that this declaration sequence exists.

The value is unchecked only to allow creating ss_decl_seq before the ss_declaration pointed to.

ptr< ss_decl_seq > lestes::lang::cplus::sem::ss_decl_seq::the_root_instance = the_root_instance [static, private]

bool lestes::lang::cplus::sem::ss_decl_seq::parent_set_ward = false [static, private]

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

Reimplemented from lestes::intercode::ss_base_with_location.


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