00001
00002
00003
00004
00005
00006
00007
00008
00009 #include <lestes/md/types/tm_data_type_base.g.hh>
00010 #include <lestes/backend_v2/intercode/pi.g.hh>
00011
00012 #include <lestes/std/list.hh>
00013 #include <lestes/std/pair.hh>
00014 #include <lestes/std/reflect.hh>
00015
00016 #include <lestes/backend_v2/structs/pi_operands.g.hh>
00017
00018 package(lestes);
00019 package(backend_v2);
00020 package(structs);
00021
00022
00023
00024
00025
00026
00027
00028
00029 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > pi_operands::operands_input_get() const
00030 {
00031 return operands_input;
00032 }
00033
00034
00035
00036
00037
00038 void pi_operands::operands_input_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > & x)
00039 {
00040 pi_operands::operands_input = x;
00041 }
00042
00043
00044
00045
00046
00047 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > pi_operands::operands_output_get() const
00048 {
00049 return operands_output;
00050 }
00051
00052
00053
00054
00055
00056 void pi_operands::operands_output_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > & x)
00057 {
00058 pi_operands::operands_output = x;
00059 }
00060
00061
00062
00063
00064
00065 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > pi_operands::operands_input_types_get() const
00066 {
00067 return operands_input_types;
00068 }
00069
00070
00071
00072
00073
00074 void pi_operands::operands_input_types_set(const ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > & x)
00075 {
00076 pi_operands::operands_input_types = x;
00077 }
00078
00079
00080
00081
00082
00083 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > pi_operands::operands_output_types_get() const
00084 {
00085 return operands_output_types;
00086 }
00087
00088
00089
00090
00091
00092 void pi_operands::operands_output_types_set(const ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > & x)
00093 {
00094 pi_operands::operands_output_types = x;
00095 }
00096
00097
00098
00099
00100
00101 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > pi_operands::jmp_targets_get() const
00102 {
00103 return jmp_targets;
00104 }
00105
00106
00107
00108
00109
00110 void pi_operands::jmp_targets_set(const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > & x)
00111 {
00112 pi_operands::jmp_targets = x;
00113 }
00114
00115
00116
00117
00118
00119 ptr< pi_operands > pi_operands::create(ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > a__pi_operands__operands_input,
00120 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > a__pi_operands__operands_output,
00121 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > a__pi_operands__operands_input_types,
00122 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > a__pi_operands__operands_output_types,
00123 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > a__pi_operands__jmp_targets)
00124 {
00125 return ptr< pi_operands > ( new pi_operands(a__pi_operands__operands_input,
00126 a__pi_operands__operands_output,
00127 a__pi_operands__operands_input_types,
00128 a__pi_operands__operands_output_types,
00129 a__pi_operands__jmp_targets) );
00130 }
00131
00132
00133
00134
00135
00136 pi_operands::pi_operands (ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > a__pi_operands__operands_input,
00137 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_operand > > > a__pi_operands__operands_output,
00138 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > a__pi_operands__operands_input_types,
00139 ptr< ::lestes::std::vector< srp< ::lestes::md::types::tm_data_type_base > > > a__pi_operands__operands_output_types,
00140 ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::pi_sp > > > a__pi_operands__jmp_targets)
00141 : ::lestes::std::object(), operands_input(checked(a__pi_operands__operands_input)), operands_output(checked(a__pi_operands__operands_output)), operands_input_types(checked(a__pi_operands__operands_input_types)), operands_output_types(checked(a__pi_operands__operands_output_types)), jmp_targets(checked(a__pi_operands__jmp_targets))
00142 {}
00143
00144 ptr< object::reflection_list > pi_operands::reflection_get() const
00145 {
00146 if (!reflection) {
00147 typedef class_reflection::field_metadata md;
00148 typedef class_reflection::field_metadata_list mdlist;
00149 ptr<mdlist> mdl = mdlist::create();
00150 mdl->push_back( md::create( "operands_input", "vector< srp< ::lestes::backend_v2::intercode::pi_operand > >" ) );
00151 mdl->push_back( md::create( "operands_output", "vector< srp< ::lestes::backend_v2::intercode::pi_operand > >" ) );
00152 mdl->push_back( md::create( "operands_input_types", "vector< srp< ::lestes::md::types::tm_data_type_base > >" ) );
00153 mdl->push_back( md::create( "operands_output_types", "vector< srp< ::lestes::md::types::tm_data_type_base > >" ) );
00154 mdl->push_back( md::create( "jmp_targets", "vector< srp< ::lestes::backend_v2::intercode::pi_sp > >" ) );
00155 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00156 reflection->push_back( class_reflection::create( "pi_operands", mdl ) );
00157 }
00158 return reflection;
00159 }
00160
00161 ptr< object::field_list_list > pi_operands::field_values_get() const
00162 {
00163 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00164 result->push_back( value_list::create() );
00165 result->back()->push_back( this->operands_input );
00166 result->push_back( value_list::create() );
00167 result->back()->push_back( this->operands_output );
00168 result->push_back( value_list::create() );
00169 result->back()->push_back( this->operands_input_types );
00170 result->push_back( value_list::create() );
00171 result->back()->push_back( this->operands_output_types );
00172 result->push_back( value_list::create() );
00173 result->back()->push_back( this->jmp_targets );
00174 return result;
00175 }
00176
00177
00178
00179
00180
00181
00182 void pi_operands::gc_mark()
00183 {
00184 ::lestes::std::object::gc_mark();
00185 }
00186
00187
00188
00189
00190
00191 ptr<object::reflection_list> pi_operands::reflection = reflection;
00192
00193 end_package(structs);
00194 end_package(backend_v2);
00195 end_package(lestes);
00196