lestes::lang::cplus::sem::ss_decl_stmt Class Reference

Class for declaration statement. More...

#include <ss_statement.g.hh>

Inheritance diagram for lestes::lang::cplus::sem::ss_decl_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 Types

enum  initializer_kind_enum { IK_DIRECT_INITIALIZATION, IK_DEFAULT_INITIALIZATION, IK_COPY_INITIALIZATION, IK_NOT_APPLY_INITIALIZATION }

Public Member Functions

ptr< ss_declarationdecl_get () const
 The method decl_get returns the value of the field ss_decl_stmt::decl.
void decl_set (const ptr< ss_declaration > &)
 The method decl_set sets the field ss_decl_stmt::decl to the given value.
ptr< ::lestes::std::list<
srp< ss_expression > > > 
args_get () const
 The method args_get returns the value of the field ss_decl_stmt::args.
void args_set (const ptr< ::lestes::std::list< srp< ss_expression > > > &)
 The method args_set sets the field ss_decl_stmt::args to the given value.
initializer_kind_enum initializer_kind_get () const
 The method initializer_kind_get returns the value of the field ss_decl_stmt::initializer_kind.
void initializer_kind_set (initializer_kind_enum)
 The method initializer_kind_set sets the field ss_decl_stmt::initializer_kind 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_decl_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_declaration > a__ss_decl_stmt__decl, ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_decl_stmt__args, initializer_kind_enum a__ss_decl_stmt__initializer_kind)
 First generated factory method for class ss_decl_stmt.

Protected Member Functions

 ss_decl_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_declaration > a__ss_decl_stmt__decl, ptr< ::lestes::std::list< srp< ss_expression > > > a__ss_decl_stmt__args, initializer_kind_enum a__ss_decl_stmt__initializer_kind)
 Generated constructor for class ss_decl_stmt.
virtual void gc_mark ()
 Marking routine for class ss_decl_stmt.

Private Attributes

srp< ss_declarationdecl
srp< ::lestes::std::list<
srp< ss_expression > > > 
args
initializer_kind_enum initializer_kind
 Distinguishes kind of initialization.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for declaration statement.

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


Member Enumeration Documentation

enum lestes::lang::cplus::sem::ss_decl_stmt::initializer_kind_enum

Enumerator:
IK_DIRECT_INITIALIZATION 
IK_DEFAULT_INITIALIZATION 
IK_COPY_INITIALIZATION 
IK_NOT_APPLY_INITIALIZATION 

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


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_decl_stmt::ss_decl_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_declaration a__ss_decl_stmt__decl,
ptr< ::lestes::std::list< srp< ss_expression > > >  a__ss_decl_stmt__args,
initializer_kind_enum  a__ss_decl_stmt__initializer_kind 
) [protected]

Generated constructor for class ss_decl_stmt.

Generated constructor for class ss_decl_stmt.

Author:
lsg

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

Referenced by create().

00425         : ss_statement(a__ss_base_with_location__location,
00426                 a__ss_statement__labels,
00427                 a__ss_statement__parent,
00428                 a__ss_statement__psp,
00429                 a__ss_statement__nsp,
00430                 a__ss_statement__sequence_points), decl(checked(a__ss_decl_stmt__decl)), args(checked(a__ss_decl_stmt__args)), initializer_kind(a__ss_decl_stmt__initializer_kind)
00431 {}


Member Function Documentation

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

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

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

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

References decl.

00333 {
00334         return decl;
00335 }

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

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

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

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

References decl.

00342 {
00343         ss_decl_stmt::decl = x;
00344 }

ptr<::lestes::std::list< srp< ss_expression > > > lestes::lang::cplus::sem::ss_decl_stmt::args_get (  )  const

The method args_get returns the value of the field ss_decl_stmt::args.

Returns:
The value of ss_decl_stmt::args.
Author:
lsg

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

References args.

00351 {
00352         return args;
00353 }

void lestes::lang::cplus::sem::ss_decl_stmt::args_set ( const ptr< ::lestes::std::list< srp< ss_expression > > > &  x  ) 

The method args_set sets the field ss_decl_stmt::args to the given value.

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

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

References args.

