lestes::lang::cplus::sem::ss_catch Class Reference

Class for catch handler for try block. More...

#include <ss_statement.g.hh>

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

lestes::lang::cplus::sem::ss_statement 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_compound_stmtbody_get () const
 The method body_get returns the value of the field ss_catch::body.
void body_set (const ptr< ss_compound_stmt > &)
 The method body_set sets the field ss_catch::body to the given value.
ptr< ss_declarationdecl_get () const
 The method decl_get returns the value of the field ss_catch::decl.
void decl_set (const ptr< ss_declaration > &)
 The method decl_set sets the field ss_catch::decl 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_catchcreate (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_compound_stmt > a__ss_catch__body, ptr< ss_declaration > a__ss_catch__decl)
 First generated factory method for class ss_catch.

Protected Member Functions

 ss_catch (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_compound_stmt > a__ss_catch__body, ptr< ss_declaration > a__ss_catch__decl)
 Generated constructor for class ss_catch.
virtual void gc_mark ()
 Marking routine for class ss_catch.

Private Attributes

srp< ss_compound_stmtbody
srp< ss_declarationdecl

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for catch handler for try block.

Definition at line 684 of file ss_statement.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_catch::ss_catch ( 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_compound_stmt a__ss_catch__body,
ptr< ss_declaration a__ss_catch__decl 
) [protected]

Generated constructor for class ss_catch.

Generated constructor for class ss_catch.

Author:
lsg

Definition at line 1300 of file ss_statement.g.cc.

Referenced by create().

01308         : ss_statement(a__ss_base_with_location__location,
01309                 a__ss_statement__labels,
01310                 a__ss_statement__parent,
01311                 a__ss_statement__psp,
01312                 a__ss_statement__nsp,
01313                 a__ss_statement__sequence_points), body(checked(a__ss_catch__body)), decl(checked(a__ss_catch__decl))
01314 {}


Member Function Documentation

ptr< ss_compound_stmt > lestes::lang::cplus::sem::ss_catch::body_get (  )  const

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

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

Definition at line 1236 of file ss_statement.g.cc.

References body.

01237 {
01238         return body;
01239 }

void lestes::lang::cplus::sem::ss_catch::body_set ( const ptr< ss_compound_stmt > &  x  ) 

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

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

Definition at line 1245 of file ss_statement.g.cc.

References body.

01246 {
01247         ss_catch::body = x;
01248 }

ptr< ss_declaration > lestes::lang::cplus::sem::ss_catch::decl_get (  )  const

The method decl_get returns the value of the field ss_catch::decl.

Returns:
The value of ss_catch::decl.
Author:
lsg

Definition at line 1254 of file ss_statement.g.cc.

References decl.

01255 {
01256         return decl;
01257 }

void lestes::lang::cplus::sem::ss_catch::decl_set ( const ptr< ss_declaration > &  x  ) 

The method decl_set sets the field ss_catch::decl to the given value.

Parameters:
[in] x The new value to set ss_catch::decl to.
Author:
lsg

Definition at line 1263 of file ss_statement.g.cc.

References decl.

01264 {
01265         ss_catch::decl = x;
01266 }

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

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

Definition at line 1268 of file ss_statement.g.cc.

01269 {
01270         return v->visit_ss_catch( this );
01271 }

ptr< ss_catch > lestes::lang::cplus::sem::ss_catch::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_compound_stmt a__ss_catch__body,
ptr< ss_declaration a__ss_catch__decl 
) [static]

First generated factory method for class ss_catch.

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

Author:
lsg

Definition at line 1277 of file ss_statement.g.cc.

References ss_catch().

01285 {
01286         return ptr< ss_catch > ( new ss_catch(a__ss_base_with_location__location,
01287                 a__ss_statement__labels,
01288                 a__ss_statement__parent,
01289                 a__ss_statement__psp,
01290                 a__ss_statement__nsp,
01291                 a__ss_statement__sequence_points,
01292                 a__ss_catch__body,
01293                 a__ss_catch__decl) );
01294 }

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

for purposes of dumping

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

Definition at line 1316 of file ss_statement.g.cc.

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

01317 {
01318         if (!reflection) {
01319                 typedef class_reflection::field_metadata md;
01320                 typedef class_reflection::field_metadata_list mdlist;
01321                 ptr<mdlist> mdl = mdlist::create();
01322                 mdl->push_back( md::create( "body", "ss_compound_stmt" ) );
01323                 mdl->push_back( md::create( "decl", "ss_declaration" ) );
01324                 reflection = reflection_list::create( ss_statement::reflection_get() );
01325                 reflection->push_back( class_reflection::create( "ss_catch", mdl ) );
01326         }
01327         return reflection;
01328 }

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

for purposes of dumping

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

Definition at line 1330 of file ss_statement.g.cc.

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

01331 {
01332         ptr < field_list_list > result = ss_statement::field_values_get();
01333         result->push_back( value_list::create() );
01334         result->back()->push_back( this->body );
01335         result->push_back( value_list::create() );
01336         result->back()->push_back( this->decl );
01337         return result;
01338 }

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

Marking routine for class ss_catch.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 1345 of file ss_statement.g.cc.

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

01346 {
01347         ss_statement::gc_mark();
01348 }


Member Data Documentation

srp< ss_compound_stmt > lestes::lang::cplus::sem::ss_catch::body [private]

Definition at line 734 of file ss_statement.g.hh.

Referenced by body_get(), and body_set().

srp< ss_declaration > lestes::lang::cplus::sem::ss_catch::decl [private]

Definition at line 735 of file ss_statement.g.hh.

Referenced by decl_get(), and decl_set().

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

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

Definition at line 736 of file ss_statement.g.hh.

Referenced by reflection_get().


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