lestes::lang::cplus::sem::sa_simple_declaration Class Reference

Simple declaration analyser. More...

#include <sa_simple_declaration.g.hh>

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

object List of all members.

Public Member Functions

void save_declaration_specifiers (ptr< ::lestes::lang::cplus::sem::as_declaration_specifier_seq > specifiers)
 Saves declaration specifiers to context.
void save_type_specifiers (ptr< ::lestes::lang::cplus::sem::as_type_specifier_seq > specifiers)
 Saves type specifiers to context.
void process (ptr< ::lestes::lang::cplus::sem::as_declarator > declarator)
 Processes the declaration, adding it to the containing scope.
void process_typedef (ptr< ::lestes::lang::cplus::sem::sa_context > ctx, ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > specifiers, ptr< ::lestes::lang::cplus::sem::as_declarator > declarator)
 Processes typedef.
void process_object_declaration (ptr< ::lestes::lang::cplus::sem::sa_context > ctx, ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > specifiers, ptr< ::lestes::lang::cplus::sem::as_declarator > declarator)
 Processes object declaration.
void process_function_declaration (ptr< ::lestes::lang::cplus::sem::sa_context > ctx, ptr< ::lestes::lang::cplus::sem::as_declarator_op_func > op_func, ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers > specifiers, ptr< ::lestes::lang::cplus::sem::as_declarator > declarator)
 Processes object declaration.
virtual ptr< reflection_list > reflection_get () const
 for purposes of dumping
virtual ptr< field_list_list > field_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< sa_simple_declarationinstance ()
 Generated instance() method for singleton class sa_simple_declaration.

Protected Member Functions

 sa_simple_declaration ()
 Generated constructor for class sa_simple_declaration.
virtual void gc_mark ()
 Marking routine for class sa_simple_declaration.

Static Private Attributes

static ptr< reflection_list > reflection = reflection
static ptr< sa_simple_declarationthe_instance = the_instance

Detailed Description

Simple declaration analyser.

Analyses simple declaration and either creates ss_declaration and adds it to the current scope, or modifies an existing ss_declaration.

Definition at line 93 of file sa_simple_declaration.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::sa_simple_declaration::sa_simple_declaration (  )  [protected]

Generated constructor for class sa_simple_declaration.

Generated constructor for class sa_simple_declaration.

Author:
lsg

Definition at line 47 of file sa_simple_declaration.g.cc.

Referenced by instance().

00048         : object()
00049 {}


Member Function Documentation

void lestes::lang::cplus::sem::sa_simple_declaration::save_declaration_specifiers ( ptr< ::lestes::lang::cplus::sem::as_declaration_specifier_seq specifiers  ) 

Saves declaration specifiers to context.

void lestes::lang::cplus::sem::sa_simple_declaration::save_type_specifiers ( ptr< ::lestes::lang::cplus::sem::as_type_specifier_seq specifiers  ) 

Saves type specifiers to context.

void lestes::lang::cplus::sem::sa_simple_declaration::process ( ptr< ::lestes::lang::cplus::sem::as_declarator declarator  ) 

Processes the declaration, adding it to the containing scope.

void lestes::lang::cplus::sem::sa_simple_declaration::process_typedef ( ptr< ::lestes::lang::cplus::sem::sa_context ctx,
ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers specifiers,
ptr< ::lestes::lang::cplus::sem::as_declarator declarator 
)

Processes typedef.

void lestes::lang::cplus::sem::sa_simple_declaration::process_object_declaration ( ptr< ::lestes::lang::cplus::sem::sa_context ctx,
ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers specifiers,
ptr< ::lestes::lang::cplus::sem::as_declarator declarator 
)

Processes object declaration.

void lestes::lang::cplus::sem::sa_simple_declaration::process_function_declaration ( ptr< ::lestes::lang::cplus::sem::sa_context ctx,
ptr< ::lestes::lang::cplus::sem::as_declarator_op_func op_func,
ptr< ::lestes::lang::cplus::sem::sa_declaration_specifiers specifiers,
ptr< ::lestes::lang::cplus::sem::as_declarator declarator 
)

Processes object declaration.

ptr< sa_simple_declaration > lestes::lang::cplus::sem::sa_simple_declaration::instance ( void   )  [static]

Generated instance() method for singleton class sa_simple_declaration.

Generated instance() method for singleton class sa_simple_declaration.

Author:
lsg

Definition at line 38 of file sa_simple_declaration.g.cc.

References sa_simple_declaration(), and the_instance.

00039 {
00040          return the_instance ? the_instance : the_instance = new sa_simple_declaration();
00041 }

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

for purposes of dumping

Definition at line 51 of file sa_simple_declaration.g.cc.

References reflection.

00052 {
00053         if (!reflection) {
00054                 typedef class_reflection::field_metadata md;
00055                 typedef class_reflection::field_metadata_list mdlist;
00056                 ptr<mdlist> mdl = mdlist::create();
00057                 reflection = reflection_list::create( object::reflection_get() );
00058                 reflection->push_back( class_reflection::create( "sa_simple_declaration", mdl ) );
00059         }
00060         return reflection;
00061 }

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

for purposes of dumping

Definition at line 63 of file sa_simple_declaration.g.cc.

00064 {
00065         ptr < field_list_list > result = object::field_values_get();
00066         return result;
00067 }

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

Marking routine for class sa_simple_declaration.

Marking routine is used for garbage collection.

Author:
lsg

Definition at line 74 of file sa_simple_declaration.g.cc.

00075 {
00076         object::gc_mark();
00077 }


Member Data Documentation

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

Definition at line 133 of file sa_simple_declaration.g.hh.

Referenced by reflection_get().

ptr< sa_simple_declaration > lestes::lang::cplus::sem::sa_simple_declaration::the_instance = the_instance [static, private]

Static field sa_simple_declaration::the_instance.

Author:
lsg

Definition at line 134 of file sa_simple_declaration.g.hh.

Referenced by instance().


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