lestes::lang::cplus::sem::as_function_definition Class Reference

#include <as_decl.g.hh>

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

lestes::lang::cplus::sem::as_declaration lestes::intercode::as_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ::lestes::std::list<
srp< as_declaration_specifier > > > 
declaration_specifiers_get () const
 The method declaration_specifiers_get returns the value of the field as_function_definition::declaration_specifiers.
void declaration_specifiers_set (const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > &)
 The method declaration_specifiers_set sets the field as_function_definition::declaration_specifiers to the given value.
ptr< as_declaratordeclarator_get () const
 The method declarator_get returns the value of the field as_function_definition::declarator.
void declarator_set (const ptr< as_declarator > &)
 The method declarator_set sets the field as_function_definition::declarator to the given value.
ptr< ::lestes::std::list<
srp< as_mem_initializer > > > 
mem_initializers_get () const
 The method mem_initializers_get returns the value of the field as_function_definition::mem_initializers.
void mem_initializers_set (const ptr< ::lestes::std::list< srp< as_mem_initializer > > > &)
 The method mem_initializers_set sets the field as_function_definition::mem_initializers to the given value.
ptr< ::lestes::lang::cplus::syn::bison_pack_tokenfunction_body_get () const
 The method function_body_get returns the value of the field as_function_definition::function_body.
void function_body_set (const ptr< ::lestes::lang::cplus::syn::bison_pack_token > &)
 The method function_body_set sets the field as_function_definition::function_body to the given value.
ptr< ::lestes::std::list<
srp< as_handler > > > 
handlers_get () const
 The method handlers_get returns the value of the field as_function_definition::handlers.
void handlers_set (const ptr< ::lestes::std::list< srp< as_handler > > > &)
 The method handlers_set sets the field as_function_definition::handlers to the given value.
ptr< ::lestes::intercode::as_baseparsed_body_get () const
 The method parsed_body_get returns the value of the field as_function_definition::parsed_body.
void parsed_body_set (const ptr< ::lestes::intercode::as_base > &)
 The method parsed_body_set sets the field as_function_definition::parsed_body 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< as_function_definitioncreate (ptr< ::lestes::std::source_location > a__as_base__location, ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_function_definition__declaration_specifiers, ptr< as_declarator > a__as_function_definition__declarator, ptr< ::lestes::std::list< srp< as_mem_initializer > > > a__as_function_definition__mem_initializers, ptr< ::lestes::lang::cplus::syn::bison_pack_token > a__as_function_definition__function_body, ptr< ::lestes::std::list< srp< as_handler > > > a__as_function_definition__handlers, ptr< ::lestes::intercode::as_base > a__as_function_definition__parsed_body)
 First generated factory method for class as_function_definition.
static ptr< as_function_definitioncreate (ptr< ::lestes::std::source_location > a__as_base__location, ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_function_definition__declaration_specifiers, ptr< as_declarator > a__as_function_definition__declarator, ptr< ::lestes::std::list< srp< as_mem_initializer > > > a__as_function_definition__mem_initializers, ptr< ::lestes::lang::cplus::syn::bison_pack_token > a__as_function_definition__function_body, ptr< ::lestes::std::list< srp< as_handler > > > a__as_function_definition__handlers)
 Second generated factory method for class as_function_definition.

Protected Member Functions

 as_function_definition (ptr< ::lestes::std::source_location > a__as_base__location, ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_function_definition__declaration_specifiers, ptr< as_declarator > a__as_function_definition__declarator, ptr< ::lestes::std::list< srp< as_mem_initializer > > > a__as_function_definition__mem_initializers, ptr< ::lestes::lang::cplus::syn::bison_pack_token > a__as_function_definition__function_body, ptr< ::lestes::std::list< srp< as_handler > > > a__as_function_definition__handlers, ptr< ::lestes::intercode::as_base > a__as_function_definition__parsed_body)
 Generated constructor for class as_function_definition.
virtual void gc_mark ()
 Marking routine for class as_function_definition.

Private Attributes

