lestes::lang::cplus::sem::ss_decl2mangled_name Class Reference

Visitor that returns string representation of ss_declaration as defined by GNU GCC mangling rules. More...

#include <ss_decl2lstring_base.g.hh>

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

ulint level_get () const
 The method level_get returns the value of the field ss_decl2mangled_name::level.
void level_set (ulint)
 The method level_set sets the field ss_decl2mangled_name::level to the given value.
lstring result_get () const
 The method result_get returns the value of the field ss_decl2mangled_name::result.
void result_set (lstring)
 The method result_set sets the field ss_decl2mangled_name::result to the given value.
ptr< ::lestes::std::map< lstring,
lstring > > 
substitutions_get () const
 The method substitutions_get returns the value of the field ss_decl2mangled_name::substitutions.
void substitutions_set (const ptr< ::lestes::std::map< lstring, lstring > > &)
 The method substitutions_set sets the field ss_decl2mangled_name::substitutions to the given value.
lstring get_substitution (lstring mangled_name)
 Gets substitution for a mangled string.
void init ()
virtual void visit_ss_namespace_definition (ptr< ::lestes::lang::cplus::sem::ss_namespace_definition >)
virtual void visit_ss_object_declaration (ptr< ::lestes::lang::cplus::sem::ss_object_declaration >)
virtual void visit_ss_bitfield_declaration (ptr< ::lestes::lang::cplus::sem::ss_bitfield_declaration >)
virtual void visit_ss_parameter_declaration (ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration >)
virtual void visit_ss_fake_declaration (ptr< ::lestes::lang::cplus::sem::ss_fake_declaration >)
virtual void visit_ss_injected_class_declaration (ptr< ::lestes::lang::cplus::sem::ss_injected_class_declaration >)
virtual void visit_ss_enum_definition (ptr< ::lestes::lang::cplus::sem::ss_enum_definition >)
virtual void visit_ss_typedef_definition (ptr< ::lestes::lang::cplus::sem::ss_typedef_definition >)
virtual void visit_ss_enumerator_declaration (ptr< ::lestes::lang::cplus::sem::ss_enumerator_declaration >)
virtual void visit_ss_structure_declaration (ptr< ::lestes::lang::cplus::sem::ss_structure_declaration >)
virtual void visit_ss_function_declaration (ptr< ::lestes::lang::cplus::sem::ss_function_declaration >)
virtual void visit_ss_method_declaration (ptr< ::lestes::lang::cplus::sem::ss_method_declaration >)
virtual void visit_ss_using_declaration (ptr< ::lestes::lang::cplus::sem::ss_using_declaration >)
virtual void visit_ss_compound_stmt_declaration (ptr< ::lestes::lang::cplus::sem::ss_compound_stmt_declaration >)
virtual void visit_ss_builtin_operator_declaration (ptr< ::lestes::lang::cplus::sem::ss_builtin_operator_declaration >)
lstring process (const ptr< ::lestes::lang::cplus::sem::ss_declaration > &)
 "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_decl2mangled_namesingleton_instance_get ()
 The method singleton_instance_get returns the value of the field ss_decl2mangled_name::singleton_instance.
static void singleton_instance_set (const ptr< ss_decl2mangled_name > &)
 The method singleton_instance_set sets the field ss_decl2mangled_name::singleton_instance to the given value.
static ptr< ss_decl2mangled_nameinstance ()
static ptr< ss_decl2mangled_namecreate (ulint a__ss_decl2mangled_name__level, lstring a__ss_decl2mangled_name__result, ptr< ::lestes::std::map< lstring, lstring > > a__ss_decl2mangled_name__substitutions)
 First generated factory method for class ss_decl2mangled_name.
static ptr< ss_decl2mangled_namecreate ()
 Second generated factory method for class ss_decl2mangled_name.

Protected Member Functions

 ss_decl2mangled_name (ulint a__ss_decl2mangled_name__level, lstring a__ss_decl2mangled_name__result, ptr< ::lestes::std::map< lstring, lstring > > a__ss_decl2mangled_name__substitutions)
 Generated constructor for class ss_decl2mangled_name.
virtual void gc_mark ()
 Marking routine for class ss_decl2mangled_name.

Private Attributes

ulint level
lstring result
srp< ::lestes::std::map< lstring,
lstring > > 
substitutions

Static Private Attributes

static ptr< ss_decl2mangled_namesingleton_instance = singleton_instance
static ptr< reflection_listreflection = reflection

Detailed Description

Visitor that returns string representation of ss_declaration as defined by GNU GCC mangling rules.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_decl2mangled_name::ss_decl2mangled_name ( ulint  a__ss_decl2mangled_name__level,
lstring  a__ss_decl2mangled_name__result,
ptr< ::lestes::std::map< lstring, lstring > >  a__ss_decl2mangled_name__substitutions 
) [protected]

Generated constructor for class ss_decl2mangled_name.

Generated constructor for class ss_decl2mangled_name.

Author:
lsg


Member Function Documentation

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

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

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

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

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

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

