lestes::lang::cplus::sem::as_declaration_specifier2properties Class Reference

Declaration specifier visitor. More...

#include <as_declaration_specifier2properties.g.hh>

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

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

Public Types

enum  type_specifier_type {
  TS_NONE, TS_OTHER, TS_CHAR, TS_INT,
  TS_DOUBLE
}
 The type of type_specifier field. More...

Public Member Functions

ptr< ::lestes::lang::cplus::sem::ss_typeother_type_get () const
 The method other_type_get returns the value of the field as_declaration_specifier2properties::other_type.
type_specifier_type type_specifier_get () const
 The method type_specifier_get returns the value of the field as_declaration_specifier2properties::type_specifier.
ss_storage_class::type storage_class_get () const
 The method storage_class_get returns the value of the field as_declaration_specifier2properties::storage_class.
bool explicit_flag_get () const
 The method explicit_flag_get returns the value of the field as_declaration_specifier2properties::explicit_flag.
bool inline_flag_get () const
 The method inline_flag_get returns the value of the field as_declaration_specifier2properties::inline_flag.
bool virtual_flag_get () const
 The method virtual_flag_get returns the value of the field as_declaration_specifier2properties::virtual_flag.
bool friend_flag_get () const
 The method friend_flag_get returns the value of the field as_declaration_specifier2properties::friend_flag.
bool const_flag_get () const
 The method const_flag_get returns the value of the field as_declaration_specifier2properties::const_flag.
bool volatile_flag_get () const
 The method volatile_flag_get returns the value of the field as_declaration_specifier2properties::volatile_flag.
bool signed_flag_get () const
 The method signed_flag_get returns the value of the field as_declaration_specifier2properties::signed_flag.
bool unsigned_flag_get () const
 The method unsigned_flag_get returns the value of the field as_declaration_specifier2properties::unsigned_flag.
bool short_flag_get () const
 The method short_flag_get returns the value of the field as_declaration_specifier2properties::short_flag.
bool long_flag_get () const
 The method long_flag_get returns the value of the field as_declaration_specifier2properties::long_flag.
void process (ptr< ::lestes::lang::cplus::sem::as_declaration_specifier > specifier)
 Processes the declaration specifier.
virtual void visit_as_function_specifier_inline (ptr< ::lestes::lang::cplus::sem::as_function_specifier_inline >)
virtual void visit_as_function_specifier_virtual (ptr< ::lestes::lang::cplus::sem::as_function_specifier_virtual >)
virtual void visit_as_function_specifier_explicit (ptr< ::lestes::lang::cplus::sem::as_function_specifier_explicit >)
virtual void visit_as_friend_specifier (ptr< ::lestes::lang::cplus::sem::as_friend_specifier >)
virtual void visit_as_typedef_specifier (ptr< ::lestes::lang::cplus::sem::as_typedef_specifier >)
virtual void visit_as_storage_class_specifier_auto (ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_auto >)
virtual void visit_as_storage_class_specifier_register (ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_register >)
virtual void visit_as_storage_class_specifier_static (ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_static >)
virtual void visit_as_storage_class_specifier_extern (ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_extern >)
virtual void visit_as_storage_class_specifier_mutable (ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_mutable >)
virtual void visit_as_enumeration_specifier (ptr< ::lestes::lang::cplus::sem::as_enumeration_specifier >)
virtual void visit_as_char_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_char_simple_type_specifier >)
virtual void visit_as_wchar_t_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_wchar_t_simple_type_specifier >)
virtual void visit_as_bool_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_bool_simple_type_specifier >)
virtual void visit_as_short_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_short_simple_type_specifier >)
virtual void visit_as_int_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_int_simple_type_specifier >)
virtual void visit_as_long_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_long_simple_type_specifier >)
virtual void visit_as_signed_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_signed_simple_type_specifier >)
virtual void visit_as_unsigned_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_unsigned_simple_type_specifier >)
virtual void visit_as_float_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_float_simple_type_specifier >)
virtual void visit_as_double_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_double_simple_type_specifier >)
virtual void visit_as_void_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_void_simple_type_specifier >)
virtual void visit_as_cv_qualifier_const (ptr< ::lestes::lang::cplus::sem::as_cv_qualifier_const >)
virtual void visit_as_cv_qualifier_volatile (ptr< ::lestes::lang::cplus::sem::as_cv_qualifier_volatile >)
virtual void visit_as_cv_qualifier_restrict (ptr< ::lestes::lang::cplus::sem::as_cv_qualifier_restrict >)
virtual void visit_as_named_simple_type_specifier (ptr< ::lestes::lang::cplus::sem::as_named_simple_type_specifier >)
virtual void visit_as_elaborated_type_specifier_typename (ptr< ::lestes::lang::cplus::sem::as_elaborated_type_specifier_typename >)
virtual void visit_as_elaborated_type_specifier_class_key (ptr< ::lestes::lang::cplus::sem::as_elaborated_type_specifier_class_key >)
virtual void visit_as_elaborated_type_specifier_enum (ptr< ::lestes::lang::cplus::sem::as_elaborated_type_specifier_enum >)
virtual void visit_as_class_specifier (ptr< ::lestes::lang::cplus::sem::as_class_specifier >)
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_declaration_specifier2propertiescreate (ptr< ::lestes::lang::cplus::sem::ss_type > a__as_declaration_specifier2properties__other_type, type_specifier_type a__as_declaration_specifier2properties__type_specifier, ss_storage_class::type a__as_declaration_specifier2properties__storage_class, bool a__as_declaration_specifier2properties__explicit_flag, bool a__as_declaration_specifier2properties__inline_flag, bool a__as_declaration_specifier2properties__virtual_flag, bool a__as_declaration_specifier2properties__friend_flag, bool a__as_declaration_specifier2properties__const_flag, bool a__as_declaration_specifier2properties__volatile_flag, bool a__as_declaration_specifier2properties__signed_flag, bool a__as_declaration_specifier2properties__unsigned_flag, bool a__as_declaration_specifier2properties__short_flag, bool a__as_declaration_specifier2properties__long_flag)
 First generated factory method for class as_declaration_specifier2properties.
