lestes::lang::cplus::sem::ss_var_ref Class Reference

Class for variable reference. More...

#include <ss_expression.g.hh>

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

lestes::lang::cplus::sem::ss_var_ref_abstract lestes::lang::cplus::sem::ss_expression lestes::intercode::ss_base_with_location lestes::intercode::ss_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ss_declarationvar_decl_get () const
 The method var_decl_get returns the value of the field ss_var_ref::var_decl.
void var_decl_set (const ptr< ss_declaration > &)
 The method var_decl_set sets the field ss_var_ref::var_decl to the given value.
virtual void accept_ss_expression_visitor (ptr< ss_expression_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_var_refcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_type > a__ss_expression__type, ptr< ss_sp > a__ss_expression__psp, ptr< ss_sp > a__ss_expression__nsp, ptr< ss_declaration > a__ss_var_ref__var_decl)
 First generated factory method for class ss_var_ref.

Protected Member Functions

 ss_var_ref (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_type > a__ss_expression__type, ptr< ss_sp > a__ss_expression__psp, ptr< ss_sp > a__ss_expression__nsp, ptr< ss_declaration > a__ss_var_ref__var_decl)
 Generated constructor for class ss_var_ref.
virtual void gc_mark ()
 Marking routine for class ss_var_ref.

Private Attributes

srp< ss_declarationvar_decl
 The variable declaration.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for variable reference.

var_ref is usually accessed via GET (rvalue conversion). Referenced type is ss_reference.

Definition at line 396 of file ss_expression.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_var_ref::ss_var_ref ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_type a__ss_expression__type,
ptr< ss_sp a__ss_expression__psp,
ptr< ss_sp a__ss_expression__nsp,
ptr< ss_declaration a__ss_var_ref__var_decl 
) [protected]

Generated constructor for class ss_var_ref.

Generated constructor for class ss_var_ref.

Author:
lsg

Definition at line 663 of file ss_expression.g.cc.

Referenced by create().

00668         : ss_var_ref_abstract(a__ss_base_with_location__location,
00669                 a__ss_expression__type,
00670                 a__ss_expression__psp,
00671                 a__ss_expression__nsp), var_decl(checked(a__ss_var_ref__var_decl))
00672 {}


Member Function Documentation

ptr< ss_declaration > lestes::lang::cplus::sem::ss_var_ref::var_decl_get (  )  const

The method var_decl_get returns the value of the field ss_var_ref::var_decl.

Returns:
The value of ss_var_ref::var_decl.
Author:
lsg

Definition at line 623 of file ss_expression.g.cc.

References var_decl.

00624 {
00625         return var_decl;
00626 }

void lestes::lang::cplus::sem::ss_var_ref::var_decl_set ( const ptr< ss_declaration > &  x  ) 

The method var_decl_set sets the field ss_var_ref::var_decl to the given value.

Parameters:
[in] x The new value to set ss_var_ref::var_decl to.
Author:
lsg

Definition at line 632 of file ss_expression.g.cc.

References var_decl.

00633 {
00634         ss_var_ref::var_decl = x;
00635 }

void lestes::lang::cplus::sem::ss_var_ref::accept_ss_expression_visitor ( ptr< ss_expression_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_var_ref_abstract.

Definition at line 637 of file ss_expression.g.cc.

00638 {
00639         return v->visit_ss_var_ref( this );
00640 }

ptr< ss_var_ref > lestes::lang::cplus::sem::ss_var_ref::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_type a__ss_expression__type,
ptr< ss_sp a__ss_expression__psp,
ptr< ss_sp a__ss_expression__nsp,
ptr< ss_declaration a__ss_var_ref__var_decl 
) [static]

First generated factory method for class ss_var_ref.

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

Author:
lsg

Definition at line 646 of file ss_expression.g.cc.

References ss_var_ref().

00651 {
00652         return ptr< ss_var_ref > ( new ss_var_ref(a__ss_base_with_location__location,
00653                 a__ss_expression__type,
00654                 a__ss_expression__psp,
00655                 a__ss_expression__nsp,
00656                 a__ss_var_ref__var_decl) );
00657 }

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

for purposes of dumping

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

Definition at line 674 of file ss_expression.g.cc.

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

00675 {
00676         if (!reflection) {
00677                 typedef class_reflection::field_metadata md;
00678                 typedef class_reflection::field_metadata_list mdlist;
00679                 ptr<mdlist> mdl = mdlist::create();
00680                 mdl->push_back( md::create( "var_decl", "ss_declaration" ) );
00681                 reflection = reflection_list::create( ss_var_ref_abstract::reflection_get() );
00682                 reflection->push_back( class_reflection::create( "ss_var_ref", mdl ) );
00683         }
00684         return reflection;
00685 }

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

for purposes of dumping

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

Definition at line 687 of file ss_expression.g.cc.

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

00688 {
00689         ptr < field_list_list > result = ss_var_ref_abstract::field_values_get();
00690         result->push_back( value_list::create() );
00691         result->back()->push_back( this->var_decl );
00692         return result;
00693 }

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

Marking routine for class ss_var_ref.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 700 of file ss_expression.g.cc.

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

00701 {
00702         ss_var_ref_abstract::gc_mark();
00703 }


Member Data Documentation

srp< ss_declaration > lestes::lang::cplus::sem::ss_var_ref::var_decl [private]

The variable declaration.

Definition at line 435 of file ss_expression.g.hh.

Referenced by var_decl_get(), and var_decl_set().

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

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

Definition at line 436 of file ss_expression.g.hh.

Referenced by reflection_get().


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