lestes::lang::cplus::sem::ss_destructor_tables_stack Class Reference

#include <ss_ss2pi_base.g.hh>

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ptr< ss_destructor_tableopen_compound_stmt (ptr< ss_compound_stmt >)
virtual ptr< ss_destructor_tableclose_compound_stmt ()
virtual void destructor_add (ptr< ss_type >, ptr< ::lestes::backend_v2::intercode::pi_mem_factory >)
virtual void destructor_add_to_destr (ptr< ss_destructor_table >, ptr< ss_type >, ptr< ::lestes::backend_v2::intercode::pi_mem_factory >)
virtual void back_roll_from_current_compound_stmt ()
virtual void back_roll_to_compound_stmt (ptr< ss_compound_stmt >, bool, ptr< ::lestes::backend_v2::intercode::pi_sp > psp, ptr< ::lestes::backend_v2::intercode::pi_sp > nsp)
 Abnormal end of compound statement;psp,nsp shall be taken from current statement(e.g. break, continue, goto).
virtual void back_roll_from_function (ptr< ::lestes::backend_v2::intercode::pi_sp > psp, ptr< ::lestes::backend_v2::intercode::pi_sp > nsp)
 Abnormal end of compound statement; psp,nsp shall be taken from current return statement.
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_destructor_tablecurrent_get ()
 The method current_get returns the value of the field ss_destructor_tables_stack::current.
static void current_set (const ptr< ss_destructor_table > &)
 The method current_set sets the field ss_destructor_tables_stack::current to the given value.
static ptr< ::lestes::std::list<
srp< ss_destructor_table > > > 
tables_get ()
 The method tables_get returns the value of the field ss_destructor_tables_stack::tables.
static void tables_set (const ptr< ::lestes::std::list< srp< ss_destructor_table > > > &)
 The method tables_set sets the field ss_destructor_tables_stack::tables to the given value.
static ptr< ss_destructor_tables_stackcreate ()
 First generated factory method for class ss_destructor_tables_stack.

Protected Member Functions

 ss_destructor_tables_stack ()
 Generated constructor for class ss_destructor_tables_stack.
virtual void gc_mark ()
 Marking routine for class ss_destructor_tables_stack.

Static Private Attributes

static ptr< ss_destructor_tablecurrent = NULL
 Current destructor table.
static ptr< ::lestes::std::list<
srp< ss_destructor_table > > > 
tables = ::lestes::std::list< srp< ss_destructor_table > > ::create()
 Destructor table for each compound statement.
static ptr< reflection_listreflection = reflection

Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_destructor_tables_stack::ss_destructor_tables_stack (  )  [protected]

Generated constructor for class ss_destructor_tables_stack.

Generated constructor for class ss_destructor_tables_stack.

Author:
lsg


Member Function Documentation

ptr< ss_destructor_table > lestes::lang::cplus::sem::ss_destructor_tables_stack::current_get (  )  [static]

The method current_get returns the value of the field ss_destructor_tables_stack::current.

Returns:
The value of ss_destructor_tables_stack::current.
Author:
lsg

void lestes::lang::cplus::sem::ss_destructor_tables_stack::current_set ( const ptr< ss_destructor_table > &  x  )  [static]

The method current_set sets the field ss_destructor_tables_stack::current to the given value.

Parameters:
[in] x The new value to set ss_destructor_tables_stack::current to.
Author:
lsg

ptr<::lestes::std::list< srp< ss_destructor_table > > > lestes::lang::cplus::sem::ss_destructor_tables_stack::tables_get (  )  [static]

The method tables_get returns the value of the field ss_destructor_tables_stack::tables.

Returns:
The value of ss_destructor_tables_stack::tables.
Author:
lsg

void lestes::lang::cplus::sem::ss_destructor_tables_stack::tables_set ( const ptr< ::lestes::std::list< srp< ss_destructor_table > > > &  x  )  [static]

The method tables_set sets the field ss_destructor_tables_stack::tables to the given value.

Parameters:
[in] x The new value to set ss_destructor_tables_stack::tables to.
Author:
lsg

ptr< ss_destructor_table > lestes::lang::cplus::sem::ss_destructor_tables_stack::open_compound_stmt ( ptr< ss_compound_stmt x  )  [virtual]

Open new destructor table for newly entered compound statement and insert it into destructor_tables structure.

Implements lestes::lang::cplus::sem::ss_destructor_tables.

ptr< ss_destructor_table > lestes::lang::cplus::sem::ss_destructor_tables_stack::close_compound_stmt (  )  [virtual]

Close destructor table of compound statement and return table for now.

Implements lestes::lang::cplus::sem::ss_destructor_tables.

void lestes::lang::cplus::sem::ss_destructor_tables_stack::destructor_add ( ptr< ss_type type,
ptr< ::lestes::backend_v2::intercode::pi_mem_factory var 
) [virtual]

Find and record destructor for ss type, which destructs appropriate memory placeholder. Such a record will be added to current destructor table.

Implements lestes::lang::cplus::sem::ss_destructor_tables.

void lestes::lang::cplus::sem::ss_destructor_tables_stack::destructor_add_to_destr ( ptr< ss_destructor_table destr,
ptr< ss_type type,
ptr< ::lestes::backend_v2::intercode::pi_mem_factory var 
) [virtual]

Find and record destructor for ss type, which destructs appropriate memory placeholder. Such a record will be added to a given destructor table.

Implements lestes::lang::cplus::sem::ss_destructor_tables.

void lestes::lang::cplus::sem::ss_destructor_tables_stack::back_roll_from_current_compound_stmt (  )  [virtual]

Normal end of compound statement. back_roll_table shall be called. Also appropriate sequence points have to be tranformed into pseudoinstruction sequence points. (this transformation has to be done before new nested pi-sp will be added.

Implements lestes::lang::cplus::sem::ss_destructor_tables.

virtual void lestes::lang::cplus::sem::ss_destructor_tables_stack::back_roll_to_compound_stmt ( ptr< ss_compound_stmt ,
bool  ,
ptr< ::lestes::backend_v2::intercode::pi_sp psp,
ptr< ::lestes::backend_v2::intercode::pi_sp nsp 
) [virtual]

Abnormal end of compound statement;psp,nsp shall be taken from current statement(e.g. break, continue, goto).

Implements lestes::lang::cplus::sem::ss_destructor_tables.

virtual void lestes::lang::cplus::sem::ss_destructor_tables_stack::back_roll_from_function ( ptr< ::lestes::backend_v2::intercode::pi_sp psp,
ptr< ::lestes::backend_v2::intercode::pi_sp nsp 
) [virtual]

Abnormal end of compound statement; psp,nsp shall be taken from current return statement.

Implements lestes::lang::cplus::sem::ss_destructor_tables.

ptr< ss_destructor_tables_stack > lestes::lang::cplus::sem::ss_destructor_tables_stack::create ( void   )  [static]

First generated factory method for class ss_destructor_tables_stack.

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

Author:
lsg

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

for purposes of dumping

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

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

for purposes of dumping

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

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

Marking routine for class ss_destructor_tables_stack.

Marking routine is used for garbage collection.

Author:
lsg

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


Member Data Documentation

ptr< ss_destructor_table > lestes::lang::cplus::sem::ss_destructor_tables_stack::current = NULL [static, private]

Current destructor table.

ptr<::lestes::std::list< srp< ss_destructor_table > > > lestes::lang::cplus::sem::ss_destructor_tables_stack::tables = ::lestes::std::list< srp< ss_destructor_table > > ::create() [static, private]

Destructor table for each compound statement.

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

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


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