lestes::lang::cplus::sem::ss_for Class Reference

Class for "for" iteration statement. More...

#include <ss_statement.g.hh>

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

lestes::lang::cplus::sem::ss_iteration_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< ss_expr_stmtiteration_get () const
 The method iteration_get returns the value of the field ss_for::iteration.
void iteration_set (const ptr< ss_expr_stmt > &)
 The method iteration_set sets the field ss_for::iteration 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_forcreate (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< ss_expr_stmt > a__ss_for__iteration)
 First generated factory method for class ss_for.

Protected Member Functions

 ss_for (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< ss_expr_stmt > a__ss_for__iteration)
 Generated constructor for class ss_for.
virtual void gc_mark ()
 Marking routine for class ss_for.

Private Attributes

srp< ss_expr_stmtiteration

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for "for" iteration statement.

The field "iteration" is not checked for non-NULLness, since the iteration expression is optional.

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


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_for::ss_for ( 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< ss_expr_stmt a__ss_for__iteration 
) [protected]

Generated constructor for class ss_for.

Generated constructor for class ss_for.

Author:
lsg

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

Referenced by create().

01857         : ss_iteration_stmt(a__ss_base_with_location__location,
01858                 a__ss_statement__labels,
01859                 a__ss_statement__parent,
01860                 a__ss_statement__psp,
01861                 a__ss_statement__nsp,
01862                 a__ss_statement__sequence_points,
01863                 a__ss_breakable_stmt__body,
01864                 a__ss_breakable_stmt__condition), iteration(a__ss_for__iteration)
01865 {}


Member Function Documentation

ptr< ss_expr_stmt > lestes::lang::cplus::sem::ss_for::iteration_get (  )  const

The method iteration_get returns the value of the field ss_for::iteration.

Returns:
The value of ss_for::iteration.
Author:
lsg

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

References iteration.

01801 {
01802         return iteration;
01803 }

void lestes::lang::cplus::sem::ss_for::iteration_set ( const ptr< ss_expr_stmt > &  x  ) 

The method iteration_set sets the field ss_for::iteration to the given value.

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

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

References iteration.

01810 {
01811         ss_for::iteration = x;
01812 }

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

Implements lestes::lang::cplus::sem::ss_iteration_stmt.

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

01815 {
01816         return v->visit_ss_for( this );
01817 }

ptr< ss_for > lestes::lang::cplus::sem::ss_for::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< ss_expr_stmt a__ss_for__iteration 
) [static]

First generated factory method for class ss_for.

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

Author:
lsg

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

References ss_for().

01832 {
01833         return ptr< ss_for > ( new ss_for(a__ss_base_with_location__location,
01834                 a__ss_statement__labels,
01835                 a__ss_statement__parent,
01836                 a__ss_statement__psp,
01837                 a__ss_statement__nsp,
01838                 a__ss_statement__sequence_points,
01839                 a__ss_breakable_stmt__body,
01840                 a__ss_breakable_stmt__condition,
01841                 a__ss_for__iteration) );
01842 }

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

for purposes of dumping

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

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

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

01868 {
01869         if (!reflection) {
01870                 typedef class_reflection::field_metadata md;
01871                 typedef class_reflection::field_metadata_list mdlist;
01872                 ptr<mdlist> mdl = mdlist::create();
01873                 mdl->push_back( md::create( "iteration", "ss_expr_stmt" ) );
01874                 reflection = reflection_list::create( ss_iteration_stmt::reflection_get() );
01875                 reflection->push_back( class_reflection::create( "ss_for", mdl ) );
01876         }
01877         return reflection;
01878 }

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

for purposes of dumping

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

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

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

01881 {
01882         ptr < field_list_list > result = ss_iteration_stmt::field_values_get();
01883         result->push_back( value_list::create() );
01884         result->back()->push_back( this->iteration );
01885         return result;
01886 }

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

Marking routine for class ss_for.

Marking routine is used for garbage collection.

Author:
lsg

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

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

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

01894 {
01895         ss_iteration_stmt::gc_mark();
01896 }


Member Data Documentation

srp< ss_expr_stmt > lestes::lang::cplus::sem::ss_for::iteration [private]

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

Referenced by iteration_get(), and iteration_set().

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

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

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