lestes::lang::cplus::sem::ss_switch_stmt Class Reference

Class for switch block. More...

#include <ss_statement.g.hh>

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

lestes::lang::cplus::sem::ss_breakable_stmt 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< ::lestes::std::list<
srp< ss_case_label > > > 
case_labels_get () const
 The method case_labels_get returns the value of the field ss_switch_stmt::case_labels.
void case_labels_set (const ptr< ::lestes::std::list< srp< ss_case_label > > > &)
 The method case_labels_set sets the field ss_switch_stmt::case_labels to the given value.
ptr< ss_default_labeldefault_label_get () const
 The method default_label_get returns the value of the field ss_switch_stmt::default_label.
void default_label_set (const ptr< ss_default_label > &)
 The method default_label_set sets the field ss_switch_stmt::default_label 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_switch_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_compound_stmt > a__ss_breakable_stmt__body, ptr< ss_expression > a__ss_breakable_stmt__condition, ptr< ::lestes::std::list< srp< ss_case_label > > > a__ss_switch_stmt__case_labels, ptr< ss_default_label > a__ss_switch_stmt__default_label)
 First generated factory method for class ss_switch_stmt.

Protected Member Functions

 ss_switch_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_compound_stmt > a__ss_breakable_stmt__body, ptr< ss_expression > a__ss_breakable_stmt__condition, ptr< ::lestes::std::list< srp< ss_case_label > > > a__ss_switch_stmt__case_labels, ptr< ss_default_label > a__ss_switch_stmt__default_label)
 Generated constructor for class ss_switch_stmt.
virtual void gc_mark ()
 Marking routine for class ss_switch_stmt.

Private Attributes

srp< ::lestes::std::list<
srp< ss_case_label > > > 
case_labels
 All switch branches, except for default.
srp< ss_default_labeldefault_label

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for switch block.

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


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_switch_stmt::ss_switch_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_compound_stmt a__ss_breakable_stmt__body,
ptr< ss_expression a__ss_breakable_stmt__condition,
ptr< ::lestes::std::list< srp< ss_case_label > > >  a__ss_switch_stmt__case_labels,
ptr< ss_default_label a__ss_switch_stmt__default_label 
) [protected]

Generated constructor for class ss_switch_stmt.

Generated constructor for class ss_switch_stmt.

Author:
lsg

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

Referenced by create().

01530         : ss_breakable_stmt(a__ss_base_with_location__location,
01531                 a__ss_statement__labels,
01532                 a__ss_statement__parent,
01533                 a__ss_statement__psp,
01534                 a__ss_statement__nsp,
01535                 a__ss_statement__sequence_points,
01536                 a__ss_breakable_stmt__body,
01537                 a__ss_breakable_stmt__condition), case_labels(checked(a__ss_switch_stmt__case_labels)), default_label(checked(a__ss_switch_stmt__default_label))
01538 {}


Member Function Documentation

ptr<::lestes::std::list< srp< ss_case_label > > > lestes::lang::cplus::sem::ss_switch_stmt::case_labels_get (  )  const

The method case_labels_get returns the value of the field ss_switch_stmt::case_labels.

Returns:
The value of ss_switch_stmt::case_labels.
Author:
lsg

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

References case_labels.

01453 {
01454         return case_labels;
01455 }

void lestes::lang::cplus::sem::ss_switch_stmt::case_labels_set ( const ptr< ::lestes::std::list< srp< ss_case_label > > > &  x  ) 

The method case_labels_set sets the field ss_switch_stmt::case_labels to the given value.

Parameters:
[in] x The new value to set ss_switch_stmt::case_labels to.
Author:
lsg

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

References case_labels.

01462 {
01463         ss_switch_stmt::case_labels = x;
01464 }

ptr< ss_default_label > lestes::lang::cplus::sem::ss_switch_stmt::default_label_get (  )  const

The method default_label_get returns the value of the field ss_switch_stmt::default_label.

Returns:
The value of ss_switch_stmt::default_label.
Author:
lsg

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

References default_label.

01471 {
01472         return default_label;
01473 }

void lestes::lang::cplus::sem::ss_switch_stmt::default_label_set ( const ptr< ss_default_label > &  x  ) 

The method default_label_set sets the field ss_switch_stmt::default_label to the given value.

Parameters:
[in] x The new value to set ss_switch_stmt::default_label to.
Author:
lsg

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

References default_label.

01480 {
01481         ss_switch_stmt::default_label = x;
01482 }

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

Implements lestes::lang::cplus::sem::ss_breakable_stmt.

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

01485 {
01486         return v->visit_ss_switch_stmt( this );
01487 }

ptr< ss_switch_stmt > lestes::lang::cplus::sem::ss_switch_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_compound_stmt a__ss_breakable_stmt__body,
ptr< ss_expression a__ss_breakable_stmt__condition,
ptr< ::lestes::std::list< srp< ss_case_label > > >  a__ss_switch_stmt__case_labels,
ptr< ss_default_label a__ss_switch_stmt__default_label 
) [static]

First generated factory method for class ss_switch_stmt.

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

Author:
lsg

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

References ss_switch_stmt().

01503 {
01504         return ptr< ss_switch_stmt > ( new ss_switch_stmt(a__ss_base_with_location__location,
01505                 a__ss_statement__labels,
01506                 a__ss_statement__parent,
01507                 a__ss_statement__psp,
01508                 a__ss_statement__nsp,
01509                 a__ss_statement__sequence_points,
01510                 a__ss_breakable_stmt__body,
01511                 a__ss_breakable_stmt__condition,
01512                 a__ss_switch_stmt__case_labels,
01513                 a__ss_switch_stmt__default_label) );
01514 }

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

for purposes of dumping

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

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

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

01541 {
01542         if (!reflection) {
01543                 typedef class_reflection::field_metadata md;
01544                 typedef class_reflection::field_metadata_list mdlist;
01545                 ptr<mdlist> mdl = mdlist::create();
01546                 mdl->push_back( md::create( "case_labels", "list&lt; srp&lt; ss_case_label &gt; &gt;" ) );
01547                 mdl->push_back( md::create( "default_label", "ss_default_label" ) );
01548                 reflection = reflection_list::create( ss_breakable_stmt::reflection_get() );
01549                 reflection->push_back( class_reflection::create( "ss_switch_stmt", mdl ) );
01550         }
01551         return reflection;
01552 }

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

for purposes of dumping

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

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

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

01555 {
01556         ptr < field_list_list > result = ss_breakable_stmt::field_values_get();
01557         result->push_back( value_list::create() );
01558         result->back()->push_back( this->case_labels );
01559         result->push_back( value_list::create() );
01560         result->back()->push_back( this->default_label );
01561         return result;
01562 }

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

Marking routine for class ss_switch_stmt.

Marking routine is used for garbage collection.

Author:
lsg

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

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

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

01570 {
01571         ss_breakable_stmt::gc_mark();
01572 }


Member Data Documentation

srp< ::lestes::std::list< srp< ss_case_label > > > lestes::lang::cplus::sem::ss_switch_stmt::case_labels [private]

All switch branches, except for default.

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

Referenced by case_labels_get(), and case_labels_set().

srp< ss_default_label > lestes::lang::cplus::sem::ss_switch_stmt::default_label [private]

This is the target of case denominated by the keyword "default" in this switch statement break encountered in the program area (which amounts to some nested function block-scopes) "governed by" this ss_breakable_stmt.

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

Referenced by default_label_get(), and default_label_set().

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

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

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