lestes::md::instructions::tm_instr_op_imm_base Class Reference

Immediate operand. More...

#include <tm_instr_base.g.hh>

Inheritance diagram for lestes::md::instructions::tm_instr_op_imm_base:

lestes::md::instructions::tm_instr_op_base lestes::std::object lestes::std::mem::keystone lestes::md::instructions::tm_instr_op_imm List of all members.

Public Member Functions

virtual tm_instr_op_base::kind_type kind_get ()
 Tells kind of current operand.
virtual ptr< ::lestes::backend_v2::intercode::ge_operandconvert_to_ge (ptr< ::lestes::md::types::tm_data_type_base > type)
 Creates new instance of ge_operand on the basis of the current tm_instr_op.
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_instr_op_imm_base (ulint a__tm_instr_op_base__id, ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > > a__tm_instr_op_base__allowed_types, ptr< ::lestes::std::vector< ulint > > a__tm_instr_op_base__destroyed_by, ulint a__tm_instr_op_base__destroys)
 Generated constructor for class tm_instr_op_imm_base.
virtual void gc_mark ()
 Marking routine for class tm_instr_op_imm_base.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Immediate operand.

Note: A concrete derived class is target dependent and it is placed in /target/machine/${TARGET_CPU}/lestes/md/instructions/ directory.

Definition at line 339 of file tm_instr_base.g.hh.


Constructor & Destructor Documentation

lestes::md::instructions::tm_instr_op_imm_base::tm_instr_op_imm_base ( ulint  a__tm_instr_op_base__id,
ptr< ::lestes::std::set< ::lestes::md::types::tm_data_type_base::id_type > >  a__tm_instr_op_base__allowed_types,
ptr< ::lestes::std::vector< ulint > >  a__tm_instr_op_base__destroyed_by,
ulint  a__tm_instr_op_base__destroys 
) [protected]

Generated constructor for class tm_instr_op_imm_base.

Generated constructor for class tm_instr_op_imm_base.

Author:
lsg

Definition at line 484 of file tm_instr_base.g.cc.

00488         : tm_instr_op_base(a__tm_instr_op_base__id,
00489                 a__tm_instr_op_base__allowed_types,
00490                 a__tm_instr_op_base__destroyed_by,
00491                 a__tm_instr_op_base__destroys)
00492 {}


Member Function Documentation

tm_instr_op_base::kind_type lestes::md::instructions::tm_instr_op_imm_base::kind_get (  )  [virtual]

Tells kind of current operand.

Implements lestes::md::instructions::tm_instr_op_base.

Definition at line 73 of file tm_instr_base.cc.

References lestes::md::instructions::tm_instr_op_base::IMMEDIATE.

00074 {
00075     return tm_instr_op_base::IMMEDIATE;
00076 }

ptr<::lestes::backend_v2::intercode::ge_operand > lestes::md::instructions::tm_instr_op_imm_base::convert_to_ge ( ptr< ::lestes::md::types::tm_data_type_base type  )  [virtual]

Creates new instance of ge_operand on the basis of the current tm_instr_op.

Parameters:
type A datatype of the created operand.
Returns:
A new ge_operand.

Implements lestes::md::instructions::tm_instr_op_base.

Definition at line 84 of file tm_instr_base.cc.

References lassert.

00084                                                                                                                     {
00085         lassert(false);
00086 }

ptr< object::reflection_list > lestes::md::instructions::tm_instr_op_imm_base::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::md::instructions::tm_instr_op_base.

Reimplemented in lestes::md::instructions::tm_instr_op_imm.

Definition at line 494 of file tm_instr_base.g.cc.

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

Referenced by lestes::md::instructions::tm_instr_op_imm::reflection_get().

00495 {
00496         if (!reflection) {
00497                 typedef class_reflection::field_metadata md;
00498                 typedef class_reflection::field_metadata_list mdlist;
00499                 ptr<mdlist> mdl = mdlist::create();
00500                 reflection = reflection_list::create( tm_instr_op_base::reflection_get() );
00501                 reflection->push_back( class_reflection::create( "tm_instr_op_imm_base", mdl ) );
00502         }
00503         return reflection;
00504 }

ptr< object::field_list_list > lestes::md::instructions::tm_instr_op_imm_base::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::md::instructions::tm_instr_op_base.

Reimplemented in lestes::md::instructions::tm_instr_op_imm.

Definition at line 506 of file tm_instr_base.g.cc.

References lestes::md::instructions::tm_instr_op_base::field_values_get().

Referenced by lestes::md::instructions::tm_instr_op_imm::field_values_get().

00507 {
00508         ptr < field_list_list > result = tm_instr_op_base::field_values_get();
00509         return result;
00510 }

void lestes::md::instructions::tm_instr_op_imm_base::gc_mark ( void   )  [protected, virtual]

Marking routine for class tm_instr_op_imm_base.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::md::instructions::tm_instr_op_base.

Reimplemented in lestes::md::instructions::tm_instr_op_imm.

Definition at line 517 of file tm_instr_base.g.cc.

References lestes::md::instructions::tm_instr_op_base::gc_mark().

Referenced by lestes::md::instructions::tm_instr_op_imm::gc_mark().

00518 {
00519         tm_instr_op_base::gc_mark();
00520 }


Member Data Documentation

ptr< object::reflection_list > lestes::md::instructions::tm_instr_op_imm_base::reflection = reflection [static, private]

Reimplemented from lestes::md::instructions::tm_instr_op_base.

Reimplemented in lestes::md::instructions::tm_instr_op_imm.

Definition at line 364 of file tm_instr_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:47 2007 for lestes by doxygen 1.5.1-20070107