lestes::lang::cplus::sem::ss_stmt2pi Class Reference

Visitor responsible for converting statements into pseudoinstructions. More...

#include <ss_ss2pi_base.g.hh>

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

ptr< ss_function_declarationcurrent_function_get () const
 The method current_function_get returns the value of the field ss_stmt2pi::current_function.
void current_function_set (const ptr< ss_function_declaration > &)
 The method current_function_set sets the field ss_stmt2pi::current_function to the given value.
ptr< variable_map_typelocal_variable_map_get () const
 The method local_variable_map_get returns the value of the field ss_stmt2pi::local_variable_map.
void local_variable_map_set (const ptr< variable_map_type > &)
 The method local_variable_map_set sets the field ss_stmt2pi::local_variable_map to the given value.
ptr< variable_map_typenamespace_variable_map_get () const
 The method namespace_variable_map_get returns the value of the field ss_stmt2pi::namespace_variable_map.
void namespace_variable_map_set (const ptr< variable_map_type > &)
 The method namespace_variable_map_set sets the field ss_stmt2pi::namespace_variable_map to the given value.
void mem_variable_set (ptr< ss_declaration >, ptr< ::lestes::backend_v2::intercode::pi_mem_factory >)
 API to store record of memmory placeholder for variable. It automaticaly distinguishes between global scope and local scope, where record shall be added (according to "current_function" member).
ptr< ::lestes::backend_v2::intercode::pi_mem_factorymem_variable_get (ptr< ss_declaration >)
 API to look-up memory placeholder, which was allocated for variable. It searches in both local and global scope. It also automaticaly inserts new record for alias and function parameter declarations.
virtual void visit_ss_compound_stmt (ptr< ::lestes::lang::cplus::sem::ss_compound_stmt >)
virtual void visit_ss_decl_stmt (ptr< ::lestes::lang::cplus::sem::ss_decl_stmt >)
virtual void visit_ss_try (ptr< ::lestes::lang::cplus::sem::ss_try >)
virtual void visit_ss_break (ptr< ::lestes::lang::cplus::sem::ss_break >)
virtual void visit_ss_return (ptr< ::lestes::lang::cplus::sem::ss_return >)
virtual void visit_ss_goto (ptr< ::lestes::lang::cplus::sem::ss_goto >)
virtual void visit_ss_expr_stmt (ptr< ::lestes::lang::cplus::sem::ss_expr_stmt >)
virtual void visit_ss_continue (ptr< ::lestes::lang::cplus::sem::ss_continue >)
virtual void visit_ss_if_stmt (ptr< ::lestes::lang::cplus::sem::ss_if_stmt >)
virtual void visit_ss_catch (ptr< ::lestes::lang::cplus::sem::ss_catch >)
virtual void visit_ss_switch_stmt (ptr< ::lestes::lang::cplus::sem::ss_switch_stmt >)
virtual void visit_ss_do (ptr< ::lestes::lang::cplus::sem::ss_do >)
virtual void visit_ss_while (ptr< ::lestes::lang::cplus::sem::ss_while >)
virtual void visit_ss_for (ptr< ::lestes::lang::cplus::sem::ss_for >)
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_stmt2picreate (ptr< ss_function_declaration > a__ss_stmt2pi__current_function, ptr< variable_map_type > a__ss_stmt2pi__local_variable_map, ptr< variable_map_type > a__ss_stmt2pi__namespace_variable_map)
 First generated factory method for class ss_stmt2pi.

Protected Member Functions

 ss_stmt2pi (ptr< ss_function_declaration > a__ss_stmt2pi__current_function, ptr< variable_map_type > a__ss_stmt2pi__local_variable_map, ptr< variable_map_type > a__ss_stmt2pi__namespace_variable_map)
 Generated constructor for class ss_stmt2pi.
virtual void gc_mark ()
 Marking routine for class ss_stmt2pi.

Private Attributes

srp< ss_function_declarationcurrent_function
 Current function, in which we are transforming to pi. Needed for expression tranformation. When on global scope, current function is set to NULL.
srp< variable_map_typelocal_variable_map
 Map of variables in current function.
srp< variable_map_typenamespace_variable_map
 Map of variables on namespace scope.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Visitor responsible for converting statements into pseudoinstructions.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_stmt2pi::ss_stmt2pi ( ptr< ss_function_declaration a__ss_stmt2pi__current_function,
ptr< variable_map_type a__ss_stmt2pi__local_variable_map,
ptr< variable_map_type a__ss_stmt2pi__namespace_variable_map 
) [protected]

Generated constructor for class ss_stmt2pi.

Generated constructor for class ss_stmt2pi.

Author:
lsg


Member Function Documentation

ptr< ss_function_declaration > lestes::lang::cplus::sem::ss_stmt2pi::current_function_get (  )  const

The method current_function_get returns the value of the field ss_stmt2pi::current_function.

Returns:
The value of ss_stmt2pi::current_function.
Author:
lsg

