lestes::md::types::tm_data_type_base Class Reference

Target-architecture data type. More...

#include <tm_data_type_base.g.hh>

Inheritance diagram for lestes::md::types::tm_data_type_base:

Inheritance graph
[legend]
List of all members.

Public Types

enum  kind_type {
  SIMPLE, BITFIELD, STRUCT, UNION,
  ARRAY
}
 Data type kinds. More...
enum  format_type {
  FORMAT_PLAIN, FORMAT_C1, FORMAT_C2, FORMAT_OFF,
  FORMAT_SM, FORMAT_BCD, FORMAT_PBCD, FORMAT_IEEE
}
 Data type formats. More...
typedef ulint id_type

Public Member Functions

tm_data_type_base::id_type id_get () const
 The method id_get returns the value of the field tm_data_type_base::id.
void id_set (tm_data_type_base::id_type)
 The method id_set sets the field tm_data_type_base::id to the given value.
format_type format_get () const
 The method format_get returns the value of the field tm_data_type_base::format.
void format_set (format_type)
 The method format_set sets the field tm_data_type_base::format to the given value.
ulint bitwidth_get () const
 The method bitwidth_get returns the value of the field tm_data_type_base::bitwidth.
void bitwidth_set (ulint)
 The method bitwidth_set sets the field tm_data_type_base::bitwidth to the given value.
ulint alignment_get () const
 The method alignment_get returns the value of the field tm_data_type_base::alignment.
void alignment_set (ulint)
 The method alignment_set sets the field tm_data_type_base::alignment to the given value.
ptr< ::lestes::md::registers::tm_register_basereturn_reg_get () const
 The method return_reg_get returns the value of the field tm_data_type_base::return_reg.
void return_reg_set (const ptr< ::lestes::md::registers::tm_register_base > &)
 The method return_reg_set sets the field tm_data_type_base::return_reg to the given value.
lstring asm_output_get () const
 The method asm_output_get returns the value of the field tm_data_type_base::asm_output.
void asm_output_set (lstring)
 The method asm_output_set sets the field tm_data_type_base::asm_output to the given value.
lstring asm_decl_get () const
 The method asm_decl_get returns the value of the field tm_data_type_base::asm_decl.
void asm_decl_set (lstring)
 The method asm_decl_set sets the field tm_data_type_base::asm_decl to the given value.
virtual tm_data_type_base::kind_type kind_get () override
 Returns kind of the data type represented by this instance.
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

 tm_data_type_base (tm_data_type_base::id_type a__tm_data_type_base__id, format_type a__tm_data_type_base__format, ulint a__tm_data_type_base__bitwidth, ulint a__tm_data_type_base__alignment, ptr< ::lestes::md::registers::tm_register_base > a__tm_data_type_base__return_reg, lstring a__tm_data_type_base__asm_output, lstring a__tm_data_type_base__asm_decl)
 Generated constructor for class tm_data_type_base.
virtual void gc_mark ()
 Marking routine for class tm_data_type_base.

Private Attributes

tm_data_type_base::id_type id
 Data type id.
format_type format
 Data type format.
ulint bitwidth
 Data type bitwidth.
ulint alignment
 Data type alignment.
srp< ::lestes::md::registers::tm_register_basereturn_reg
 Register where return value of the type is returned from function call.
lstring asm_output
 Asm output produced by the type.
lstring asm_decl
 Asm output used in declarations.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Target-architecture data type.

There is a few kinds of data type defined in backend.

On the first place there are simple types. These types are basic types directly used and known by target CPU (e.g. int, long, double).

On the other hand there are higher-level relicts - struct, enum, array. They are used to keep information about relationship of their elements - simple types. CPU doesn't work with these data-type classes as with units but it accesses individual elements directly.


Member Typedef Documentation

typedef ulint lestes::md::types::tm_data_type_base::id_type


Member Enumeration Documentation

enum lestes::md::types::tm_data_type_base::kind_type

Data type kinds.

Enumerator:
SIMPLE 
BITFIELD 
STRUCT 
UNION 
ARRAY 

