lestes::lang::cplus::sem::ss_var_ref_abstract Class Reference

Abstract class for variable references. More...

#include <ss_expression.g.hh>

Inheritance diagram for 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 lestes::lang::cplus::sem::ss_var_ref lestes::lang::cplus::sem::ss_var_ref_by_qname List of all members.

Public Member Functions

virtual bool is_lvalue ()
 return true
virtual void accept_ss_expression_visitor (ptr< ss_expression_visitor > v) override
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Protected Member Functions

 ss_var_ref_abstract (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)
 Generated constructor for class ss_var_ref_abstract.
virtual void gc_mark ()
 Marking routine for class ss_var_ref_abstract.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Abstract class for variable references.

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

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


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_var_ref_abstract::ss_var_ref_abstract ( 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 
) [protected]

Generated constructor for class ss_var_ref_abstract.

Generated constructor for class ss_var_ref_abstract.

Author:
lsg

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

00443         : ss_expression(a__ss_base_with_location__location,
00444                 a__ss_expression__type,
00445                 a__ss_expression__psp,
00446                 a__ss_expression__nsp)
00447 {}


Member Function Documentation

bool lestes::lang::cplus::sem::ss_var_ref_abstract::is_lvalue (  )  [virtual]

return true

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

Definition at line 48 of file ss_expression.cc.

00048                                      {
00049         return true;
00050 }

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

Implements lestes::lang::cplus::sem::ss_expression.

Implemented in lestes::lang::cplus::sem::ss_var_ref_by_qname, and lestes::lang::cplus::sem::ss_var_ref.

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

for purposes of dumping

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

Reimplemented in lestes::lang::cplus::sem::ss_var_ref_by_qname, and lestes::lang::cplus::sem::ss_var_ref.

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

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

Referenced by lestes::lang::cplus::sem::ss_var_ref::reflection_get(), and lestes::lang::cplus::sem::ss_var_ref_by_qname::reflection_get().

00450 {
00451         if (!reflection) {
00452                 typedef class_reflection::field_metadata md;
00453                 typedef class_reflection::field_metadata_list mdlist;
00454                 ptr<mdlist> mdl = mdlist::create();
00455                 reflection = reflection_list::create( ss_expression::reflection_get() );
00456                 reflection->push_back( class_reflection::create( "ss_var_ref_abstract", mdl ) );
00457         }
00458         return reflection;
00459 }

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

for purposes of dumping

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

Reimplemented in lestes::lang::cplus::sem::ss_var_ref_by_qname, and lestes::lang::cplus::sem::ss_var_ref.

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

References lestes::lang::cplus::sem::ss_expression::field_values_get().

Referenced by lestes::lang::cplus::sem::ss_var_ref::field_values_get(), and lestes::lang::cplus::sem::ss_var_ref_by_qname::field_values_get().

00462 {
00463         ptr < field_list_list > result = ss_expression::field_values_get();
00464         return result;
00465 }

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

Marking routine for class ss_var_ref_abstract.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::lang::cplus::sem::ss_var_ref_by_qname, and lestes::lang::cplus::sem::ss_var_ref.

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

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

Referenced by lestes::lang::cplus::sem::ss_var_ref::gc_mark(), and lestes::lang::cplus::sem::ss_var_ref_by_qname::gc_mark().

00473 {
00474         ss_expression::gc_mark();
00475 }


Member Data Documentation

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

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

Reimplemented in lestes::lang::cplus::sem::ss_var_ref_by_qname, and lestes::lang::cplus::sem::ss_var_ref.

Definition at line 309 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:21 2007 for lestes by doxygen 1.5.1-20070107