void lestes::lang::cplus::sem::ss_stmt2pi::current_function_set ( const ptr< ss_function_declaration > &  x  ) 

The method current_function_set sets the field ss_stmt2pi::current_function to the given value.

Parameters:
[in] x The new value to set ss_stmt2pi::current_function to.
Author:
lsg

ptr< variable_map_type > lestes::lang::cplus::sem::ss_stmt2pi::local_variable_map_get (  )  const

The method local_variable_map_get returns the value of the field ss_stmt2pi::local_variable_map.

Returns:
The value of ss_stmt2pi::local_variable_map.
Author:
lsg

void lestes::lang::cplus::sem::ss_stmt2pi::local_variable_map_set ( const ptr< variable_map_type > &  x  ) 

The method local_variable_map_set sets the field ss_stmt2pi::local_variable_map to the given value.

Parameters:
[in] x The new value to set ss_stmt2pi::local_variable_map to.
Author:
lsg

ptr< variable_map_type > lestes::lang::cplus::sem::ss_stmt2pi::namespace_variable_map_get (  )  const

The method namespace_variable_map_get returns the value of the field ss_stmt2pi::namespace_variable_map.

Returns:
The value of ss_stmt2pi::namespace_variable_map.
Author:
lsg

void lestes::lang::cplus::sem::ss_stmt2pi::namespace_variable_map_set ( const ptr< variable_map_type > &  x  ) 

The method namespace_variable_map_set sets the field ss_stmt2pi::namespace_variable_map to the given value.

Parameters:
[in] x The new value to set ss_stmt2pi::namespace_variable_map to.
Author:
lsg

void lestes::lang::cplus::sem::ss_stmt2pi::mem_variable_set ( ptr< ss_declaration ,
ptr< ::lestes::backend_v2::intercode::pi_mem_factory  
)

API to store record of memmory placeholder for variable. It automaticaly distinguishes between global scope and local scope, where record shall be added (according to "current_function" member).

ptr< pi_mem_factory > lestes::lang::cplus::sem::ss_stmt2pi::mem_variable_get ( ptr< ss_declaration x  ) 

API to look-up memory placeholder, which was allocated for variable. It searches in both local and global scope. It also automaticaly inserts new record for alias and function parameter declarations.

This code presumes, there si no ss_fake_declaration on namespace scope.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_compound_stmt ( ptr< ::lestes::lang::cplus::sem::ss_compound_stmt  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_decl_stmt ( ptr< ::lestes::lang::cplus::sem::ss_decl_stmt  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_try ( ptr< ::lestes::lang::cplus::sem::ss_try  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_break ( ptr< ::lestes::lang::cplus::sem::ss_break  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_return ( ptr< ::lestes::lang::cplus::sem::ss_return  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_goto ( ptr< ::lestes::lang::cplus::sem::ss_goto  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_expr_stmt ( ptr< ::lestes::lang::cplus::sem::ss_expr_stmt  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_continue ( ptr< ::lestes::lang::cplus::sem::ss_continue  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_if_stmt ( ptr< ::lestes::lang::cplus::sem::ss_if_stmt  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_catch ( ptr< ::lestes::lang::cplus::sem::ss_catch  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_switch_stmt ( ptr< ::lestes::lang::cplus::sem::ss_switch_stmt  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_do ( ptr< ::lestes::lang::cplus::sem::ss_do  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_while ( ptr< ::lestes::lang::cplus::sem::ss_while  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

virtual void lestes::lang::cplus::sem::ss_stmt2pi::visit_ss_for ( ptr< ::lestes::lang::cplus::sem::ss_for  )  [virtual]

Implements lestes::lang::cplus::sem::ss_statement_visitor.

ptr< ss_stmt2pi > lestes::lang::cplus::sem::ss_stmt2pi::create ( ptr< ss_function_declaration a__ss_stmt2pi__current_function,
ptr< variable_map_type a__ss_stmt2pi__local_variable_map,
ptr< variable_map_type a__ss_stmt2pi__namespace_variable_map 
) [static]

First generated factory method for class ss_stmt2pi.

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

Author:
lsg

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

for purposes of dumping

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

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

for purposes of dumping

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

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

Marking routine for class ss_stmt2pi.

Marking routine is used for garbage collection.

Author:
lsg

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


Member Data Documentation

srp< ss_function_declaration > lestes::lang::cplus::sem::ss_stmt2pi::current_function [private]

Current function, in which we are transforming to pi. Needed for expression tranformation. When on global scope, current function is set to NULL.

srp< variable_map_type > lestes::lang::cplus::sem::ss_stmt2pi::local_variable_map [private]

Map of variables in current function.

We distinguish these variables, from global, because after transformation of the current function, they are of no use.

srp< variable_map_type > lestes::lang::cplus::sem::ss_stmt2pi::namespace_variable_map [private]

Map of variables on namespace scope.

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

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


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