static ptr< as_declaration_specifier2propertiescreate ()
 Second generated factory method for class as_declaration_specifier2properties.

Protected Member Functions

 as_declaration_specifier2properties (ptr< ::lestes::lang::cplus::sem::ss_type > a__as_declaration_specifier2properties__other_type, type_specifier_type a__as_declaration_specifier2properties__type_specifier, ss_storage_class::type a__as_declaration_specifier2properties__storage_class, bool a__as_declaration_specifier2properties__explicit_flag, bool a__as_declaration_specifier2properties__inline_flag, bool a__as_declaration_specifier2properties__virtual_flag, bool a__as_declaration_specifier2properties__friend_flag, bool a__as_declaration_specifier2properties__const_flag, bool a__as_declaration_specifier2properties__volatile_flag, bool a__as_declaration_specifier2properties__signed_flag, bool a__as_declaration_specifier2properties__unsigned_flag, bool a__as_declaration_specifier2properties__short_flag, bool a__as_declaration_specifier2properties__long_flag)
 Generated constructor for class as_declaration_specifier2properties.
virtual void gc_mark ()
 Marking routine for class as_declaration_specifier2properties.

Private Attributes

srp< ::lestes::lang::cplus::sem::ss_typeother_type
 The other ss_type, valid when type_specifier is TS_OTHER.
type_specifier_type type_specifier
 The type specifier kind.
ss_storage_class::type storage_class
 The storage class (including typedef).
bool explicit_flag
 The explicit specifier flag.
bool inline_flag
 The inline specifier flag.
bool virtual_flag
 The virtual specifier flag.
bool friend_flag
 The friend specifier flag.
bool const_flag
 Const qualifier flag.
bool volatile_flag
 Volatile qualifier flag.
bool signed_flag
 Signed specifier flag.
bool unsigned_flag
 Unsigned specifier flag.
bool short_flag
 Type length flag.
bool long_flag
 Type length flag.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Declaration specifier visitor.

Gathers information from visited declaration specifiers into main ss_type variant and flags.

Definition at line 54 of file as_declaration_specifier2properties.g.hh.


Member Enumeration Documentation

enum lestes::lang::cplus::sem::as_declaration_specifier2properties::type_specifier_type

The type of type_specifier field.

Enumerator:
TS_NONE 
TS_OTHER 
TS_CHAR 
TS_INT 
TS_DOUBLE 

Definition at line 57 of file as_declaration_specifier2properties.g.hh.

00057                                  {
00058                 TS_NONE,
00059                 TS_OTHER,
00060                 TS_CHAR,
00061                 TS_INT,
00062                 TS_DOUBLE
00063         };


Constructor & Destructor Documentation

lestes::lang::cplus::sem::as_declaration_specifier2properties::as_declaration_specifier2properties ( ptr< ::lestes::lang::cplus::sem::ss_type a__as_declaration_specifier2properties__other_type,
type_specifier_type  a__as_declaration_specifier2properties__type_specifier,
ss_storage_class::type  a__as_declaration_specifier2properties__storage_class,
bool  a__as_declaration_specifier2properties__explicit_flag,
bool  a__as_declaration_specifier2properties__inline_flag,
bool  a__as_declaration_specifier2properties__virtual_flag,
bool  a__as_declaration_specifier2properties__friend_flag,
bool  a__as_declaration_specifier2properties__const_flag,
bool  a__as_declaration_specifier2properties__volatile_flag,
bool  a__as_declaration_specifier2properties__signed_flag,
bool  a__as_declaration_specifier2properties__unsigned_flag,
bool  a__as_declaration_specifier2properties__short_flag,
bool  a__as_declaration_specifier2properties__long_flag 
) [protected]

Generated constructor for class as_declaration_specifier2properties.

Generated constructor for class as_declaration_specifier2properties.

Author:
lsg

Definition at line 191 of file as_declaration_specifier2properties.g.cc.

Referenced by create().

00204         : as_declaration_specifier_visitor(), other_type(a__as_declaration_specifier2properties__other_type), type_specifier(a__as_declaration_specifier2properties__type_specifier), storage_class(a__as_declaration_specifier2properties__storage_class), explicit_flag(a__as_declaration_specifier2properties__explicit_flag), inline_flag(a__as_declaration_specifier2properties__inline_flag), virtual_flag(a__as_declaration_specifier2properties__virtual_flag), friend_flag(a__as_declaration_specifier2properties__friend_flag), const_flag(a__as_declaration_specifier2properties__const_flag), volatile_flag(a__as_declaration_specifier2properties__volatile_flag), signed_flag(a__as_declaration_specifier2properties__signed_flag), unsigned_flag(a__as_declaration_specifier2properties__unsigned_flag), short_flag(a__as_declaration_specifier2properties__short_flag), long_flag(a__as_declaration_specifier2properties__long_flag)
00205 {}


Member Function Documentation

ptr<::lestes::lang::cplus::sem::ss_type > lestes::lang::cplus::sem::as_declaration_specifier2properties::other_type_get (  )  const

