lestes::lang::cplus::sem::ss_compound_stmt Class Reference

Class for compound statement. More...

#include <ss_statement.g.hh>

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

Inheritance graph
[legend]
List of all members.

Public Types

enum  behavior_type { NORMAL, NO_CREATE, NO_LEAVE }

Public Member Functions

ptr< ss_decl_seqdecl_seq_get () const
 The method decl_seq_get returns the value of the field ss_compound_stmt::decl_seq.
ptr< ::lestes::std::list<
srp< ss_statement > > > 
statements_get () const
 The method statements_get returns the value of the field ss_compound_stmt::statements.
ptr< ss_spdestructor_sp_get () const
 The method destructor_sp_get returns the value of the field ss_compound_stmt::destructor_sp.
void destructor_sp_set (const ptr< ss_sp > &)
 The method destructor_sp_set sets the field ss_compound_stmt::destructor_sp to the given value.
behavior_type behavior_get () const
 The method behavior_get returns the value of the field ss_compound_stmt::behavior.
void behavior_set (behavior_type)
 The method behavior_set sets the field ss_compound_stmt::behavior to the given value.
virtual void accept_ss_statement_visitor (ptr< ss_statement_visitor > 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_compound_stmtroot_instance ()
 Returns pointer to the instance of root (grandparent) ss_compound_stmt.
static ptr< ss_compound_stmtcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ::lestes::std::list< srp< ss_label > > > a__ss_statement__labels, ptr< ss_compound_stmt > a__ss_statement__parent, ptr< ss_sp > a__ss_statement__psp, ptr< ss_sp > a__ss_statement__nsp, ptr< ::lestes::std::list< srp< ss_sp > > > a__ss_statement__sequence_points, ptr< ss_decl_seq > a__ss_compound_stmt__decl_seq, ptr< ::lestes::std::list< srp< ss_statement > > > a__ss_compound_stmt__statements, ptr< ss_sp > a__ss_compound_stmt__destructor_sp, behavior_type a__ss_compound_stmt__behavior)
 First generated factory method for class ss_compound_stmt.
static ptr< ss_compound_stmtcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ::lestes::std::list< srp< ss_label > > > a__ss_statement__labels, ptr< ss_compound_stmt > a__ss_statement__parent, ptr< ss_sp > a__ss_statement__psp, ptr< ss_sp > a__ss_statement__nsp, ptr< ::lestes::std::list< srp< ss_sp > > > a__ss_statement__sequence_points, ptr< ss_decl_seq > a__ss_compound_stmt__decl_seq, ptr< ::lestes::std::list< srp< ss_statement > > > a__ss_compound_stmt__statements, ptr< ss_sp > a__ss_compound_stmt__destructor_sp)
 Second generated factory method for class ss_compound_stmt.

Protected Member Functions

 ss_compound_stmt (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ::lestes::std::list< srp< ss_label > > > a__ss_statement__labels, ptr< ss_compound_stmt > a__ss_statement__parent, ptr< ss_sp > a__ss_statement__psp, ptr< ss_sp > a__ss_statement__nsp, ptr< ::lestes::std::list< srp< ss_sp > > > a__ss_statement__sequence_points, ptr< ss_decl_seq > a__ss_compound_stmt__decl_seq, ptr< ::lestes::std::list< srp< ss_statement > > > a__ss_compound_stmt__statements, ptr< ss_sp > a__ss_compound_stmt__destructor_sp, behavior_type a__ss_compound_stmt__behavior)
 Generated constructor for class ss_compound_stmt.
virtual void gc_mark ()
 Marking routine for class ss_compound_stmt.

Private Attributes

srp< ss_decl_seqdecl_seq
 The sequence of declaration declared in this compound statement.Used as scope.
srp< ::lestes::std::list<
srp< ss_statement > > > 
statements
 The sequence of statements in this compound statement.
srp< ss_spdestructor_sp
 Special sequence point for separating statements in compound_stmt and destructors for local variables created in current compound_stmt, which shall be destroyed at the end [].
behavior_type behavior

Static Private Attributes

static ptr< ss_compound_stmtthe_root_instance = the_root_instance
static ptr< reflection_listreflection = reflection

Detailed Description

Class for compound statement.


Member Enumeration Documentation

enum lestes::lang::cplus::sem::ss_compound_stmt::behavior_type

Enumerator:
NORMAL 
NO_CREATE 
NO_LEAVE 


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_compound_stmt::ss_compound_stmt ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ::lestes::std::list< srp< ss_label > > >  a__ss_statement__labels,
ptr< ss_compound_stmt a__ss_statement__parent,
ptr< ss_sp a__ss_statement__psp,
ptr< ss_sp a__ss_statement__nsp,
ptr< ::lestes::std::list< srp< ss_sp > > >  a__ss_statement__sequence_points,
ptr< ss_decl_seq a__ss_compound_stmt__decl_seq,
ptr< ::lestes::std::list< srp< ss_statement > > >  a__ss_compound_stmt__statements,
ptr< ss_sp a__ss_compound_stmt__destructor_sp,
behavior_type  a__ss_compound_stmt__behavior 
) [protected]

