lestes::lang::cplus::sem::ss_case_label Class Reference

Class for "case" label inside the switch. More...

#include <ss_misc.g.hh>

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

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 List of all members.

Public Member Functions

ptr< ss_expressionvalue_get () const
 The method value_get returns the value of the field ss_case_label::value.
void value_set (const ptr< ss_expression > &)
 The method value_set sets the field ss_case_label::value 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

Static Public Member Functions

static ptr< ss_case_labelcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable, ptr< ss_expression > a__ss_case_label__value)
 First generated factory method for class ss_case_label.

Protected Member Functions

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

Private Attributes

srp< ss_expressionvalue

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for "case" label inside the switch.

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


Constructor & Destructor Documentation

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

Generated constructor for class ss_case_label.

Generated constructor for class ss_case_label.

Author:
lsg

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

Referenced by create().

00490         : ss_breakable_stmt_label(a__ss_base_with_location__location,
00491                 a__ss_breakable_stmt_label__breakable), value(checked(a__ss_case_label__value))
00492 {}


Member Function Documentation

ptr< ss_expression > lestes::lang::cplus::sem::ss_case_label::value_get ( void   )  const

The method value_get returns the value of the field ss_case_label::value.

Returns:
The value of ss_case_label::value.
Author:
lsg

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

References value.

00457 {
00458         return value;
00459 }

void lestes::lang::cplus::sem::ss_case_label::value_set ( const ptr< ss_expression > &  x  ) 

The method value_set sets the field ss_case_label::value to the given value.

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

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

References value.

00466 {
00467         ss_case_label::value = x;
00468 }

ptr< ss_case_label > lestes::lang::cplus::sem::ss_case_label::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_breakable_stmt a__ss_breakable_stmt_label__breakable,
ptr< ss_expression a__ss_case_label__value 
) [static]

First generated factory method for class ss_case_label.

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

Author:
lsg

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

References ss_case_label().

00477 {
00478         return ptr< ss_case_label > ( new ss_case_label(a__ss_base_with_location__location,
00479                 a__ss_breakable_stmt_label__breakable,
00480                 a__ss_case_label__value) );
00481 }

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

for purposes of dumping

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

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

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

00495 {
00496         if (!reflection) {
00497                 typedef class_reflection::field_metadata md;
00498                 typedef class_reflection::field_metadata_list mdlist;
00499                 ptr<mdlist> mdl = mdlist::create();
00500                 mdl->push_back( md::create( "value", "ss_expression" ) );
00501                 reflection = reflection_list::create( ss_breakable_stmt_label::reflection_get() );
00502                 reflection->push_back( class_reflection::create( "ss_case_label", mdl ) );
00503         }
00504         return reflection;
00505 }

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

for purposes of dumping

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

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

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

00508 {
00509         ptr < field_list_list > result = ss_breakable_stmt_label::field_values_get();
00510         result->push_back( value_list::create() );
00511         result->back()->push_back( this->value );
00512         return result;
00513 }

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

Marking routine for class ss_case_label.

Marking routine is used for garbage collection.

Author:
lsg

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

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

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

00521 {
00522         ss_breakable_stmt_label::gc_mark();
00523 }


Member Data Documentation

srp< ss_expression > lestes::lang::cplus::sem::ss_case_label::value [private]

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

Referenced by value_get(), and value_set().

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

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

Definition at line 368 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