00001
00002
00003
00004
00005
00006
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
00055 class pi_operands : public ::lestes::std::object {
00056 public:
00057
00058 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > operands_input_get() const;
00059
00060
00061 void operands_input_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > & );
00062
00063
00064 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > operands_output_get() const;
00065
00066
00067 void operands_output_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > & );
00068
00069
00070 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > operands_input_types_get() const;
00071
00072
00073 void operands_input_types_set(const ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > & );
00074
00075
00076 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > operands_output_types_get() const;
00077
00078
00079 void operands_output_types_set(const ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > & );
00080
00081
00082 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > jmp_targets_get() const;
00083
00084
00085 void jmp_targets_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > & );
00086
00087
00088
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
00099 virtual ptr<reflection_list> reflection_get() const;
00100
00101 virtual ptr<field_list_list> field_values_get() const;
00102
00103 protected:
00104
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
00113 virtual void gc_mark();
00114
00115 private:
00116
00117 srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > operands_input;
00118
00119 srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > operands_output;
00120
00121
00122
00123
00124
00125
00126
00127 srp< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > operands_input_types;
00128
00129
00130
00131
00132
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 };
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