lestes::lang::cplus::sem::ss_void Class Reference

Base class for built-in void type. More...

#include <ss_type_builtin.g.hh>

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

lestes::lang::cplus::sem::ss_builtin_type lestes::lang::cplus::sem::ss_type lestes::intercode::ss_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

virtual bool is_void ()
 Is this type void?
virtual ptr< ::lestes::std::list<
srp< or_ics_functional > > > 
accept_or_ics_base (ptr< or_ics_base > v)
virtual or_cv_enum accept_or_ics_base_cv (ptr< or_ics_base_cv > v)
virtual ptr< ::lestes::md::types::tm_data_type_baseaccept_ss_type2tm_type_gen_base (ptr< ss_type2tm_type_gen_base > v)
virtual void accept_ss_type_visitor (ptr< ss_type_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_typeinstance ()
 get the class' only instance
static ptr< ss_voidcreate ()
 First generated factory method for class ss_void.

Protected Member Functions

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

Static Private Attributes

static ptr< ss_typethe_instance = the_instance
 holder for the class' only instance
static ptr< reflection_listreflection = reflection

Detailed Description

Base class for built-in void type.

Singleton class.

Definition at line 94 of file ss_type_builtin.g.hh.


Constructor & Destructor Documentation

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

Generated constructor for class ss_void.

Generated constructor for class ss_void.

Author:
lsg

Definition at line 137 of file ss_type_builtin.g.cc.

Referenced by create().

00138         : ss_builtin_type()
00139 {}


Member Function Documentation

bool lestes::lang::cplus::sem::ss_void::is_void (  )  [virtual]

Is this type void?

Used for genarating pi calls. Differentiate between call and callv. This case thus return true. TODO define

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

Definition at line 59 of file ss_type.cc.

00060 {
00061         return true;
00062 }

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

get the class' only instance

Definition at line 46 of file ss_type_builtin.cc.

Referenced by lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::add_ptr_ptr(), lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::instance(), lestes::lang::cplus::sem::sa_namespace_definition::process_named(), lestes::lang::cplus::sem::ss_decl_seq::root_instance(), and lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_void_simple_type_specifier().

ptr<::lestes::std::list< srp< or_ics_functional > > > lestes::lang::cplus::sem::ss_void::accept_or_ics_base ( ptr< or_ics_base v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_builtin_type.

Definition at line 104 of file ss_type_builtin.g.cc.

00105 {
00106         return v->visit_ss_void( this );
00107 }

or_cv_enum lestes::lang::cplus::sem::ss_void::accept_or_ics_base_cv ( ptr< or_ics_base_cv v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_builtin_type.

Definition at line 109 of file ss_type_builtin.g.cc.

00110 {
00111         return v->visit_ss_void( this );
00112 }

ptr<::lestes::md::types::tm_data_type_base > lestes::lang::cplus::sem::ss_void::accept_ss_type2tm_type_gen_base ( ptr< ss_type2tm_type_gen_base v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_builtin_type.

Definition at line 114 of file ss_type_builtin.g.cc.

00115 {
00116         return v->visit_ss_void( this );
00117 }

void lestes::lang::cplus::sem::ss_void::accept_ss_type_visitor ( ptr< ss_type_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_builtin_type.

Definition at line 119 of file ss_type_builtin.g.cc.

00120 {
00121         return v->visit_ss_void( this );
00122 }

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

First generated factory method for class ss_void.

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

Author:
lsg

Reimplemented from lestes::intercode::intercode.

Definition at line 128 of file ss_type_builtin.g.cc.

References ss_void().

00129 {
00130         return ptr< ss_void > ( new ss_void() );
00131 }

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

for purposes of dumping

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

Definition at line 141 of file ss_type_builtin.g.cc.

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

00142 {
00143         if (!reflection) {
00144                 typedef class_reflection::field_metadata md;
00145                 typedef class_reflection::field_metadata_list mdlist;
00146                 ptr<mdlist> mdl = mdlist::create();
00147                 mdl->push_back( md::create( "the_instance", "ss_type" ) );
00148                 reflection = reflection_list::create( ss_builtin_type::reflection_get() );
00149                 reflection->push_back( class_reflection::create( "ss_void", mdl ) );
00150         }
00151         return reflection;
00152 }

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

for purposes of dumping

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

Definition at line 154 of file ss_type_builtin.g.cc.

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

00155 {
00156         ptr < field_list_list > result = ss_builtin_type::field_values_get();
00157         result->push_back( value_list::create() );
00158         result->back()->push_back( this->the_instance );
00159         return result;
00160 }

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

Marking routine for class ss_void.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 167 of file ss_type_builtin.g.cc.

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

00168 {
00169         ss_builtin_type::gc_mark();
00170 }


Member Data Documentation

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

holder for the class' only instance

Definition at line 137 of file ss_type_builtin.g.hh.

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

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

Definition at line 138 of file ss_type_builtin.g.hh.

Referenced by reflection_get().


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