00360 {
00361         ss_decl_stmt::args = x;
00362 }

ss_decl_stmt::initializer_kind_enum lestes::lang::cplus::sem::ss_decl_stmt::initializer_kind_get (  )  const

The method initializer_kind_get returns the value of the field ss_decl_stmt::initializer_kind.

Returns:
The value of ss_decl_stmt::initializer_kind.
Author:
lsg

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

References initializer_kind.

00369 {
00370         return initializer_kind;
00371 }

void lestes::lang::cplus::sem::ss_decl_stmt::initializer_kind_set ( initializer_kind_enum  x  ) 

The method initializer_kind_set sets the field ss_decl_stmt::initializer_kind to the given value.

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

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

References initializer_kind.

00378 {
00379         ss_decl_stmt::initializer_kind = x;
00380 }

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

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

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

00383 {
00384         return v->visit_ss_decl_stmt( this );
00385 }

ptr< ss_decl_stmt > lestes::lang::cplus::sem::ss_decl_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_declaration a__ss_decl_stmt__decl,
ptr< ::lestes::std::list< srp< ss_expression > > >  a__ss_decl_stmt__args,
initializer_kind_enum  a__ss_decl_stmt__initializer_kind 
) [static]

First generated factory method for class ss_decl_stmt.

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

Author:
lsg

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

References ss_decl_stmt().

00400 {
00401         return ptr< ss_decl_stmt > ( new ss_decl_stmt(a__ss_base_with_location__location,
00402                 a__ss_statement__labels,
00403                 a__ss_statement__parent,
00404                 a__ss_statement__psp,
00405                 a__ss_statement__nsp,
00406                 a__ss_statement__sequence_points,
00407                 a__ss_decl_stmt__decl,
00408                 a__ss_decl_stmt__args,
00409                 a__ss_decl_stmt__initializer_kind) );
00410 }

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

for purposes of dumping

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

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

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

00434 {
00435         if (!reflection) {
00436                 typedef class_reflection::field_metadata md;
00437                 typedef class_reflection::field_metadata_list mdlist;
00438                 ptr<mdlist> mdl = mdlist::create();
00439                 mdl->push_back( md::create( "decl", "ss_declaration" ) );
00440                 mdl->push_back( md::create( "args", "list&lt; srp&lt; ss_expression &gt; &gt;" ) );
00441                 mdl->push_back( md::create( "initializer_kind", "initializer_kind_enum" ) );
00442                 reflection = reflection_list::create( ss_statement::reflection_get() );
00443                 reflection->push_back( class_reflection::create( "ss_decl_stmt", mdl ) );
00444         }
00445         return reflection;
00446 }

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

for purposes of dumping

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

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

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

00449 {
00450         ptr < field_list_list > result = ss_statement::field_values_get();
00451         result->push_back( value_list::create() );
00452         result->back()->push_back( this->decl );
00453         result->push_back( value_list::create() );
00454         result->back()->push_back( this->args );
00455         result->push_back( value_list::create() );
00456         result->back()->push_back( objectize< initializer_kind_enum > ::create( this->initializer_kind ) );
00457         return result;
00458 }

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

Marking routine for class ss_decl_stmt.

Marking routine is used for garbage collection.

Author:
lsg

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

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

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

00466 {
00467         ss_statement::gc_mark();
00468 }


Member Data Documentation

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

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

Referenced by decl_get(), and decl_set().

srp< ::lestes::std::list< srp< ss_expression > > > lestes::lang::cplus::sem::ss_decl_stmt::args [private]

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

Referenced by args_get(), and args_set().

initializer_kind_enum lestes::lang::cplus::sem::ss_decl_stmt::initializer_kind [private]

Distinguishes kind of initialization.

					IK_COPY_INITIALIZATION: 	int i = 3; int i = f(x);
					IK_DIRECT_INITIALIZATION: 	int i (3); A i (3,3);
					IK_DEFAULT_INITIALIZATION:	int i;
					IK_NOT_APPLY_INITIALIZATION:	class x {};	// where no initialization is possible
					details see [8.5]
					

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

Referenced by initializer_kind_get(), and initializer_kind_set().

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

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

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