lestes::lang::cplus::sem::ss_type2info Class Reference

Visitor providing lightweight type info for certain SS type classes. More...

#include <ss_type2info.g.hh>

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

Inheritance graph
[legend]
List of all members.

Public Types

enum  info_type {
  UNKNOWN, SS_CONST, SS_VOLATILE, SS_CONST_VOLATILE,
  SS_POINTER, SS_MEMBER_POINTER, SS_REFERENCE, SS_PSEUDOREFERENCE,
  SS_FUNCTION
}

Public Member Functions

info_type info_get () const
 The method info_get returns the value of the field ss_type2info::info.
ptr< ss_constss_const_object_get () const
 The method ss_const_object_get returns the value of the field ss_type2info::ss_const_object.
ptr< ss_volatiless_volatile_object_get () const
 The method ss_volatile_object_get returns the value of the field ss_type2info::ss_volatile_object.
void default_ss_struct_base (ptr< ss_struct_base > obj)
 Default visitor method.
void default_ss_builtin_type (ptr< ss_builtin_type > obj)
 Default visitor method.
virtual void visit_ss_const (ptr< ::lestes::lang::cplus::sem::ss_const >)
virtual void visit_ss_volatile (ptr< ::lestes::lang::cplus::sem::ss_volatile >)
virtual void visit_ss_const_volatile (ptr< ::lestes::lang::cplus::sem::ss_const_volatile >)
virtual void visit_ss_reference (ptr< ::lestes::lang::cplus::sem::ss_reference >)
virtual void visit_ss_pseudoreference (ptr< ::lestes::lang::cplus::sem::ss_pseudoreference >)
virtual void visit_ss_pointer (ptr< ::lestes::lang::cplus::sem::ss_pointer >)
virtual void visit_ss_enum (ptr< ::lestes::lang::cplus::sem::ss_enum >)
virtual void visit_ss_array (ptr< ::lestes::lang::cplus::sem::ss_array >)
virtual void visit_ss_member_pointer (ptr< ::lestes::lang::cplus::sem::ss_member_pointer >)
virtual void visit_ss_function (ptr< ::lestes::lang::cplus::sem::ss_function >)
virtual void visit_ss_member_function (ptr< ::lestes::lang::cplus::sem::ss_member_function >)
info_type process (const ptr< ::lestes::lang::cplus::sem::ss_type > &)
 "visit-return" method
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_type2infocreate (info_type a__ss_type2info__info, ptr< ss_const > a__ss_type2info__ss_const_object, ptr< ss_volatile > a__ss_type2info__ss_volatile_object)
 First generated factory method for class ss_type2info.
static ptr< ss_type2infocreate ()
 Second generated factory method for class ss_type2info.

Protected Member Functions

 ss_type2info (info_type a__ss_type2info__info, ptr< ss_const > a__ss_type2info__ss_const_object, ptr< ss_volatile > a__ss_type2info__ss_volatile_object)
 Generated constructor for class ss_type2info.
virtual void gc_mark ()
 Marking routine for class ss_type2info.

Private Attributes

info_type info
 Type information.
srp< ss_constss_const_object
 Const object.
srp< ss_volatiless_volatile_object
 Volatile object.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Visitor providing lightweight type info for certain SS type classes.

Recognizes certain concrete SS classes, substituting typeinfo mechanism. TODO pt Enables cast to the derived type without dynamic_cast.


Member Enumeration Documentation

enum lestes::lang::cplus::sem::ss_type2info::info_type

Enumerator:
UNKNOWN 
SS_CONST 
SS_VOLATILE 
SS_CONST_VOLATILE 
SS_POINTER 
SS_MEMBER_POINTER 
SS_REFERENCE 
SS_PSEUDOREFERENCE 
SS_FUNCTION 


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_type2info::ss_type2info ( info_type  a__ss_type2info__info,
ptr< ss_const a__ss_type2info__ss_const_object,
ptr< ss_volatile a__ss_type2info__ss_volatile_object 
) [protected]

Generated constructor for class ss_type2info.

Generated constructor for class ss_type2info.

Author:
lsg


Member Function Documentation

ss_type2info::info_type lestes::lang::cplus::sem::ss_type2info::info_get (  )  const

The method info_get returns the value of the field ss_type2info::info.

Returns:
The value of ss_type2info::info.
Author:
lsg

ptr< ss_const > lestes::lang::cplus::sem::ss_type2info::ss_const_object_get (  )  const

The method ss_const_object_get returns the value of the field ss_type2info::ss_const_object.

Returns:
The value of ss_type2info::ss_const_object.
Author:
lsg

ptr< ss_volatile > lestes::lang::cplus::sem::ss_type2info::ss_volatile_object_get (  )  const

The method ss_volatile_object_get returns the value of the field ss_type2info::ss_volatile_object.

Returns:
The value of ss_type2info::ss_volatile_object.
Author:
lsg

void lestes::lang::cplus::sem::ss_type2info::default_ss_struct_base ( ptr< ss_struct_base obj  ) 

Default visitor method.

Visitor method for all SS types in ss_struct_base hierarchy.

void lestes::lang::cplus::sem::ss_type2info::default_ss_builtin_type ( ptr< ss_builtin_type obj  ) 

Default visitor method.

Visitor method for all SS types in ss_builtin_type hierarchy.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_const ( ptr< ::lestes::lang::cplus::sem::ss_const  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_volatile ( ptr< ::lestes::lang::cplus::sem::ss_volatile  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_const_volatile ( ptr< ::lestes::lang::cplus::sem::ss_const_volatile  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_reference ( ptr< ::lestes::lang::cplus::sem::ss_reference  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_pseudoreference ( ptr< ::lestes::lang::cplus::sem::ss_pseudoreference  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_pointer ( ptr< ::lestes::lang::cplus::sem::ss_pointer  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_enum ( ptr< ::lestes::lang::cplus::sem::ss_enum  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_array ( ptr< ::lestes::lang::cplus::sem::ss_array  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_member_pointer ( ptr< ::lestes::lang::cplus::sem::ss_member_pointer  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_function ( ptr< ::lestes::lang::cplus::sem::ss_function  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

virtual void lestes::lang::cplus::sem::ss_type2info::visit_ss_member_function ( ptr< ::lestes::lang::cplus::sem::ss_member_function  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type_visitor.

ptr< ss_type2info > lestes::lang::cplus::sem::ss_type2info::create ( info_type  a__ss_type2info__info,
ptr< ss_const a__ss_type2info__ss_const_object,
ptr< ss_volatile a__ss_type2info__ss_volatile_object 
) [static]

First generated factory method for class ss_type2info.

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

Author:
lsg

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

Second generated factory method for class ss_type2info.

This factory method for class ss_type2info uses initializers.

Author:
lsg

ss_type2info::info_type lestes::lang::cplus::sem::ss_type2info::process ( const ptr< ::lestes::lang::cplus::sem::ss_type > &   ) 

"visit-return" method

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

for purposes of dumping

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

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

for purposes of dumping

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

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

Marking routine for class ss_type2info.

Marking routine is used for garbage collection.

Author:
lsg

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


Member Data Documentation

info_type lestes::lang::cplus::sem::ss_type2info::info [private]

Type information.

The visited object's type information.

srp< ss_const > lestes::lang::cplus::sem::ss_type2info::ss_const_object [private]

Const object.

The visited object cast to appropriate type, if instance of class ss_const.

srp< ss_volatile > lestes::lang::cplus::sem::ss_type2info::ss_volatile_object [private]

Volatile object.

The visited object cast to appropriate type, if instance of class ss_volatile.

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

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


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