srp< ::lestes::std::list<
srp< as_declaration_specifier > > > 
declaration_specifiers
srp< as_declaratordeclarator
srp< ::lestes::std::list<
srp< as_mem_initializer > > > 
mem_initializers
srp< ::lestes::lang::cplus::syn::bison_pack_tokenfunction_body
srp< ::lestes::std::list<
srp< as_handler > > > 
handlers
srp< ::lestes::intercode::as_baseparsed_body
 Contains parsed body of the function.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Definition at line 520 of file as_decl.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::as_function_definition::as_function_definition ( ptr< ::lestes::std::source_location a__as_base__location,
ptr< ::lestes::std::list< srp< as_declaration_specifier > > >  a__as_function_definition__declaration_specifiers,
ptr< as_declarator a__as_function_definition__declarator,
ptr< ::lestes::std::list< srp< as_mem_initializer > > >  a__as_function_definition__mem_initializers,
ptr< ::lestes::lang::cplus::syn::bison_pack_token a__as_function_definition__function_body,
ptr< ::lestes::std::list< srp< as_handler > > >  a__as_function_definition__handlers,
ptr< ::lestes::intercode::as_base a__as_function_definition__parsed_body 
) [protected]

Generated constructor for class as_function_definition.

Generated constructor for class as_function_definition.

Author:
lsg

Definition at line 808 of file as_decl.g.cc.

Referenced by create().

00815         : as_declaration(a__as_base__location), declaration_specifiers(checked(a__as_function_definition__declaration_specifiers)), declarator(checked(a__as_function_definition__declarator)), mem_initializers(checked(a__as_function_definition__mem_initializers)), function_body(checked(a__as_function_definition__function_body)), handlers(checked(a__as_function_definition__handlers)), parsed_body(a__as_function_definition__parsed_body)
00816 {}


Member Function Documentation

ptr<::lestes::std::list< srp< as_declaration_specifier > > > lestes::lang::cplus::sem::as_function_definition::declaration_specifiers_get (  )  const

The method declaration_specifiers_get returns the value of the field as_function_definition::declaration_specifiers.

Returns:
The value of as_function_definition::declaration_specifiers.
Author:
lsg

Definition at line 665 of file as_decl.g.cc.

References declaration_specifiers.

00666 {
00667         return declaration_specifiers;
00668 }

void lestes::lang::cplus::sem::as_function_definition::declaration_specifiers_set ( const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > &  x  ) 

The method declaration_specifiers_set sets the field as_function_definition::declaration_specifiers to the given value.

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

Definition at line 674 of file as_decl.g.cc.

References declaration_specifiers.

ptr< as_declarator > lestes::lang::cplus::sem::as_function_definition::declarator_get (  )  const

The method declarator_get returns the value of the field as_function_definition::declarator.

Returns:
The value of as_function_definition::declarator.
Author:
lsg

Definition at line 683 of file as_decl.g.cc.

References declarator.

00684 {
00685         return declarator;
00686 }

void lestes::lang::cplus::sem::as_function_definition::declarator_set ( const ptr< as_declarator > &  x  ) 

The method declarator_set sets the field as_function_definition::declarator to the given value.

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

Definition at line 692 of file as_decl.g.cc.

References declarator.

00693 {
00694         as_function_definition::declarator = x;
00695 }

ptr<::lestes::std::list< srp< as_mem_initializer > > > lestes::lang::cplus::sem::as_function_definition::mem_initializers_get (  )  const

The method mem_initializers_get returns the value of the field as_function_definition::mem_initializers.

Returns:
The value of as_function_definition::mem_initializers.
Author:
lsg

Definition at line 701 of file as_decl.g.cc.

References mem_initializers.

00702 {
00703         return mem_initializers;
00704 }

void lestes::lang::cplus::sem::as_function_definition::mem_initializers_set ( const ptr< ::lestes::std::list< srp< as_mem_initializer > > > &  x  ) 

The method mem_initializers_set sets the field as_function_definition::mem_initializers to the given value.

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

Definition at line 710 of file as_decl.g.cc.

References mem_initializers.

00711 {
00712         as_function_definition::mem_initializers = x;
00713 }

ptr<::lestes::lang::cplus::syn::bison_pack_token > lestes::lang::cplus::sem::as_function_definition::function_body_get (  )  const

The method function_body_get returns the value of the field as_function_definition::function_body.

Returns:
The value of as_function_definition::function_body.
Author:
lsg

Definition at line 719 of file as_decl.g.cc.