ulint lestes::lang::cplus::sem::ss_decl2mangled_name::level_get (  )  const

The method level_get returns the value of the field ss_decl2mangled_name::level.

Returns:
The value of ss_decl2mangled_name::level.
Author:
lsg

void lestes::lang::cplus::sem::ss_decl2mangled_name::level_set ( ulint  x  ) 

The method level_set sets the field ss_decl2mangled_name::level to the given value.

Parameters:
[in] x The new value to set ss_decl2mangled_name::level to.
Author:
lsg

lstring lestes::lang::cplus::sem::ss_decl2mangled_name::result_get (  )  const

The method result_get returns the value of the field ss_decl2mangled_name::result.

Returns:
The value of ss_decl2mangled_name::result.
Author:
lsg

void lestes::lang::cplus::sem::ss_decl2mangled_name::result_set ( lstring  x  ) 

The method result_set sets the field ss_decl2mangled_name::result to the given value.

Parameters:
[in] x The new value to set ss_decl2mangled_name::result to.
Author:
lsg

ptr<::lestes::std::map< lstring, lstring > > lestes::lang::cplus::sem::ss_decl2mangled_name::substitutions_get (  )  const

The method substitutions_get returns the value of the field ss_decl2mangled_name::substitutions.

Returns:
The value of ss_decl2mangled_name::substitutions.
Author:
lsg

void lestes::lang::cplus::sem::ss_decl2mangled_name::substitutions_set ( const ptr< ::lestes::std::map< lstring, lstring > > &  x  ) 

The method substitutions_set sets the field ss_decl2mangled_name::substitutions to the given value.

Parameters:
[in] x The new value to set ss_decl2mangled_name::substitutions to.
Author:
lsg

lstring lestes::lang::cplus::sem::ss_decl2mangled_name::get_substitution ( lstring  mangled_name  ) 

Gets substitution for a mangled string.

If a substitution for mangled name exists then function returns it. Else function creates new substitution, adds it to substitutions map and returns original mangled name.

Parameters:
mangled_name The mangled name.
Returns:
The substitution.

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

void lestes::lang::cplus::sem::ss_decl2mangled_name::init (  ) 

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_namespace_definition ( ptr< ::lestes::lang::cplus::sem::ss_namespace_definition  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_object_declaration ( ptr< ::lestes::lang::cplus::sem::ss_object_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_bitfield_declaration ( ptr< ::lestes::lang::cplus::sem::ss_bitfield_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_parameter_declaration ( ptr< ::lestes::lang::cplus::sem::ss_parameter_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_fake_declaration ( ptr< ::lestes::lang::cplus::sem::ss_fake_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_injected_class_declaration ( ptr< ::lestes::lang::cplus::sem::ss_injected_class_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_enum_definition ( ptr< ::lestes::lang::cplus::sem::ss_enum_definition  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_typedef_definition ( ptr< ::lestes::lang::cplus::sem::ss_typedef_definition  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_enumerator_declaration ( ptr< ::lestes::lang::cplus::sem::ss_enumerator_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_structure_declaration ( ptr< ::lestes::lang::cplus::sem::ss_structure_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_function_declaration ( ptr< ::lestes::lang::cplus::sem::ss_function_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_method_declaration ( ptr< ::lestes::lang::cplus::sem::ss_method_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_using_declaration ( ptr< ::lestes::lang::cplus::sem::ss_using_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_compound_stmt_declaration ( ptr< ::lestes::lang::cplus::sem::ss_compound_stmt_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

void lestes::lang::cplus::sem::ss_decl2mangled_name::visit_ss_builtin_operator_declaration ( ptr< ::lestes::lang::cplus::sem::ss_builtin_operator_declaration  )  [virtual]

Implements lestes::lang::cplus::sem::ss_declaration_visitor.

ptr< ss_decl2mangled_name > lestes::lang::cplus::sem::ss_decl2mangled_name::create ( ulint  a__ss_decl2mangled_name__level,
lstring  a__ss_decl2mangled_name__result,
ptr< ::lestes::std::map< lstring, lstring > >  a__ss_decl2mangled_name__substitutions 
) [static]

First generated factory method for class ss_decl2mangled_name.

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

Author:
lsg

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

Second generated factory method for class ss_decl2mangled_name.

This factory method for class ss_decl2mangled_name uses initializers.

Author:
lsg

lstring lestes::lang::cplus::sem::ss_decl2mangled_name::process ( const ptr< ::lestes::lang::cplus::sem::ss_declaration > &   ) 

"visit-return" method

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

for purposes of dumping

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

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

for purposes of dumping

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

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

Marking routine for class ss_decl2mangled_name.

Marking routine is used for garbage collection.

Author:
lsg

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


Member Data Documentation

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

ulint lestes::lang::cplus::sem::ss_decl2mangled_name::level [private]

lstring lestes::lang::cplus::sem::ss_decl2mangled_name::result [private]

srp< ::lestes::std::map< lstring, lstring > > lestes::lang::cplus::sem::ss_decl2mangled_name::substitutions [private]

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

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


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