lestes::lang::cplus::sem::ss_decl2id Class Reference

Visitor that returns identification of a descandant of ss_declaration. More...

#include <ss_decl2ulint_base.g.hh>

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

lestes::lang::cplus::sem::ss_decl2ulint_base lestes::std::visitor_base lestes::std::object lestes::std::mem::keystone List of all members.

Public Types

enum  id_type {
  DECLARATION, NAMESPACE, OBJECT, BITFIELD,
  PARAMETER, TYPE, ENUM, TYPEDEF,
  FUNCTION, ENUMERATOR, USING, BUILTIN_OPERATOR,
  COMPOUND_STATEMENT, METHOD
}

Public Member Functions

virtual ulint visit_ss_namespace_definition (ptr< ::lestes::lang::cplus::sem::ss_namespace_definition >)
virtual ulint visit_ss_object_declaration (ptr< ::lestes::lang::cplus::sem::ss_object_declaration >)
virtual ulint visit_ss_bitfield_declaration (ptr< ::lestes::lang::cplus::sem::ss_bitfield_declaration >)
virtual ulint visit_ss_parameter_declaration (ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration >)
virtual ulint visit_ss_fake_declaration (ptr< ::lestes::lang::cplus::sem::ss_fake_declaration >)
virtual ulint visit_ss_injected_class_declaration (ptr< ::lestes::lang::cplus::sem::ss_injected_class_declaration >)
virtual ulint visit_ss_enum_definition (ptr< ::lestes::lang::cplus::sem::ss_enum_definition >)
virtual ulint visit_ss_typedef_definition (ptr< ::lestes::lang::cplus::sem::ss_typedef_definition >)
virtual ulint visit_ss_enumerator_declaration (ptr< ::lestes::lang::cplus::sem::ss_enumerator_declaration >)
virtual ulint visit_ss_structure_declaration (ptr< ::lestes::lang::cplus::sem::ss_structure_declaration >)
virtual ulint visit_ss_function_declaration (ptr< ::lestes::lang::cplus::sem::ss_function_declaration >)
virtual ulint visit_ss_method_declaration (ptr< ::lestes::lang::cplus::sem::ss_method_declaration >)
virtual ulint visit_ss_using_declaration (ptr< ::lestes::lang::cplus::sem::ss_using_declaration >)
virtual ulint visit_ss_compound_stmt_declaration (ptr< ::lestes::lang::cplus::sem::ss_compound_stmt_declaration >)
virtual ulint visit_ss_builtin_operator_declaration (ptr< ::lestes::lang::cplus::sem::ss_builtin_operator_declaration >)
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_decl2idsingleton_instance_get ()
 The method singleton_instance_get returns the value of the field ss_decl2id::singleton_instance.
static void singleton_instance_set (const ptr< ss_decl2id > &)
 The method singleton_instance_set sets the field ss_decl2id::singleton_instance to the given value.
static ptr< ss_decl2idinstance ()
static ptr< ss_decl2idcreate ()
 First generated factory method for class ss_decl2id.

Protected Member Functions

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

Static Private Attributes

static ptr< ss_decl2idsingleton_instance = singleton_instance
static ptr< reflection_listreflection = reflection

Detailed Description

Visitor that returns identification of a descandant of ss_declaration.

Definition at line 26 of file ss_decl2ulint_base.g.hh.


Member Enumeration Documentation

enum lestes::lang::cplus::sem::ss_decl2id::id_type

Enumerator:
DECLARATION 
NAMESPACE 
OBJECT 
BITFIELD 
PARAMETER 
TYPE 
ENUM 
TYPEDEF 
FUNCTION 
ENUMERATOR 
USING 
BUILTIN_OPERATOR 
COMPOUND_STATEMENT 
METHOD 

Definition at line 28 of file ss_decl2ulint_base.g.hh.

00028                      {
00029                 DECLARATION,
00030                 NAMESPACE,
00031                 OBJECT,
00032                 BITFIELD,
00033                 PARAMETER,
00034                 TYPE,
00035                 ENUM,
00036                 TYPEDEF,
00037                 FUNCTION,
00038                 ENUMERATOR,
00039                 USING,
00040                 BUILTIN_OPERATOR,
00041                 COMPOUND_STATEMENT,
00042                 METHOD
00043         };


Constructor & Destructor Documentation

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

Generated constructor for class ss_decl2id.

Generated constructor for class ss_decl2id.

Author:
lsg

Definition at line 57 of file ss_decl2ulint_base.g.cc.

Referenced by create().

00058         : ss_decl2ulint_base()
00059 {}


Member Function Documentation

ptr< ss_decl2id > lestes::lang::cplus::sem::ss_decl2id::singleton_instance_get (  )  [static]

The method singleton_instance_get returns the value of the field ss_decl2id::singleton_instance.

Returns:
The value of ss_decl2id::singleton_instance.
Author:
lsg

Definition at line 30 of file ss_decl2ulint_base.g.cc.

References singleton_instance.

00031 {
00032         return singleton_instance;
00033 }

void lestes::lang::cplus::sem::ss_decl2id::singleton_instance_set ( const ptr< ss_decl2id > &  x  )  [static]

The method singleton_instance_set sets the field ss_decl2id::singleton_instance to the given value.

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

Definition at line 39 of file ss_decl2ulint_base.g.cc.

References singleton_instance.

00040 {
00041         ss_decl2id::singleton_instance = x;
00042 }

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

Definition at line 42 of file ss_decl2ulint_base.cc.

References create(), and singleton_instance.

