pi_operands.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Operands of pi-level pseudoinstruction.
00006         \author jaz
00007 */
00008 
00009 #ifndef lestes__backend_v2__structs__pi_operands_g_hh__included
00010 #define lestes__backend_v2__structs__pi_operands_g_hh__included
00011 
00012 #include <lestes/std/vector.hh>
00013 #include <lestes/backend_v2/common.hh>
00014 
00015 #include <lestes/std/objectize_macros.hh>
00016 package(lestes);
00017 package(std);
00018 class object;
00019 end_package(std);
00020 end_package(lestes);
00021 
00022 package(lestes);
00023 package(md);
00024 package(types);
00025 class tm_data_type_base;
00026 end_package(types);
00027 end_package(md);
00028 end_package(lestes);
00029 
00030 package(lestes);
00031 package(backend_v2);
00032 package(intercode);
00033 class pi_operand;
00034 end_package(intercode);
00035 end_package(backend_v2);
00036 end_package(lestes);
00037 
00038 package(lestes);
00039 package(backend_v2);
00040 package(intercode);
00041 class pi_sp;
00042 end_package(intercode);
00043 end_package(backend_v2);
00044 end_package(lestes);
00045 
00046 package(lestes);
00047 package(backend_v2);
00048 package(structs);
00049 
00050 
00051 class pi_operands;
00052 
00053 
00054 //! Operands of a pi_pi.
00055 class pi_operands : public ::lestes::std::object {
00056 public:
00057         //! The method operands_input_get returns the value of the field pi_operands::operands_input.
00058         ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > operands_input_get() const;
00059 
00060         //! The method operands_input_set sets the field pi_operands::operands_input to the given value.
00061         void operands_input_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > & );
00062 
00063         //! The method operands_output_get returns the value of the field pi_operands::operands_output.
00064         ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > operands_output_get() const;
00065 
00066         //! The method operands_output_set sets the field pi_operands::operands_output to the given value.
00067         void operands_output_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > & );
00068 
00069         //! The method operands_input_types_get returns the value of the field pi_operands::operands_input_types.
00070         ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > operands_input_types_get() const;
00071 
00072         //! The method operands_input_types_set sets the field pi_operands::operands_input_types to the given value.
00073         void operands_input_types_set(const ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > & );
00074 
00075         //! The method operands_output_types_get returns the value of the field pi_operands::operands_output_types.
00076         ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > operands_output_types_get() const;
00077 
00078         //! The method operands_output_types_set sets the field pi_operands::operands_output_types to the given value.
00079         void operands_output_types_set(const ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > & );
00080 
00081         //! The method jmp_targets_get returns the value of the field pi_operands::jmp_targets.
00082         ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > jmp_targets_get() const;
00083 
00084         //! The method jmp_targets_set sets the field pi_operands::jmp_targets to the given value.
00085         void jmp_targets_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > & );
00086 
00087         
00088         //! First generated factory method for class pi_operands.
00089         static ptr< pi_operands > create (
00090                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > a__pi_operands__operands_input,
00091                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > a__pi_operands__operands_output,
00092                 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > a__pi_operands__operands_input_types,
00093                 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > a__pi_operands__operands_output_types,
00094                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > a__pi_operands__jmp_targets);
00095 
00096         
00097 
00098         //! for purposes of dumping
00099         virtual ptr<reflection_list> reflection_get() const;
00100         //! for purposes of dumping
00101         virtual ptr<field_list_list> field_values_get() const;
00102         
00103 protected:
00104         //! Generated constructor for class pi_operands.
00105         pi_operands (
00106                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > a__pi_operands__operands_input,
00107                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > a__pi_operands__operands_output,
00108                 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > a__pi_operands__operands_input_types,
00109                 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > a__pi_operands__operands_output_types,
00110                 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > a__pi_operands__jmp_targets);
00111 
00112         //! Marking routine for class pi_operands. 
00113         virtual void gc_mark();
00114 
00115 private:
00116         //! Input operands.
00117         srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > >  operands_input;
00118         //! Output operands.
00119         srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > >  operands_output;
00120         /*! \brief Types of input operands.
00121 
00122         
00123 Each operand has its datatype saved inside it. But the type can be ss_union. Ss_type is mapped to target type tm_dt_union. An instance of tm_dt_union can 
00124 represent more than one tm_dt_simple. Therefore the right type for the operand within pseudoinstruction must be given explicitly. 
00125                         
00126         */
00127         srp< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > >  operands_input_types;
00128         /*! \brief Types of output operands.
00129 
00130         
00131 Each operand has its datatype saved inside it. But the type can be ss_union. Ss_type is mapped to target type tm_dt_union. An instance of tm_dt_union can 
00132 represent more than one tm_dt_simple. Therefore the right type for the operand within pseudoinstruction must be given explicitly. 
00133                         
00134         */
00135         srp< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > >  operands_output_types;
00136         srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > >  jmp_targets;
00137         static ptr<reflection_list> reflection;
00138         
00139 }; // pi_operands
00140 
00141 
00142 end_package(structs);
00143 end_package(backend_v2);
00144 end_package(lestes);
00145 
00146 #endif // lestes__backend_v2__structs__pi_operands_g_hh__included

Generated on Mon Feb 12 18:23:07 2007 for lestes by doxygen 1.5.1-20070107