The method other_type_get returns the value of the field as_declaration_specifier2properties::other_type.

Returns:
The value of as_declaration_specifier2properties::other_type.
Author:
lsg

Definition at line 32 of file as_declaration_specifier2properties.g.cc.

References other_type.

00033 {
00034         return other_type;
00035 }

as_declaration_specifier2properties::type_specifier_type lestes::lang::cplus::sem::as_declaration_specifier2properties::type_specifier_get (  )  const

The method type_specifier_get returns the value of the field as_declaration_specifier2properties::type_specifier.

Returns:
The value of as_declaration_specifier2properties::type_specifier.
Author:
lsg

Definition at line 41 of file as_declaration_specifier2properties.g.cc.

References type_specifier.

00042 {
00043         return type_specifier;
00044 }

ss_storage_class::type lestes::lang::cplus::sem::as_declaration_specifier2properties::storage_class_get (  )  const

The method storage_class_get returns the value of the field as_declaration_specifier2properties::storage_class.

Returns:
The value of as_declaration_specifier2properties::storage_class.
Author:
lsg

Definition at line 50 of file as_declaration_specifier2properties.g.cc.

References storage_class.

00051 {
00052         return storage_class;
00053 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::explicit_flag_get (  )  const

The method explicit_flag_get returns the value of the field as_declaration_specifier2properties::explicit_flag.

Returns:
The value of as_declaration_specifier2properties::explicit_flag.
Author:
lsg

Definition at line 59 of file as_declaration_specifier2properties.g.cc.

References explicit_flag.

00060 {
00061         return explicit_flag;
00062 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::inline_flag_get (  )  const

The method inline_flag_get returns the value of the field as_declaration_specifier2properties::inline_flag.

Returns:
The value of as_declaration_specifier2properties::inline_flag.
Author:
lsg

Definition at line 68 of file as_declaration_specifier2properties.g.cc.

References inline_flag.

00069 {
00070         return inline_flag;
00071 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::virtual_flag_get (  )  const

The method virtual_flag_get returns the value of the field as_declaration_specifier2properties::virtual_flag.

Returns:
The value of as_declaration_specifier2properties::virtual_flag.
Author:
lsg

Definition at line 77 of file as_declaration_specifier2properties.g.cc.

References virtual_flag.

00078 {
00079         return virtual_flag;
00080 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::friend_flag_get (  )  const

The method friend_flag_get returns the value of the field as_declaration_specifier2properties::friend_flag.

Returns:
The value of as_declaration_specifier2properties::friend_flag.
Author:
lsg

Definition at line 86 of file as_declaration_specifier2properties.g.cc.

References friend_flag.

00087 {
00088         return friend_flag;
00089 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::const_flag_get (  )  const

The method const_flag_get returns the value of the field as_declaration_specifier2properties::const_flag.

Returns:
The value of as_declaration_specifier2properties::const_flag.
Author:
lsg

Definition at line 95 of file as_declaration_specifier2properties.g.cc.

References const_flag.

00096 {
00097         return const_flag;
00098 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::volatile_flag_get (  )  const

The method volatile_flag_get returns the value of the field as_declaration_specifier2properties::volatile_flag.

Returns:
The value of as_declaration_specifier2properties::volatile_flag.
Author:
lsg

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

References volatile_flag.

00105 {
00106         return volatile_flag;
00107 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::signed_flag_get (  )  const

The method signed_flag_get returns the value of the field as_declaration_specifier2properties::signed_flag.

Returns:
The value of as_declaration_specifier2properties::signed_flag.
Author:
lsg

Definition at line 113 of file as_declaration_specifier2properties.g.cc.

References signed_flag.

00114 {
00115         return signed_flag;
00116 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::unsigned_flag_get (  )  const

The method unsigned_flag_get returns the value of the field as_declaration_specifier2properties::unsigned_flag.

Returns:
The value of as_declaration_specifier2properties::unsigned_flag.
Author:
lsg

Definition at line 122 of file as_declaration_specifier2properties.g.cc.

References unsigned_flag.

00123 {
00124         return unsigned_flag;
00125 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::short_flag_get (  )  const

The method short_flag_get returns the value of the field as_declaration_specifier2properties::short_flag.

Returns:
The value of as_declaration_specifier2properties::short_flag.
Author:
lsg

Definition at line 131 of file as_declaration_specifier2properties.g.cc.

References short_flag.

00132 {
00133         return short_flag;
00134 }

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::long_flag_get (  )  const

The method long_flag_get returns the value of the field as_declaration_specifier2properties::long_flag.

Returns:
The value of as_declaration_specifier2properties::long_flag.
Author:
lsg

Definition at line 140 of file as_declaration_specifier2properties.g.cc.

References long_flag.

00141 {
00142         return long_flag;
00143 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::process ( ptr< ::lestes::lang::cplus::sem::as_declaration_specifier specifier  ) 

Processes the declaration specifier.

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_function_specifier_inline ( ptr< ::lestes::lang::cplus::sem::as_function_specifier_inline specifier  )  [virtual]

Visits instance of as_function_specifier_inline.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 64 of file as_declaration_specifier2properties.cc.

References inline_flag, and lassert.

00066 {
00067         lassert(specifier); 
00068         if (inline_flag) {
00069                 // TODO pt report error: duplicate inline
00070         }
00071         inline_flag = true;
00072 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_function_specifier_virtual ( ptr< ::lestes::lang::cplus::sem::as_function_specifier_virtual specifier  )  [virtual]

Visits instance of as_function_specifier_virtual.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 78 of file as_declaration_specifier2properties.cc.

References lassert, and virtual_flag.

00080 {
00081         lassert(specifier); 
00082         if (virtual_flag) {
00083                 // TODO pt report error: duplicat virtual
00084         }
00085         virtual_flag = true;
00086 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_function_specifier_explicit ( ptr< ::lestes::lang::cplus::sem::as_function_specifier_explicit specifier  )  [virtual]

Visits instance of as_function_specifier_explicit.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 92 of file as_declaration_specifier2properties.cc.

References explicit_flag, and lassert.

00094 {
00095         lassert(specifier); 
00096         if (explicit_flag) {
00097                 // TODO pt report error: duplicate explicit
00098         }
00099         explicit_flag = true;
00100 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_friend_specifier ( ptr< ::lestes::lang::cplus::sem::as_friend_specifier specifier  )  [virtual]

Visits instance of as_friend_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 106 of file as_declaration_specifier2properties.cc.

References friend_flag, and lassert.

00108 {
00109         lassert(specifier); 
00110         if (friend_flag) {
00111                 // TODO pt report error: duplicate friend
00112         }
00113         friend_flag = true;
00114 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_typedef_specifier ( ptr< ::lestes::lang::cplus::sem::as_typedef_specifier specifier  )  [virtual]

Visits instance of as_typedef_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 120 of file as_declaration_specifier2properties.cc.

References lassert, lestes::lang::cplus::sem::ss_storage_class::ST_NONE, lestes::lang::cplus::sem::ss_storage_class::ST_TYPEDEF, and storage_class.

00122 {
00123         lassert(specifier); 
00124         if (storage_class == ss_storage_class::ST_NONE) {
00125                 storage_class = ss_storage_class::ST_TYPEDEF;
00126         } else {
00127                 // TODO pt report errors
00128         }
00129 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_storage_class_specifier_auto ( ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_auto specifier  )  [virtual]

Visits instance of as_storage_class_specifier_auto.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 135 of file as_declaration_specifier2properties.cc.

References lassert, lestes::lang::cplus::sem::ss_storage_class::ST_AUTO, lestes::lang::cplus::sem::ss_storage_class::ST_NONE, and storage_class.

00137 {
00138         lassert(specifier); 
00139         if (storage_class == ss_storage_class::ST_NONE) {
00140                 storage_class = ss_storage_class::ST_AUTO;
00141         } else {
00142                 // TODO pt report error
00143         }
00144 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_storage_class_specifier_register ( ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_register specifier  )  [virtual]

Visits instance of as_storage_class_specifier_register.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 150 of file as_declaration_specifier2properties.cc.

References lassert, lestes::lang::cplus::sem::ss_storage_class::ST_NONE, lestes::lang::cplus::sem::ss_storage_class::ST_REGISTER, and storage_class.

00152 {
00153         lassert(specifier); 
00154         if (storage_class == ss_storage_class::ST_NONE) {
00155                 storage_class = ss_storage_class::ST_REGISTER;
00156         } else {
00157                 // TODO pt report error
00158         }
00159 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_storage_class_specifier_static ( ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_static specifier  )  [virtual]

Visits instance of as_storage_class_specifier_static.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 165 of file as_declaration_specifier2properties.cc.

References lassert, lestes::lang::cplus::sem::ss_storage_class::ST_NONE, lestes::lang::cplus::sem::ss_storage_class::ST_STATIC, and storage_class.

00167 {
00168         lassert(specifier); 
00169         if (storage_class == ss_storage_class::ST_NONE) {
00170                 storage_class = ss_storage_class::ST_STATIC;
00171         } else {
00172                 // TODO pt report error
00173         }
00174 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_storage_class_specifier_extern ( ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_extern specifier  )  [virtual]

Visits instance of as_storage_class_specifier_extern.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 180 of file as_declaration_specifier2properties.cc.

References lassert, lestes::lang::cplus::sem::ss_storage_class::ST_EXTERN, lestes::lang::cplus::sem::ss_storage_class::ST_NONE, and storage_class.

00182 {
00183         lassert(specifier); 
00184         if (storage_class == ss_storage_class::ST_NONE) {
00185                 storage_class = ss_storage_class::ST_EXTERN;
00186         } else {
00187                 // TODO pt report error
00188         }
00189 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_storage_class_specifier_mutable ( ptr< ::lestes::lang::cplus::sem::as_storage_class_specifier_mutable specifier  )  [virtual]

Visits instance of as_storage_class_specifier_mutable.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 195 of file as_declaration_specifier2properties.cc.

References lassert, lestes::lang::cplus::sem::ss_storage_class::ST_MUTABLE, lestes::lang::cplus::sem::ss_storage_class::ST_NONE, and storage_class.

00197 {
00198         lassert(specifier); 
00199         if (storage_class == ss_storage_class::ST_NONE) {
00200                 storage_class = ss_storage_class::ST_MUTABLE;
00201         } else {
00202                 // TODO pt report error
00203         }
00204 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_enumeration_specifier ( ptr< ::lestes::lang::cplus::sem::as_enumeration_specifier specifier  )  [virtual]

Visits instance of as_enumeration_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 210 of file as_declaration_specifier2properties.cc.

References lestes::lang::cplus::sem::ss_type_wchar_t::instance(), lassert, other_type, TS_NONE, TS_OTHER, and type_specifier.

00212 {
00213         lassert(specifier); 
00214         if (type_specifier == TS_NONE) {
00215                 // TODO pt lookup
00216                 //other_type = lookup(specifier->name_get());
00217                 other_type = ss_type_wchar_t::instance(); // temporarily wchar
00218                 type_specifier = TS_OTHER;
00219         } else {
00220                 // TODO pt report error: multiple types in declaration 
00221         }
00222 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_char_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_char_simple_type_specifier specifier  )  [virtual]

Visits instance of as_char_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 228 of file as_declaration_specifier2properties.cc.

References lassert, TS_CHAR, TS_NONE, and type_specifier.

00230 {
00231         lassert(specifier); 
00232         if (type_specifier == TS_NONE) {
00233                 type_specifier = TS_CHAR;
00234         } else {
00235                 // TODO pt report error: multiple types
00236         }
00237 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_wchar_t_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_wchar_t_simple_type_specifier specifier  )  [virtual]

Visits instance of as_wchar_t_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 243 of file as_declaration_specifier2properties.cc.

References lestes::lang::cplus::sem::ss_type_wchar_t::instance(), lassert, other_type, TS_NONE, TS_OTHER, and type_specifier.

00245 {
00246         lassert(specifier); 
00247         if (type_specifier == TS_NONE) {
00248                 type_specifier = TS_OTHER;
00249                 other_type = ss_type_wchar_t::instance();
00250         } else {
00251                 // TODO pt report error: multiple types
00252         }
00253 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_bool_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_bool_simple_type_specifier specifier  )  [virtual]

Visits instance of as_bool_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 259 of file as_declaration_specifier2properties.cc.

References lestes::lang::cplus::sem::ss_bool::instance(), lassert, other_type, TS_NONE, TS_OTHER, and type_specifier.

00261 {
00262         lassert(specifier); 
00263         if (type_specifier == TS_NONE) {
00264                 type_specifier = TS_OTHER;
00265                 other_type = ss_bool::instance();
00266         } else {
00267                 // TODO pt report error: multiple types
00268         }
00269 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_short_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_short_simple_type_specifier specifier  )  [virtual]

Visits instance of as_short_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 337 of file as_declaration_specifier2properties.cc.

References lassert, long_flag, and short_flag.

00339 {
00340         lassert(specifier); 
00341         if (short_flag) {
00342                 // TODO pt report error
00343         } else if (long_flag) {
00344                 // TODO pt report error: short and long
00345         } else {
00346                 short_flag = true;
00347         }
00348 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_int_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_int_simple_type_specifier specifier  )  [virtual]

Visits instance of as_int_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 275 of file as_declaration_specifier2properties.cc.

References lassert, TS_INT, TS_NONE, and type_specifier.

00277 {
00278         lassert(specifier); 
00279         if (type_specifier == TS_NONE) {
00280                 type_specifier = TS_INT;
00281         } else {
00282                 // TODO pt report error: multiple types
00283         }
00284 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_long_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_long_simple_type_specifier specifier  )  [virtual]

Visits instance of as_long_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 354 of file as_declaration_specifier2properties.cc.

References lassert, long_flag, and short_flag.

00356 {
00357         lassert(specifier); 
00358         if (long_flag) {
00359                 // TODO pt report error
00360         } else if (short_flag) {
00361                 // TODO pt report error: short and long
00362         } else {
00363                 long_flag = true;
00364         }
00365 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_signed_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_signed_simple_type_specifier specifier  )  [virtual]

Visits instance of as_signed_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 371 of file as_declaration_specifier2properties.cc.

References lassert, signed_flag, and unsigned_flag.

00373 {
00374         lassert(specifier); 
00375         if (signed_flag) {
00376                 // TODO pt report error
00377         } else if (unsigned_flag) {
00378                 // TODO pt report error: signed and unsigned together
00379         } else {
00380                 signed_flag = true;
00381         }
00382 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_unsigned_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_unsigned_simple_type_specifier specifier  )  [virtual]

Visits instance of as_unsigned_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 388 of file as_declaration_specifier2properties.cc.

References lassert, signed_flag, and unsigned_flag.

00390 {
00391         lassert(specifier); 
00392         if (unsigned_flag) {
00393                 // TODO pt report error
00394         } else if (signed_flag) {
00395                 // TODO pt report error: signed and unsigned together
00396         } else {
00397                 unsigned_flag = true;
00398         }
00399 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_float_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_float_simple_type_specifier specifier  )  [virtual]

Visits instance of as_float_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 290 of file as_declaration_specifier2properties.cc.

References lestes::lang::cplus::sem::ss_type_float::instance(), lassert, other_type, TS_NONE, TS_OTHER, and type_specifier.

00292 {
00293         lassert(specifier); 
00294         if (type_specifier == TS_NONE) {
00295                 type_specifier = TS_OTHER;
00296                 other_type = ss_type_float::instance();
00297         } else {
00298                 // TODO pt report error: multiple types
00299         }
00300 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_double_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_double_simple_type_specifier specifier  )  [virtual]

Visits instance of as_double_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 306 of file as_declaration_specifier2properties.cc.

References lassert, TS_DOUBLE, TS_NONE, and type_specifier.

00308 {
00309         lassert(specifier); 
00310         if (type_specifier == TS_NONE) {
00311                 type_specifier = TS_DOUBLE;
00312         } else {
00313                 // TODO pt report error: multiple types
00314         }
00315 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_void_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_void_simple_type_specifier specifier  )  [virtual]

Visits instance of as_void_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 321 of file as_declaration_specifier2properties.cc.

References lestes::lang::cplus::sem::ss_void::instance(), lassert, other_type, TS_NONE, TS_OTHER, and type_specifier.

00323 {
00324         lassert(specifier); 
00325         if (type_specifier == TS_NONE) {
00326                 type_specifier = TS_OTHER;
00327                 other_type = ss_void::instance();
00328         } else {
00329                 // TODO pt report error: multiple types
00330         }
00331 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_cv_qualifier_const ( ptr< ::lestes::lang::cplus::sem::as_cv_qualifier_const specifier  )  [virtual]

Visits instance of as_cv_qualifier_const.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 405 of file as_declaration_specifier2properties.cc.

References const_flag, and lassert.

00407 {
00408         lassert(specifier); 
00409         if (const_flag) {
00410                 // TODO pt report error
00411         }
00412         const_flag = true;
00413 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_cv_qualifier_volatile ( ptr< ::lestes::lang::cplus::sem::as_cv_qualifier_volatile specifier  )  [virtual]

Visits instance of as_cv_qualifier_volatile.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 419 of file as_declaration_specifier2properties.cc.

References lassert, and volatile_flag.

00421 {
00422         lassert(specifier); 
00423         if (volatile_flag) {
00424                 // TODO pt report error
00425         }
00426         volatile_flag = true;
00427 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_cv_qualifier_restrict ( ptr< ::lestes::lang::cplus::sem::as_cv_qualifier_restrict specifier  )  [virtual]

Visits instance of as_cv_qualifier_restrict.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 433 of file as_declaration_specifier2properties.cc.

References lassert, and lassert2.

00435 {
00436         lassert2(false,"restrict is not C++");
00437         lassert(specifier); 
00438 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_named_simple_type_specifier ( ptr< ::lestes::lang::cplus::sem::as_named_simple_type_specifier specifier  )  [virtual]

Visits instance of as_named_simple_type_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 444 of file as_declaration_specifier2properties.cc.

References lestes::lang::cplus::sem::as_id_to_declaration_set::instance(), lassert, other_type, TS_NONE, TS_OTHER, and type_specifier.

00446 {
00447         lassert(specifier); 
00448         if (type_specifier == TS_NONE) {
00449            ptr<declaration_set_type> decls =
00450                    as_id_to_declaration_set::instance()->process(specifier->name_get()->identifier_get() );
00451            lassert(decls && decls->size() == 1);
00452 
00453                 other_type = (*decls->begin())->type_get();
00454       
00455       type_specifier = TS_OTHER;
00456         } else {
00457                 // TODO pt report error: multiple types in declaration 
00458         } 
00459 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_elaborated_type_specifier_typename ( ptr< ::lestes::lang::cplus::sem::as_elaborated_type_specifier_typename specifier  )  [virtual]

Visits instance of as_elaborated_type_specifier_typename.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 465 of file as_declaration_specifier2properties.cc.

References lassert, and lassert2.

00467 {
00468         lassert2(false,"typename is unsupported");
00469         lassert(specifier); 
00470 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_elaborated_type_specifier_class_key ( ptr< ::lestes::lang::cplus::sem::as_elaborated_type_specifier_class_key specifier  )  [virtual]

Visits instance of as_elaborated_type_specifier_class_key.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 476 of file as_declaration_specifier2properties.cc.

References lestes::lang::cplus::sem::as_id_to_declaration_set::instance(), lassert, other_type, TS_NONE, TS_OTHER, and type_specifier.

00478 {
00479         lassert(specifier); 
00480         if (type_specifier == TS_NONE) {
00481            ptr<declaration_set_type> decls =
00482                    as_id_to_declaration_set::instance()->process(specifier->name_get()->identifier_get() );
00483                 // TODO pt add the invisible forward for the class, if the name was not found
00484            lassert(decls && decls->size() == 1);
00485 
00486                 other_type = (*decls->begin())->type_get();
00487       
00488       type_specifier = TS_OTHER;
00489         } else {
00490                 // TODO pt report error: multiple types in declaration 
00491         } 
00492 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_elaborated_type_specifier_enum ( ptr< ::lestes::lang::cplus::sem::as_elaborated_type_specifier_enum specifier  )  [virtual]

Visits instance of as_elaborated_type_specifier_enum.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 498 of file as_declaration_specifier2properties.cc.

References lestes::lang::cplus::sem::as_id_to_declaration_set::instance(), lassert, other_type, TS_NONE, TS_OTHER, and type_specifier.

00500 {
00501         lassert(specifier); 
00502         if (type_specifier == TS_NONE) {
00503            ptr<declaration_set_type> decls =
00504                    as_id_to_declaration_set::instance()->process(specifier->name_get()->identifier_get() );
00505                 // TODO pt add the invisible forward for the enum if the name was not found
00506            lassert(decls && decls->size() == 1);
00507 
00508                 other_type = (*decls->begin())->type_get();
00509       
00510       type_specifier = TS_OTHER;
00511         } else {
00512                 // TODO pt report error: multiple types in declaration 
00513         } 
00514 }

void lestes::lang::cplus::sem::as_declaration_specifier2properties::visit_as_class_specifier ( ptr< ::lestes::lang::cplus::sem::as_class_specifier specifier  )  [virtual]

Visits instance of as_class_specifier.

Parameters:
specifier The instance to visit.

Implements lestes::lang::cplus::sem::as_declaration_specifier_visitor.

Definition at line 520 of file as_declaration_specifier2properties.cc.

References lestes::lang::cplus::sem::ss_type_wchar_t::instance(), lassert, other_type, TS_NONE, TS_OTHER, and type_specifier.

00522 {
00523         lassert(specifier); 
00524         if (type_specifier == TS_NONE) {
00525                 // TODO pt lookup
00526                 //other_type = lookup(specifier->name_get(),specifier->key_get()); 
00527                 // TODO pt rename wchar_t to wchar
00528                 other_type = ss_type_wchar_t::instance(); // temporarily wchar
00529       type_specifier = TS_OTHER;
00530         } else {
00531                 // TODO pt report error: multiple types in declaration 
00532         } 
00533 }

ptr< as_declaration_specifier2properties > lestes::lang::cplus::sem::as_declaration_specifier2properties::create ( ptr< ::lestes::lang::cplus::sem::ss_type a__as_declaration_specifier2properties__other_type,
type_specifier_type  a__as_declaration_specifier2properties__type_specifier,
ss_storage_class::type  a__as_declaration_specifier2properties__storage_class,
bool  a__as_declaration_specifier2properties__explicit_flag,
bool  a__as_declaration_specifier2properties__inline_flag,
bool  a__as_declaration_specifier2properties__virtual_flag,
bool  a__as_declaration_specifier2properties__friend_flag,
bool  a__as_declaration_specifier2properties__const_flag,
bool  a__as_declaration_specifier2properties__volatile_flag,
bool  a__as_declaration_specifier2properties__signed_flag,
bool  a__as_declaration_specifier2properties__unsigned_flag,
bool  a__as_declaration_specifier2properties__short_flag,
bool  a__as_declaration_specifier2properties__long_flag 
) [static]

First generated factory method for class as_declaration_specifier2properties.

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

Author:
lsg

Definition at line 149 of file as_declaration_specifier2properties.g.cc.

References as_declaration_specifier2properties().

00162 {
00163         return ptr< as_declaration_specifier2properties > ( new as_declaration_specifier2properties(a__as_declaration_specifier2properties__other_type,
00164                 a__as_declaration_specifier2properties__type_specifier,
00165                 a__as_declaration_specifier2properties__storage_class,
00166                 a__as_declaration_specifier2properties__explicit_flag,
00167                 a__as_declaration_specifier2properties__inline_flag,
00168                 a__as_declaration_specifier2properties__virtual_flag,
00169                 a__as_declaration_specifier2properties__friend_flag,
00170                 a__as_declaration_specifier2properties__const_flag,
00171                 a__as_declaration_specifier2properties__volatile_flag,
00172                 a__as_declaration_specifier2properties__signed_flag,
00173                 a__as_declaration_specifier2properties__unsigned_flag,
00174                 a__as_declaration_specifier2properties__short_flag,
00175                 a__as_declaration_specifier2properties__long_flag) );
00176 }

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

Second generated factory method for class as_declaration_specifier2properties.

This factory method for class as_declaration_specifier2properties uses initializers.

Author:
lsg

Definition at line 182 of file as_declaration_specifier2properties.g.cc.

References as_declaration_specifier2properties(), lestes::lang::cplus::sem::ss_storage_class::ST_NONE, and TS_NONE.

00183 {
00184         return ptr< as_declaration_specifier2properties > ( new as_declaration_specifier2properties(NULL, TS_NONE, ss_storage_class::ST_NONE, false, false, false, false, false, false, false, false, false, false) );
00185 }

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

for purposes of dumping

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

Definition at line 207 of file as_declaration_specifier2properties.g.cc.

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

00208 {
00209         if (!reflection) {
00210                 typedef class_reflection::field_metadata md;
00211                 typedef class_reflection::field_metadata_list mdlist;
00212                 ptr<mdlist> mdl = mdlist::create();
00213                 mdl->push_back( md::create( "other_type", "ss_type" ) );
00214                 mdl->push_back( md::create( "type_specifier", "type_specifier_type" ) );
00215                 mdl->push_back( md::create( "storage_class", "ss_storage_class::type" ) );
00216                 mdl->push_back( md::create( "explicit_flag", "bool" ) );
00217                 mdl->push_back( md::create( "inline_flag", "bool" ) );
00218                 mdl->push_back( md::create( "virtual_flag", "bool" ) );
00219                 mdl->push_back( md::create( "friend_flag", "bool" ) );
00220                 mdl->push_back( md::create( "const_flag", "bool" ) );
00221                 mdl->push_back( md::create( "volatile_flag", "bool" ) );
00222                 mdl->push_back( md::create( "signed_flag", "bool" ) );
00223                 mdl->push_back( md::create( "unsigned_flag", "bool" ) );
00224                 mdl->push_back( md::create( "short_flag", "bool" ) );
00225                 mdl->push_back( md::create( "long_flag", "bool" ) );
00226                 reflection = reflection_list::create( as_declaration_specifier_visitor::reflection_get() );
00227                 reflection->push_back( class_reflection::create( "as_declaration_specifier2properties", mdl ) );
00228         }
00229         return reflection;
00230 }

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

for purposes of dumping

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

Definition at line 232 of file as_declaration_specifier2properties.g.cc.

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

00233 {
00234         ptr < field_list_list > result = as_declaration_specifier_visitor::field_values_get();
00235         result->push_back( value_list::create() );
00236         result->back()->push_back( this->other_type );
00237         result->push_back( value_list::create() );
00238         result->back()->push_back( objectize< type_specifier_type > ::create( this->type_specifier ) );
00239         result->push_back( value_list::create() );
00240         result->back()->push_back( objectize< ss_storage_class::type > ::create( this->storage_class ) );
00241         result->push_back( value_list::create() );
00242         result->back()->push_back( objectize< bool > ::create( this->explicit_flag ) );
00243         result->push_back( value_list::create() );
00244         result->back()->push_back( objectize< bool > ::create( this->inline_flag ) );
00245         result->push_back( value_list::create() );
00246         result->back()->push_back( objectize< bool > ::create( this->virtual_flag ) );
00247         result->push_back( value_list::create() );
00248         result->back()->push_back( objectize< bool > ::create( this->friend_flag ) );
00249         result->push_back( value_list::create() );
00250         result->back()->push_back( objectize< bool > ::create( this->const_flag ) );
00251         result->push_back( value_list::create() );
00252         result->back()->push_back( objectize< bool > ::create( this->volatile_flag ) );
00253         result->push_back( value_list::create() );
00254         result->back()->push_back( objectize< bool > ::create( this->signed_flag ) );
00255         result->push_back( value_list::create() );
00256         result->back()->push_back( objectize< bool > ::create( this->unsigned_flag ) );
00257         result->push_back( value_list::create() );
00258         result->back()->push_back( objectize< bool > ::create( this->short_flag ) );
00259         result->push_back( value_list::create() );
00260         result->back()->push_back( objectize< bool > ::create( this->long_flag ) );
00261         return result;
00262 }

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

Marking routine for class as_declaration_specifier2properties.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 269 of file as_declaration_specifier2properties.g.cc.

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


Member Data Documentation

srp< ::lestes::lang::cplus::sem::ss_type > lestes::lang::cplus::sem::as_declaration_specifier2properties::other_type [private]

The other ss_type, valid when type_specifier is TS_OTHER.

Definition at line 217 of file as_declaration_specifier2properties.g.hh.

Referenced by other_type_get(), visit_as_bool_simple_type_specifier(), visit_as_class_specifier(), visit_as_elaborated_type_specifier_class_key(), visit_as_elaborated_type_specifier_enum(), visit_as_enumeration_specifier(), visit_as_float_simple_type_specifier(), visit_as_named_simple_type_specifier(), visit_as_void_simple_type_specifier(), and visit_as_wchar_t_simple_type_specifier().

type_specifier_type lestes::lang::cplus::sem::as_declaration_specifier2properties::type_specifier [private]

The type specifier kind.

Definition at line 219 of file as_declaration_specifier2properties.g.hh.

Referenced by type_specifier_get(), visit_as_bool_simple_type_specifier(), visit_as_char_simple_type_specifier(), visit_as_class_specifier(), visit_as_double_simple_type_specifier(), visit_as_elaborated_type_specifier_class_key(), visit_as_elaborated_type_specifier_enum(), visit_as_enumeration_specifier(), visit_as_float_simple_type_specifier(), visit_as_int_simple_type_specifier(), visit_as_named_simple_type_specifier(), visit_as_void_simple_type_specifier(), and visit_as_wchar_t_simple_type_specifier().

ss_storage_class::type lestes::lang::cplus::sem::as_declaration_specifier2properties::storage_class [private]

The storage class (including typedef).

Definition at line 221 of file as_declaration_specifier2properties.g.hh.

Referenced by storage_class_get(), visit_as_storage_class_specifier_auto(), visit_as_storage_class_specifier_extern(), visit_as_storage_class_specifier_mutable(), visit_as_storage_class_specifier_register(), visit_as_storage_class_specifier_static(), and visit_as_typedef_specifier().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::explicit_flag [private]

The explicit specifier flag.

Definition at line 223 of file as_declaration_specifier2properties.g.hh.

Referenced by explicit_flag_get(), and visit_as_function_specifier_explicit().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::inline_flag [private]

The inline specifier flag.

Definition at line 225 of file as_declaration_specifier2properties.g.hh.

Referenced by inline_flag_get(), and visit_as_function_specifier_inline().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::virtual_flag [private]

The virtual specifier flag.

Definition at line 227 of file as_declaration_specifier2properties.g.hh.

Referenced by virtual_flag_get(), and visit_as_function_specifier_virtual().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::friend_flag [private]

The friend specifier flag.

Definition at line 229 of file as_declaration_specifier2properties.g.hh.

Referenced by friend_flag_get(), and visit_as_friend_specifier().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::const_flag [private]

Const qualifier flag.

Definition at line 231 of file as_declaration_specifier2properties.g.hh.

Referenced by const_flag_get(), and visit_as_cv_qualifier_const().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::volatile_flag [private]

Volatile qualifier flag.

Definition at line 233 of file as_declaration_specifier2properties.g.hh.

Referenced by visit_as_cv_qualifier_volatile(), and volatile_flag_get().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::signed_flag [private]

Signed specifier flag.

Definition at line 235 of file as_declaration_specifier2properties.g.hh.

Referenced by signed_flag_get(), visit_as_signed_simple_type_specifier(), and visit_as_unsigned_simple_type_specifier().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::unsigned_flag [private]

Unsigned specifier flag.

Definition at line 237 of file as_declaration_specifier2properties.g.hh.

Referenced by unsigned_flag_get(), visit_as_signed_simple_type_specifier(), and visit_as_unsigned_simple_type_specifier().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::short_flag [private]

Type length flag.

Definition at line 239 of file as_declaration_specifier2properties.g.hh.

Referenced by short_flag_get(), visit_as_long_simple_type_specifier(), and visit_as_short_simple_type_specifier().

bool lestes::lang::cplus::sem::as_declaration_specifier2properties::long_flag [private]

Type length flag.

Definition at line 241 of file as_declaration_specifier2properties.g.hh.

Referenced by long_flag_get(), visit_as_long_simple_type_specifier(), and visit_as_short_simple_type_specifier().

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

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

Definition at line 242 of file as_declaration_specifier2properties.g.hh.

Referenced by reflection_get().


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