enum lestes::md::types::tm_data_type_base::format_type

Data type formats.

Enumerator:
FORMAT_PLAIN 
FORMAT_C1 
FORMAT_C2 
FORMAT_OFF 
FORMAT_SM 
FORMAT_BCD 
FORMAT_PBCD 
FORMAT_IEEE 


Constructor & Destructor Documentation

lestes::md::types::tm_data_type_base::tm_data_type_base ( tm_data_type_base::id_type  a__tm_data_type_base__id,
format_type  a__tm_data_type_base__format,
ulint  a__tm_data_type_base__bitwidth,
ulint  a__tm_data_type_base__alignment,
ptr< ::lestes::md::registers::tm_register_base a__tm_data_type_base__return_reg,
lstring  a__tm_data_type_base__asm_output,
lstring  a__tm_data_type_base__asm_decl 
) [protected]

Generated constructor for class tm_data_type_base.

Generated constructor for class tm_data_type_base.

Author:
lsg


Member Function Documentation

tm_data_type_base::id_type lestes::md::types::tm_data_type_base::id_get (  )  const

The method id_get returns the value of the field tm_data_type_base::id.

Returns:
The value of tm_data_type_base::id.
Author:
lsg

void lestes::md::types::tm_data_type_base::id_set ( tm_data_type_base::id_type  x  ) 

The method id_set sets the field tm_data_type_base::id to the given value.

Parameters:
[in] x The new value to set tm_data_type_base::id to.
Author:
lsg

tm_data_type_base::format_type lestes::md::types::tm_data_type_base::format_get (  )  const

The method format_get returns the value of the field tm_data_type_base::format.

Returns:
The value of tm_data_type_base::format.
Author:
lsg

void lestes::md::types::tm_data_type_base::format_set ( format_type  x  ) 

The method format_set sets the field tm_data_type_base::format to the given value.

Parameters:
[in] x The new value to set tm_data_type_base::format to.
Author:
lsg

ulint lestes::md::types::tm_data_type_base::bitwidth_get (  )  const

The method bitwidth_get returns the value of the field tm_data_type_base::bitwidth.

Returns:
The value of tm_data_type_base::bitwidth.
Author:
lsg

void lestes::md::types::tm_data_type_base::bitwidth_set ( ulint  x  ) 

The method bitwidth_set sets the field tm_data_type_base::bitwidth to the given value.

Parameters:
[in] x The new value to set tm_data_type_base::bitwidth to.
Author:
lsg

ulint lestes::md::types::tm_data_type_base::alignment_get (  )  const

The method alignment_get returns the value of the field tm_data_type_base::alignment.

Returns:
The value of tm_data_type_base::alignment.
Author:
lsg

void lestes::md::types::tm_data_type_base::alignment_set ( ulint  x  ) 

The method alignment_set sets the field tm_data_type_base::alignment to the given value.

Parameters:
[in] x The new value to set tm_data_type_base::alignment to.
Author:
lsg

ptr<::lestes::md::registers::tm_register_base > lestes::md::types::tm_data_type_base::return_reg_get (  )  const

The method return_reg_get returns the value of the field tm_data_type_base::return_reg.

Returns:
The value of tm_data_type_base::return_reg.
Author:
lsg

void lestes::md::types::tm_data_type_base::return_reg_set ( const ptr< ::lestes::md::registers::tm_register_base > &  x  ) 

The method return_reg_set sets the field tm_data_type_base::return_reg to the given value.

Parameters:
[in] x The new value to set tm_data_type_base::return_reg to.
Author:
lsg

lstring lestes::md::types::tm_data_type_base::asm_output_get (  )  const

The method asm_output_get returns the value of the field tm_data_type_base::asm_output.

Returns:
The value of tm_data_type_base::asm_output.
Author:
lsg

void lestes::md::types::tm_data_type_base::asm_output_set ( lstring  x  ) 

The method asm_output_set sets the field tm_data_type_base::asm_output to the given value.

Parameters:
[in] x The new value to set tm_data_type_base::asm_output to.
Author:
lsg