References function_body.

00720 {
00721         return function_body;
00722 }

void lestes::lang::cplus::sem::as_function_definition::function_body_set ( const ptr< ::lestes::lang::cplus::syn::bison_pack_token > &  x  ) 

The method function_body_set sets the field as_function_definition::function_body to the given value.

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

Definition at line 728 of file as_decl.g.cc.

References function_body.

00729 {
00730         as_function_definition::function_body = x;
00731 }

ptr<::lestes::std::list< srp< as_handler > > > lestes::lang::cplus::sem::as_function_definition::handlers_get (  )  const

The method handlers_get returns the value of the field as_function_definition::handlers.

Returns:
The value of as_function_definition::handlers.
Author:
lsg

Definition at line 737 of file as_decl.g.cc.

References handlers.

00738 {
00739         return handlers;
00740 }

void lestes::lang::cplus::sem::as_function_definition::handlers_set ( const ptr< ::lestes::std::list< srp< as_handler > > > &  x  ) 

The method handlers_set sets the field as_function_definition::handlers to the given value.

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

Definition at line 746 of file as_decl.g.cc.

References handlers.

00747 {
00748         as_function_definition::handlers = x;
00749 }

ptr<::lestes::intercode::as_base > lestes::lang::cplus::sem::as_function_definition::parsed_body_get (  )  const

The method parsed_body_get returns the value of the field as_function_definition::parsed_body.

Returns:
The value of as_function_definition::parsed_body.
Author:
lsg

Definition at line 755 of file as_decl.g.cc.

References parsed_body.

00756 {
00757         return parsed_body;
00758 }

void lestes::lang::cplus::sem::as_function_definition::parsed_body_set ( const ptr< ::lestes::intercode::as_base > &  x  ) 

The method parsed_body_set sets the field as_function_definition::parsed_body to the given value.

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

Definition at line 764 of file as_decl.g.cc.

References parsed_body.

00765 {
00766         as_function_definition::parsed_body = x;
00767 }

ptr< as_function_definition > lestes::lang::cplus::sem::as_function_definition::create ( ptr< ::lestes::std::source_location a__as_base__location,
ptr< ::lestes::std::list< srp< as_declaration_specifier > > >  a__as_function_definition__declaration_specifiers,
ptr< as_declarator a__as_function_definition__declarator,
ptr< ::lestes::std::list< srp< as_mem_initializer > > >  a__as_function_definition__mem_initializers,
ptr< ::lestes::lang::cplus::syn::bison_pack_token a__as_function_definition__function_body,
ptr< ::lestes::std::list< srp< as_handler > > >  a__as_function_definition__handlers,
ptr< ::lestes::intercode::as_base a__as_function_definition__parsed_body 
) [static]

First generated factory method for class as_function_definition.

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

Author:
lsg

Definition at line 773 of file as_decl.g.cc.

References as_function_definition().

00780 {
00781         return ptr< as_function_definition > ( new as_function_definition(a__as_base__location,
00782                 a__as_function_definition__declaration_specifiers,
00783                 a__as_function_definition__declarator,
00784                 a__as_function_definition__mem_initializers,
00785                 a__as_function_definition__function_body,
00786                 a__as_function_definition__handlers,
00787                 a__as_function_definition__parsed_body) );
00788 }

ptr< as_function_definition > lestes::lang::cplus::sem::as_function_definition::create ( ptr< ::lestes::std::source_location a__as_base__location,
ptr< ::lestes::std::list< srp< as_declaration_specifier > > >  a__as_function_definition__declaration_specifiers,
ptr< as_declarator a__as_function_definition__declarator,
ptr< ::lestes::std::list< srp< as_mem_initializer > > >  a__as_function_definition__mem_initializers,
ptr< ::lestes::lang::cplus::syn::bison_pack_token a__as_function_definition__function_body,
ptr< ::lestes::std::list< srp< as_handler > > >  a__as_function_definition__handlers 
) [static]

Second generated factory method for class as_function_definition.

This factory method for class as_function_definition uses initializers.

Author:
lsg

Definition at line 794 of file as_decl.g.cc.

References as_function_definition().

