lestes::lang::cplus::sem::ss_breakable_stmt_label Class Reference

Class for labels created from breakable statements(i.e. do,while,for,switch). More...

#include <ss_misc.g.hh>

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

lestes::lang::cplus::sem::ss_label lestes::intercode::ss_base_with_location lestes::intercode::ss_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone lestes::lang::cplus::sem::ss_break_label lestes::lang::cplus::sem::ss_case_label lestes::lang::cplus::sem::ss_continue_label lestes::lang::cplus::sem::ss_default_label List of all members.

Public Member Functions

ptr< ss_breakable_stmtbreakable_get () const
 The method breakable_get returns the value of the field ss_breakable_stmt_label::breakable.
void breakable_set (const ptr< ss_breakable_stmt > &)
 The method breakable_set sets the field ss_breakable_stmt_label::breakable 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

Protected Member Functions

 ss_breakable_stmt_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable)
 Generated constructor for class ss_breakable_stmt_label.
virtual void gc_mark ()
 Marking routine for class ss_breakable_stmt_label.

Private Attributes

srp< ss_breakable_stmtbreakable
 Breakable statement, which produced this label.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for labels created from breakable statements(i.e. do,while,for,switch).

Definition at line 301 of file ss_misc.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_breakable_stmt_label::ss_breakable_stmt_label ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_breakable_stmt a__ss_breakable_stmt_label__breakable 
) [protected]

Generated constructor for class ss_breakable_stmt_label.

Generated constructor for class ss_breakable_stmt_label.

Author:
lsg

Definition at line 412 of file ss_misc.g.cc.

00414         : ss_label(a__ss_base_with_location__location), breakable(checked(a__ss_breakable_stmt_label__breakable))
00415 {}


Member Function Documentation

ptr< ss_breakable_stmt > lestes::lang::cplus::sem::ss_breakable_stmt_label::breakable_get (  )  const

The method breakable_get returns the value of the field ss_breakable_stmt_label::breakable.

Returns:
The value of ss_breakable_stmt_label::breakable.
Author:
lsg

Definition at line 394 of file ss_misc.g.cc.

References breakable.

00395 {
00396         return breakable;
00397 }

void lestes::lang::cplus::sem::ss_breakable_stmt_label::breakable_set ( const ptr< ss_breakable_stmt > &  x  ) 

The method breakable_set sets the field ss_breakable_stmt_label::breakable to the given value.

Parameters:
[in] x The new value to set ss_breakable_stmt_label::breakable to.
Author:
lsg

Definition at line 403 of file ss_misc.g.cc.

References breakable.

00404 {
00405         ss_breakable_stmt_label::breakable = x;
00406 }

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

for purposes of dumping

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

Reimplemented in lestes::lang::cplus::sem::ss_case_label, lestes::lang::cplus::sem::ss_default_label, lestes::lang::cplus::sem::ss_continue_label, and lestes::lang::cplus::sem::ss_break_label.

Definition at line 417 of file ss_misc.g.cc.

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

Referenced by lestes::lang::cplus::sem::ss_break_label::reflection_get(), lestes::lang::cplus::sem::ss_continue_label::reflection_get(), lestes::lang::cplus::sem::ss_default_label::reflection_get(), and lestes::lang::cplus::sem::ss_case_label::reflection_get().

00418 {
00419         if (!reflection) {
00420                 typedef class_reflection::field_metadata md;
00421                 typedef class_reflection::field_metadata_list mdlist;
00422                 ptr<mdlist> mdl = mdlist::create();
00423                 mdl->push_back( md::create( "breakable", "ss_breakable_stmt" ) );
00424                 reflection = reflection_list::create( ss_label::reflection_get() );
00425                 reflection->push_back( class_reflection::create( "ss_breakable_stmt_label", mdl ) );
00426         }
00427         return reflection;
00428 }

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

for purposes of dumping

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

Reimplemented in lestes::lang::cplus::sem::ss_case_label, lestes::lang::cplus::sem::ss_default_label, lestes::lang::cplus::sem::ss_continue_label, and lestes::lang::cplus::sem::ss_break_label.

Definition at line 430 of file ss_misc.g.cc.

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

Referenced by lestes::lang::cplus::sem::ss_break_label::field_values_get(), lestes::lang::cplus::sem::ss_continue_label::field_values_get(), lestes::lang::cplus::sem::ss_default_label::field_values_get(), and lestes::lang::cplus::sem::ss_case_label::field_values_get().

00431 {
00432         ptr < field_list_list > result = ss_label::field_values_get();
00433         result->push_back( value_list::create() );
00434         result->back()->push_back( this->breakable );
00435         return result;
00436 }

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

Marking routine for class ss_breakable_stmt_label.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::lang::cplus::sem::ss_case_label, lestes::lang::cplus::sem::ss_default_label, lestes::lang::cplus::sem::ss_continue_label, and lestes::lang::cplus::sem::ss_break_label.

Definition at line 443 of file ss_misc.g.cc.

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

Referenced by lestes::lang::cplus::sem::ss_break_label::gc_mark(), lestes::lang::cplus::sem::ss_continue_label::gc_mark(), lestes::lang::cplus::sem::ss_default_label::gc_mark(), and lestes::lang::cplus::sem::ss_case_label::gc_mark().

00444 {
00445         ss_label::gc_mark();
00446 }


Member Data Documentation

srp< ss_breakable_stmt > lestes::lang::cplus::sem::ss_breakable_stmt_label::breakable [private]

Breakable statement, which produced this label.

Definition at line 327 of file ss_misc.g.hh.

Referenced by breakable_get(), and breakable_set().

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

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

Reimplemented in lestes::lang::cplus::sem::ss_case_label, lestes::lang::cplus::sem::ss_default_label, lestes::lang::cplus::sem::ss_continue_label, and lestes::lang::cplus::sem::ss_break_label.

Definition at line 328 of file ss_misc.g.hh.

Referenced by reflection_get().


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