lestes::md::literals::li_compound_base Class Reference

Compound literal. More...

#include <literal_info_base.g.hh>

Inheritance diagram for lestes::md::literals::li_compound_base:

lestes::md::literals::literal_info_base lestes::std::object lestes::std::mem::keystone lestes::md::literals::li_compound List of all members.

Public Member Functions

ptr< ::lestes::std::list<
srp< literal_info_base > > > 
items_get () const
 The method items_get returns the value of the field li_compound_base::items.
void items_set (const ptr< ::lestes::std::list< srp< literal_info_base > > > &)
 The method items_set sets the field li_compound_base::items to the given value.
virtual lstring get_asm_definition_val () override
 Returns asm string representing value of the literal.
virtual lstring get_asm_definition_type () override
 Returnd asm string representing datatype of the literal.
virtual kind_type kind_get ()
 Returns kind of literal info.
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

 li_compound_base (ptr< ::lestes::md::types::tm_data_type_base > a__literal_info_base__type, ptr< ::lestes::std::list< srp< literal_info_base > > > a__li_compound_base__items)
 Generated constructor for class li_compound_base.
virtual void gc_mark ()
 Marking routine for class li_compound_base.

Private Attributes

srp< ::lestes::std::list<
srp< literal_info_base > > > 
items
 List of literals composing the compound literal.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Compound literal.

It is composed of several literals (e.g. string "Hello" is composed of 'h','e','l','l','o' literals).

Note: A concrete implementation is target-machine dependent and it is placed in /target/machine/${TARGET_CPU}/lestes/md/literals/ directory.

Definition at line 136 of file literal_info_base.g.hh.


Constructor & Destructor Documentation

lestes::md::literals::li_compound_base::li_compound_base ( ptr< ::lestes::md::types::tm_data_type_base a__literal_info_base__type,
ptr< ::lestes::std::list< srp< literal_info_base > > >  a__li_compound_base__items 
) [protected]

Generated constructor for class li_compound_base.

Generated constructor for class li_compound_base.

Author:
lsg

Definition at line 169 of file literal_info_base.g.cc.

00171         : literal_info_base(a__literal_info_base__type), items(checked(a__li_compound_base__items))
00172 {}


Member Function Documentation

ptr<::lestes::std::list< srp< literal_info_base > > > lestes::md::literals::li_compound_base::items_get (  )  const

The method items_get returns the value of the field li_compound_base::items.

Returns:
The value of li_compound_base::items.
Author:
lsg

Definition at line 151 of file literal_info_base.g.cc.

References items.

Referenced by lestes::md::literals::li_compound::get_asm_definition_type(), and lestes::md::literals::li_compound::get_asm_definition_val().

00152 {
00153         return items;
00154 }

void lestes::md::literals::li_compound_base::items_set ( const ptr< ::lestes::std::list< srp< literal_info_base > > > &  x  ) 

The method items_set sets the field li_compound_base::items to the given value.

Parameters:
[in] x The new value to set li_compound_base::items to.
Author:
lsg

Definition at line 160 of file literal_info_base.g.cc.

References items.

00161 {
00162         li_compound_base::items = x;
00163 }

virtual lstring lestes::md::literals::li_compound_base::get_asm_definition_val (  )  [pure virtual]

Returns asm string representing value of the literal.

Implements lestes::md::literals::literal_info_base.

Implemented in lestes::md::literals::li_compound.

virtual lstring lestes::md::literals::li_compound_base::get_asm_definition_type (  )  [pure virtual]

Returnd asm string representing datatype of the literal.

Implements lestes::md::literals::literal_info_base.

Implemented in lestes::md::literals::li_compound.

literal_info_base::kind_type lestes::md::literals::li_compound_base::kind_get (  )  [virtual]

Returns kind of literal info.

Implements lestes::md::literals::literal_info_base.

Definition at line 15 of file literal_info_base.cc.

References lestes::md::literals::literal_info_base::COMPOUND.

00015                                                       {
00016         return COMPOUND;
00017 }

ptr< object::reflection_list > lestes::md::literals::li_compound_base::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::md::literals::literal_info_base.

Reimplemented in lestes::md::literals::li_compound.

Definition at line 174 of file literal_info_base.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::md::literals::literal_info_base::reflection_get().

Referenced by lestes::md::literals::li_compound::reflection_get().

00175 {
00176         if (!reflection) {
00177                 typedef class_reflection::field_metadata md;
00178                 typedef class_reflection::field_metadata_list mdlist;
00179                 ptr<mdlist> mdl = mdlist::create();
00180                 mdl->push_back( md::create( "items", "list&lt; srp&lt; literal_info_base &gt; &gt;" ) );
00181                 reflection = reflection_list::create( literal_info_base::reflection_get() );
00182                 reflection->push_back( class_reflection::create( "li_compound_base", mdl ) );
00183         }
00184         return reflection;
00185 }

ptr< object::field_list_list > lestes::md::literals::li_compound_base::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::md::literals::literal_info_base.

Reimplemented in lestes::md::literals::li_compound.

Definition at line 187 of file literal_info_base.g.cc.

References lestes::std::list< T >::create(), and lestes::md::literals::literal_info_base::field_values_get().

Referenced by lestes::md::literals::li_compound::field_values_get().

00188 {
00189         ptr < field_list_list > result = literal_info_base::field_values_get();
00190         result->push_back( value_list::create() );
00191         result->back()->push_back( this->items );
00192         return result;
00193 }

void lestes::md::literals::li_compound_base::gc_mark ( void   )  [protected, virtual]

Marking routine for class li_compound_base.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::md::literals::literal_info_base.

Reimplemented in lestes::md::literals::li_compound.

Definition at line 200 of file literal_info_base.g.cc.

References lestes::md::literals::literal_info_base::gc_mark().

Referenced by lestes::md::literals::li_compound::gc_mark().

00201 {
00202         literal_info_base::gc_mark();
00203 }


Member Data Documentation

srp< ::lestes::std::list< srp< literal_info_base > > > lestes::md::literals::li_compound_base::items [private]

List of literals composing the compound literal.

Definition at line 168 of file literal_info_base.g.hh.

Referenced by items_get(), and items_set().

ptr< object::reflection_list > lestes::md::literals::li_compound_base::reflection = reflection [static, private]

Reimplemented from lestes::md::literals::literal_info_base.

Reimplemented in lestes::md::literals::li_compound.

Definition at line 169 of file literal_info_base.g.hh.

Referenced by reflection_get().


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