Generated constructor for class ss_compound_stmt.

Generated constructor for class ss_compound_stmt.

Author:
lsg


Member Function Documentation

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

The method decl_seq_get returns the value of the field ss_compound_stmt::decl_seq.

Returns:
The value of ss_compound_stmt::decl_seq.
Author:
lsg

ptr<::lestes::std::list< srp< ss_statement > > > lestes::lang::cplus::sem::ss_compound_stmt::statements_get (  )  const

The method statements_get returns the value of the field ss_compound_stmt::statements.

Returns:
The value of ss_compound_stmt::statements.
Author:
lsg

ptr< ss_sp > lestes::lang::cplus::sem::ss_compound_stmt::destructor_sp_get (  )  const

The method destructor_sp_get returns the value of the field ss_compound_stmt::destructor_sp.

Returns:
The value of ss_compound_stmt::destructor_sp.
Author:
lsg

void lestes::lang::cplus::sem::ss_compound_stmt::destructor_sp_set ( const ptr< ss_sp > &  x  ) 

The method destructor_sp_set sets the field ss_compound_stmt::destructor_sp to the given value.

Parameters:
[in] x The new value to set ss_compound_stmt::destructor_sp to.
Author:
lsg

ss_compound_stmt::behavior_type lestes::lang::cplus::sem::ss_compound_stmt::behavior_get (  )  const

The method behavior_get returns the value of the field ss_compound_stmt::behavior.

Returns:
The value of ss_compound_stmt::behavior.
Author:
lsg

void lestes::lang::cplus::sem::ss_compound_stmt::behavior_set ( behavior_type  x  ) 

The method behavior_set sets the field ss_compound_stmt::behavior to the given value.

Parameters:
[in] x The new value to set ss_compound_stmt::behavior to.
Author:
lsg

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

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

When called for the first time, constructs the grandparent of all instances of ss_compound_stmt. 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_decl_seq must be created too. This is achieved by calling ss_decl_seq::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_compound_stmt.

void lestes::lang::cplus::sem::ss_compound_stmt::accept_ss_statement_visitor ( ptr< ss_statement_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement.

ptr< ss_compound_stmt > lestes::lang::cplus::sem::ss_compound_stmt::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ::lestes::std::list< srp< ss_label > > >  a__ss_statement__labels,
ptr< ss_compound_stmt a__ss_statement__parent,
ptr< ss_sp a__ss_statement__psp,
ptr< ss_sp a__ss_statement__nsp,
ptr< ::lestes::std::list< srp< ss_sp > > >  a__ss_statement__sequence_points,
ptr< ss_decl_seq a__ss_compound_stmt__decl_seq,
ptr< ::lestes::std::list< srp< ss_statement > > >  a__ss_compound_stmt__statements,
ptr< ss_sp a__ss_compound_stmt__destructor_sp,
behavior_type  a__ss_compound_stmt__behavior 
) [static]

First generated factory method for class ss_compound_stmt.

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

Author:
lsg

ptr< ss_compound_stmt > lestes::lang::cplus::sem::ss_compound_stmt::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ::lestes::std::list< srp< ss_label > > >  a__ss_statement__labels,
ptr< ss_compound_stmt a__ss_statement__parent,
ptr< ss_sp a__ss_statement__psp,
ptr< ss_sp a__ss_statement__nsp,
ptr< ::lestes::std::list< srp< ss_sp > > >  a__ss_statement__sequence_points,
ptr< ss_decl_seq a__ss_compound_stmt__decl_seq,
ptr< ::lestes::std::list< srp< ss_statement > > >  a__ss_compound_stmt__statements,
ptr< ss_sp a__ss_compound_stmt__destructor_sp 
) [static]

Second generated factory method for class ss_compound_stmt.

This factory method for class ss_compound_stmt uses initializers.

Author:
lsg

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

for purposes of dumping

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

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

for purposes of dumping

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

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

Marking routine for class ss_compound_stmt.

Marking routine is used for garbage collection.

Author:
lsg

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


Member Data Documentation

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

The sequence of declaration declared in this compound statement.Used as scope.

srp< ::lestes::std::list< srp< ss_statement > > > lestes::lang::cplus::sem::ss_compound_stmt::statements [private]

The sequence of statements in this compound statement.

Declarations declared in this compound statement have their associated decl_stmt inserted to the statement list.

srp< ss_sp > lestes::lang::cplus::sem::ss_compound_stmt::destructor_sp [private]

Special sequence point for separating statements in compound_stmt and destructors for local variables created in current compound_stmt, which shall be destroyed at the end [].

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

behavior_type lestes::lang::cplus::sem::ss_compound_stmt::behavior [private]

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

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


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