00001 // This file is automatically generated, do not edit. 00002 00003 /*! 00004 \file 00005 \brief ss_type to tm_data type convertor base. 00006 \author jaz 00007 */ 00008 00009 #ifndef lestes__md__types__ss_type2tm_type_base_g_hh__included 00010 #define lestes__md__types__ss_type2tm_type_base_g_hh__included 00011 00012 #include <lestes/common.hh> 00013 #include <lestes/md/common.hh> 00014 #include <lestes/lang/cplus/sem/ss_type_visitor.v.g.hh> 00015 00016 #include <lestes/std/objectize_macros.hh> 00017 package(lestes); 00018 package(md); 00019 package(types); 00020 class tm_dt_simple_base; 00021 end_package(types); 00022 end_package(md); 00023 end_package(lestes); 00024 00025 package(lestes); 00026 package(lang); 00027 package(cplus); 00028 package(sem); 00029 class ss_type2tm_type_gen_base; 00030 end_package(sem); 00031 end_package(cplus); 00032 end_package(lang); 00033 end_package(lestes); 00034 00035 package(lestes); 00036 package(md); 00037 package(types); 00038 00039 00040 class ss_type2tm_type_base; 00041 00042 00043 /*! \brief Base class for visitor that converts ss_type to tm_data_type. 00044 00045 Note: A concrete derived class is target dependent and it is placed in 00046 /target/machine/${TARGET_CPU}/lestes/md/types/ directory. 00047 */ 00048 class ss_type2tm_type_base : public ::lestes::lang::cplus::sem::ss_type2tm_type_gen_base { 00049 public: 00050 //! Returns tm_data_type of a conditional pseudoregister. 00051 virtual ptr< ::lestes::md::types::tm_dt_simple_base > conditional_preg_type_get() abstract; 00052 00053 00054 00055 //! for purposes of dumping 00056 virtual ptr<reflection_list> reflection_get() const; 00057 //! for purposes of dumping 00058 virtual ptr<field_list_list> field_values_get() const; 00059 00060 protected: 00061 //! Generated constructor for class ss_type2tm_type_base. 00062 ss_type2tm_type_base ( 00063 ); 00064 00065 //! Marking routine for class ss_type2tm_type_base. 00066 virtual void gc_mark(); 00067 00068 private: 00069 static ptr<reflection_list> reflection; 00070 00071 }; // ss_type2tm_type_base 00072 00073 00074 end_package(types); 00075 end_package(md); 00076 end_package(lestes); 00077 00078 #endif // lestes__md__types__ss_type2tm_type_base_g_hh__included
1.5.1-20070107