lstring lestes::md::types::tm_data_type_base::asm_decl_get (  )  const

The method asm_decl_get returns the value of the field tm_data_type_base::asm_decl.

Returns:
The value of tm_data_type_base::asm_decl.
Author:
lsg

void lestes::md::types::tm_data_type_base::asm_decl_set ( lstring  x  ) 

The method asm_decl_set sets the field tm_data_type_base::asm_decl to the given value.

Parameters:
[in] x The new value to set tm_data_type_base::asm_decl to.
Author:
lsg

virtual tm_data_type_base::kind_type lestes::md::types::tm_data_type_base::kind_get (  )  [pure virtual]

Returns kind of the data type represented by this instance.

Implemented in lestes::md::types::tm_dt_simple_base, lestes::md::types::tm_dt_bitfield_base, lestes::md::types::tm_dt_array_base, lestes::md::types::tm_dt_union_base, and lestes::md::types::tm_dt_struct_base.

ptr< object::reflection_list > lestes::md::types::tm_data_type_base::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::types::tm_dt_simple_base, lestes::md::types::tm_dt_bitfield_base, lestes::md::types::tm_dt_array_base, lestes::md::types::tm_dt_union_base, lestes::md::types::tm_dt_struct_base, lestes::md::types::tm_dt_simple, lestes::md::types::tm_dt_bitfield, lestes::md::types::tm_dt_array, lestes::md::types::tm_dt_union, and lestes::md::types::tm_dt_struct.

ptr< object::field_list_list > lestes::md::types::tm_data_type_base::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::types::tm_dt_simple_base, lestes::md::types::tm_dt_bitfield_base, lestes::md::types::tm_dt_array_base, lestes::md::types::tm_dt_union_base, lestes::md::types::tm_dt_struct_base, lestes::md::types::tm_dt_simple, lestes::md::types::tm_dt_bitfield, lestes::md::types::tm_dt_array, lestes::md::types::tm_dt_union, and lestes::md::types::tm_dt_struct.

void lestes::md::types::tm_data_type_base::gc_mark ( void   )  [protected, virtual]

Marking routine for class tm_data_type_base.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::std::mem::keystone.

Reimplemented in lestes::md::types::tm_dt_simple_base, lestes::md::types::tm_dt_bitfield_base, lestes::md::types::tm_dt_array_base, lestes::md::types::tm_dt_union_base, lestes::md::types::tm_dt_struct_base, lestes::md::types::tm_dt_simple, lestes::md::types::tm_dt_bitfield, lestes::md::types::tm_dt_array, lestes::md::types::tm_dt_union, and lestes::md::types::tm_dt_struct.


Member Data Documentation

tm_data_type_base::id_type lestes::md::types::tm_data_type_base::id [private]

Data type id.

Each data type is identified by its id (integer has id, double has id, struct has id, etc.)

format_type lestes::md::types::tm_data_type_base::format [private]

Data type format.

ulint lestes::md::types::tm_data_type_base::bitwidth [private]

Data type bitwidth.

ulint lestes::md::types::tm_data_type_base::alignment [private]

Data type alignment.

srp< ::lestes::md::registers::tm_register_base > lestes::md::types::tm_data_type_base::return_reg [private]

Register where return value of the type is returned from function call.

lstring lestes::md::types::tm_data_type_base::asm_output [private]

Asm output produced by the type.

lstring lestes::md::types::tm_data_type_base::asm_decl [private]

Asm output used in declarations.

ptr< object::reflection_list > lestes::md::types::tm_data_type_base::reflection = reflection [static, private]

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::types::tm_dt_simple_base, lestes::md::types::tm_dt_bitfield_base, lestes::md::types::tm_dt_array_base, lestes::md::types::tm_dt_union_base, lestes::md::types::tm_dt_struct_base, lestes::md::types::tm_dt_simple, lestes::md::types::tm_dt_bitfield, lestes::md::types::tm_dt_array, lestes::md::types::tm_dt_union, and lestes::md::types::tm_dt_struct.


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