00042                                       {
00043         if ( !singleton_instance ) {
00044                 singleton_instance = ss_decl2id::create();
00045         }
00046         return singleton_instance;
00047 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_namespace_definition ( ptr< ::lestes::lang::cplus::sem::ss_namespace_definition  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 49 of file ss_decl2ulint_base.cc.

References NAMESPACE.

00049                                                                                                 {
00050         return NAMESPACE;
00051 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_object_declaration ( ptr< ::lestes::lang::cplus::sem::ss_object_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 53 of file ss_decl2ulint_base.cc.

References OBJECT.

00053                                                                                             {
00054         return OBJECT;
00055 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_bitfield_declaration ( ptr< ::lestes::lang::cplus::sem::ss_bitfield_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 57 of file ss_decl2ulint_base.cc.

References BITFIELD.

00057                                                                                                 {
00058         return BITFIELD;
00059 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_parameter_declaration ( ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 61 of file ss_decl2ulint_base.cc.

References PARAMETER.

00061                                                                                                   {
00062         return PARAMETER;
00063 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_fake_declaration ( ptr< ::lestes::lang::cplus::sem::ss_fake_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 104 of file ss_decl2ulint_base.cc.

References lassert.

00104                                                                                        {
00105         lassert(false);
00106         return 0;
00107 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_injected_class_declaration ( ptr< ::lestes::lang::cplus::sem::ss_injected_class_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 109 of file ss_decl2ulint_base.cc.

References lassert.

00109                                                                                                            {
00110         lassert(false);
00111         return 0;
00112 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_enum_definition ( ptr< ::lestes::lang::cplus::sem::ss_enum_definition  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 69 of file ss_decl2ulint_base.cc.

References ENUM.

00069                                                                                       {
00070         return ENUM;
00071 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_typedef_definition ( ptr< ::lestes::lang::cplus::sem::ss_typedef_definition  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 73 of file ss_decl2ulint_base.cc.

References TYPEDEF.

00073                                                                                             {
00074         return TYPEDEF;
00075 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_enumerator_declaration ( ptr< ::lestes::lang::cplus::sem::ss_enumerator_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 81 of file ss_decl2ulint_base.cc.

References ENUMERATOR.

00081                                                                                                     {
00082         return ENUMERATOR;
00083 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_structure_declaration ( ptr< ::lestes::lang::cplus::sem::ss_structure_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 65 of file ss_decl2ulint_base.cc.

References TYPE.

00065                                                                                                   {
00066         return TYPE;
00067 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_function_declaration ( ptr< ::lestes::lang::cplus::sem::ss_function_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 77 of file ss_decl2ulint_base.cc.

References FUNCTION.

00077                                                                                                 {
00078         return FUNCTION;
00079 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_method_declaration ( ptr< ::lestes::lang::cplus::sem::ss_method_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 100 of file ss_decl2ulint_base.cc.

References METHOD.

00100                                                                                            {
00101         return METHOD;
00102 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_using_declaration ( ptr< ::lestes::lang::cplus::sem::ss_using_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 86 of file ss_decl2ulint_base.cc.

References USING.

00086                                                                                           {
00087         return USING;
00088 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_compound_stmt_declaration ( ptr< ::lestes::lang::cplus::sem::ss_compound_stmt_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 95 of file ss_decl2ulint_base.cc.

References COMPOUND_STATEMENT.

00095                                                                                                          {
00096         return COMPOUND_STATEMENT;
00097 }

ulint lestes::lang::cplus::sem::ss_decl2id::visit_ss_builtin_operator_declaration ( ptr< ::lestes::lang::cplus::sem::ss_builtin_operator_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_decl2ulint_base.

Definition at line 90 of file ss_decl2ulint_base.cc.

References BUILTIN_OPERATOR.

00090                                                                                                                 {
00091         return BUILTIN_OPERATOR;
00092 }

ptr< ss_decl2id > lestes::lang::cplus::sem::ss_decl2id::create ( void   )  [static]

First generated factory method for class ss_decl2id.

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

Author:
lsg

Definition at line 48 of file ss_decl2ulint_base.g.cc.

References ss_decl2id().

Referenced by instance().

00049 {
00050         return ptr< ss_decl2id > ( new ss_decl2id() );
00051 }

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

for purposes of dumping

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

Definition at line 61 of file ss_decl2ulint_base.g.cc.

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

00062 {
00063         if (!reflection) {
00064                 typedef class_reflection::field_metadata md;
00065                 typedef class_reflection::field_metadata_list mdlist;
00066                 ptr<mdlist> mdl = mdlist::create();
00067                 mdl->push_back( md::create( "singleton_instance", "ss_decl2id" ) );
00068                 reflection = reflection_list::create( ss_decl2ulint_base::reflection_get() );
00069                 reflection->push_back( class_reflection::create( "ss_decl2id", mdl ) );
00070         }
00071         return reflection;
00072 }

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

for purposes of dumping

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

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

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

00075 {
00076         ptr < field_list_list > result = ss_decl2ulint_base::field_values_get();
00077         result->push_back( value_list::create() );
00078         result->back()->push_back( this->singleton_instance );
00079         return result;
00080 }

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

Marking routine for class ss_decl2id.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 87 of file ss_decl2ulint_base.g.cc.

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

00088 {
00089         ss_decl2ulint_base::gc_mark();
00090 }


Member Data Documentation

ptr< ss_decl2id > lestes::lang::cplus::sem::ss_decl2id::singleton_instance = singleton_instance [static, private]

Definition at line 104 of file ss_decl2ulint_base.g.hh.

Referenced by instance(), singleton_instance_get(), and singleton_instance_set().

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

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

Definition at line 105 of file ss_decl2ulint_base.g.hh.

Referenced by reflection_get().


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