00800 {
00801         return ptr< as_function_definition > ( new as_function_definition(a__as_base__location, a__as_function_definition__declaration_specifiers, a__as_function_definition__declarator, a__as_function_definition__mem_initializers, a__as_function_definition__function_body, a__as_function_definition__handlers, NULL) );
00802 }

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

for purposes of dumping

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

Definition at line 818 of file as_decl.g.cc.

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

00819 {
00820         if (!reflection) {
00821                 typedef class_reflection::field_metadata md;
00822                 typedef class_reflection::field_metadata_list mdlist;
00823                 ptr<mdlist> mdl = mdlist::create();
00824                 mdl->push_back( md::create( "declaration_specifiers", "list&lt; srp&lt; as_declaration_specifier &gt; &gt;" ) );
00825                 mdl->push_back( md::create( "declarator", "as_declarator" ) );
00826                 mdl->push_back( md::create( "mem_initializers", "list&lt; srp&lt; as_mem_initializer &gt; &gt;" ) );
00827                 mdl->push_back( md::create( "function_body", "bison_pack_token" ) );
00828                 mdl->push_back( md::create( "handlers", "list&lt; srp&lt; as_handler &gt; &gt;" ) );
00829                 mdl->push_back( md::create( "parsed_body", "as_base" ) );
00830                 reflection = reflection_list::create( as_declaration::reflection_get() );
00831                 reflection->push_back( class_reflection::create( "as_function_definition", mdl ) );
00832         }
00833         return reflection;
00834 }

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

for purposes of dumping

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

Definition at line 836 of file as_decl.g.cc.

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

00837 {
00838         ptr < field_list_list > result = as_declaration::field_values_get();
00839         result->push_back( value_list::create() );
00840         result->back()->push_back( this->declaration_specifiers );
00841         result->push_back( value_list::create() );
00842         result->back()->push_back( this->declarator );
00843         result->push_back( value_list::create() );
00844         result->back()->push_back( this->mem_initializers );
00845         result->push_back( value_list::create() );
00846         result->back()->push_back( this->function_body );
00847         result->push_back( value_list::create() );
00848         result->back()->push_back( this->handlers );
00849         result->push_back( value_list::create() );
00850         result->back()->push_back( this->parsed_body );
00851         return result;
00852 }

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

Marking routine for class as_function_definition.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 859 of file as_decl.g.cc.

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

00860 {
00861         as_declaration::gc_mark();
00862 }


Member Data Documentation

srp< ::lestes::std::list< srp< as_declaration_specifier > > > lestes::lang::cplus::sem::as_function_definition::declaration_specifiers [private]

Definition at line 600 of file as_decl.g.hh.

Referenced by declaration_specifiers_get(), and declaration_specifiers_set().

srp< as_declarator > lestes::lang::cplus::sem::as_function_definition::declarator [private]

Definition at line 601 of file as_decl.g.hh.

Referenced by declarator_get(), and declarator_set().

srp< ::lestes::std::list< srp< as_mem_initializer > > > lestes::lang::cplus::sem::as_function_definition::mem_initializers [private]

Definition at line 602 of file as_decl.g.hh.

Referenced by mem_initializers_get(), and mem_initializers_set().

srp< ::lestes::lang::cplus::syn::bison_pack_token > lestes::lang::cplus::sem::as_function_definition::function_body [private]

Definition at line 603 of file as_decl.g.hh.

Referenced by function_body_get(), and function_body_set().

srp< ::lestes::std::list< srp< as_handler > > > lestes::lang::cplus::sem::as_function_definition::handlers [private]

Definition at line 604 of file as_decl.g.hh.

Referenced by handlers_get(), and handlers_set().

srp< ::lestes::intercode::as_base > lestes::lang::cplus::sem::as_function_definition::parsed_body [private]

Contains parsed body of the function.

Currently, we do not defer parsing function/method bodies, but rather analyze them immediately. Thus, we fill this field right after (and only if) the body has been successfully parsed. This is useful for dumping AS structure of the body, which would otherwise be lost.

In production compiler, this could filled (if at all) after parsing the body as well, but the parsing would take place at different time (compared to current practice).

Definition at line 619 of file as_decl.g.hh.

Referenced by parsed_body_get(), and parsed_body_set().

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

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

Definition at line 620 of file as_decl.g.hh.

Referenced by reflection_get().


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