ss_literal_info.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Intercode structure for project Lestes
00006         
00007                         This file describes a set of classes and data types used for intercode layer -ss-.
00008                         It is an output from a XSLT template which generates C++ code.
00009                 
00010 */
00011 
00012 #include <lestes/lang/cplus/sem/visitor.v.g.hh>
00013 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00014 
00015 #include <lestes/std/list.hh>
00016 #include <lestes/std/pair.hh>
00017 #include <lestes/std/reflect.hh>
00018 
00019 #include <lestes/lang/cplus/sem/ss_literal_info.g.hh>
00020 
00021 package(lestes);
00022 package(lang);
00023 package(cplus);
00024 package(sem);
00025 
00026 
00027 // ------------- Class ss_literal_info follows. -------------
00028 
00029 /*!
00030    \returns The value of ss_literal_info::type.
00031    \author lsg
00032  */
00033 ptr< ss_type > ss_literal_info::type_get() const
00034 {
00035         return type;
00036 }
00037 
00038 /*!
00039    \param[in] x The new value to set ss_literal_info::type to.
00040    \author lsg
00041  */
00042 void ss_literal_info::type_set(const ptr< ss_type > & x)
00043 {
00044         ss_literal_info::type = x;
00045 }
00046 
00047 /*!
00048    Generated constructor for class ss_literal_info.
00049    \author lsg
00050  */
00051 ss_literal_info::ss_literal_info (ptr< ss_type > a__ss_literal_info__type)
00052         : ss_base(), type(checked(a__ss_literal_info__type))
00053 {}
00054 
00055 ptr< object::reflection_list > ss_literal_info::reflection_get() const
00056 {
00057         if (!reflection) {
00058                 typedef class_reflection::field_metadata md;
00059                 typedef class_reflection::field_metadata_list mdlist;
00060                 ptr<mdlist> mdl = mdlist::create();
00061                 mdl->push_back( md::create( "type", "ss_type" ) );
00062                 reflection = reflection_list::create( ::lestes::intercode::ss_base::reflection_get() );
00063                 reflection->push_back( class_reflection::create( "ss_literal_info", mdl ) );
00064         }
00065         return reflection;
00066 }
00067 
00068 ptr< object::field_list_list > ss_literal_info::field_values_get() const
00069 {
00070         ptr < field_list_list > result = ::lestes::intercode::ss_base::field_values_get();
00071         result->push_back( value_list::create() );
00072         result->back()->push_back( this->type );
00073         return result;
00074 }
00075 
00076 
00077 /*!
00078    Marking routine is used for garbage collection.
00079    \author lsg
00080  */
00081 void ss_literal_info::gc_mark()
00082 {
00083 	::lestes::intercode::ss_base::gc_mark();
00084 }
00085 
00086 // End of class ss_literal_info.
00087 
00088 // ------------- Class ss_integral_literal_info follows. -------------
00089 
00090 /*!
00091    \returns The value of ss_integral_literal_info::data.
00092    \author lsg
00093  */
00094 ucn_string ss_integral_literal_info::data_get() const
00095 {
00096         return data;
00097 }
00098 
00099 /*!
00100    \param[in] x The new value to set ss_integral_literal_info::data to.
00101    \author lsg
00102  */
00103 void ss_integral_literal_info::data_set(ucn_string x)
00104 {
00105         ss_integral_literal_info::data = x;
00106 }
00107 
00108 void ss_integral_literal_info::accept_ss_literal_info_visitor( ptr< ss_literal_info_visitor > v )
00109 {
00110         return v->visit_ss_integral_literal_info( this );
00111 }
00112 
00113 /*!
00114    This factory method for class ss_integral_literal_info takes values of all fields as arguments.
00115    \author lsg
00116  */
00117 ptr< ss_integral_literal_info > ss_integral_literal_info::create(ptr< ss_type > a__ss_literal_info__type,
00118                 ucn_string a__ss_integral_literal_info__data)
00119 {
00120         return ptr< ss_integral_literal_info > ( new ss_integral_literal_info(a__ss_literal_info__type,
00121                 a__ss_integral_literal_info__data) );
00122 }
00123 
00124 /*!
00125    Generated constructor for class ss_integral_literal_info.
00126    \author lsg
00127  */
00128 ss_integral_literal_info::ss_integral_literal_info (ptr< ss_type > a__ss_literal_info__type,
00129                 ucn_string a__ss_integral_literal_info__data)
00130         : ss_literal_info(a__ss_literal_info__type), data(a__ss_integral_literal_info__data)
00131 {}
00132 
00133 ptr< object::reflection_list > ss_integral_literal_info::reflection_get() const
00134 {
00135         if (!reflection) {
00136                 typedef class_reflection::field_metadata md;
00137                 typedef class_reflection::field_metadata_list mdlist;
00138                 ptr<mdlist> mdl = mdlist::create();
00139                 mdl->push_back( md::create( "data", "ucn_string" ) );
00140                 reflection = reflection_list::create( ss_literal_info::reflection_get() );
00141                 reflection->push_back( class_reflection::create( "ss_integral_literal_info", mdl ) );
00142         }
00143         return reflection;
00144 }
00145 
00146 ptr< object::field_list_list > ss_integral_literal_info::field_values_get() const
00147 {
00148         ptr < field_list_list > result = ss_literal_info::field_values_get();
00149         result->push_back( value_list::create() );
00150         result->back()->push_back( objectize< ucn_string > ::create( this->data ) );
00151         return result;
00152 }
00153 
00154 
00155 /*!
00156    Marking routine is used for garbage collection.
00157    \author lsg
00158  */
00159 void ss_integral_literal_info::gc_mark()
00160 {
00161         ss_literal_info::gc_mark();
00162 }
00163 
00164 // End of class ss_integral_literal_info.
00165 
00166 // ------------- Class ss_floating_literal_info follows. -------------
00167 
00168 /*!
00169    \returns The value of ss_floating_literal_info::sign.
00170    \author lsg
00171  */
00172 ss_floating_literal_info::sign_type ss_floating_literal_info::sign_get() const
00173 {
00174         return sign;
00175 }
00176 
00177 /*!
00178    \param[in] x The new value to set ss_floating_literal_info::sign to.
00179    \author lsg
00180  */
00181 void ss_floating_literal_info::sign_set(sign_type x)
00182 {
00183         ss_floating_literal_info::sign = x;
00184 }
00185 
00186 /*!
00187    \returns The value of ss_floating_literal_info::mantissa.
00188    \author lsg
00189  */
00190 ucn_string ss_floating_literal_info::mantissa_get() const
00191 {
00192         return mantissa;
00193 }
00194 
00195 /*!
00196    \param[in] x The new value to set ss_floating_literal_info::mantissa to.
00197    \author lsg
00198  */
00199 void ss_floating_literal_info::mantissa_set(ucn_string x)
00200 {
00201         ss_floating_literal_info::mantissa = x;
00202 }
00203 
00204 /*!
00205    \returns The value of ss_floating_literal_info::mantissa_base.
00206    \author lsg
00207  */
00208 ulint ss_floating_literal_info::mantissa_base_get() const
00209 {
00210         return mantissa_base;
00211 }
00212 
00213 /*!
00214    \param[in] x The new value to set ss_floating_literal_info::mantissa_base to.
00215    \author lsg
00216  */
00217 void ss_floating_literal_info::mantissa_base_set(ulint x)
00218 {
00219         ss_floating_literal_info::mantissa_base = x;
00220 }
00221 
00222 /*!
00223    \returns The value of ss_floating_literal_info::exponent_sign.
00224    \author lsg
00225  */
00226 ss_floating_literal_info::sign_type ss_floating_literal_info::exponent_sign_get() const
00227 {
00228         return exponent_sign;
00229 }
00230 
00231 /*!
00232    \param[in] x The new value to set ss_floating_literal_info::exponent_sign to.
00233    \author lsg
00234  */
00235 void ss_floating_literal_info::exponent_sign_set(sign_type x)
00236 {
00237         ss_floating_literal_info::exponent_sign = x;
00238 }
00239 
00240 /*!
00241    \returns The value of ss_floating_literal_info::exponent.
00242    \author lsg
00243  */
00244 ucn_string ss_floating_literal_info::exponent_get() const
00245 {
00246         return exponent;
00247 }
00248 
00249 /*!
00250    \param[in] x The new value to set ss_floating_literal_info::exponent to.
00251    \author lsg
00252  */
00253 void ss_floating_literal_info::exponent_set(ucn_string x)
00254 {
00255         ss_floating_literal_info::exponent = x;
00256 }
00257 
00258 /*!
00259    \returns The value of ss_floating_literal_info::exponent_base.
00260    \author lsg
00261  */
00262 ulint ss_floating_literal_info::exponent_base_get() const
00263 {
00264         return exponent_base;
00265 }
00266 
00267 /*!
00268    \param[in] x The new value to set ss_floating_literal_info::exponent_base to.
00269    \author lsg
00270  */
00271 void ss_floating_literal_info::exponent_base_set(ulint x)
00272 {
00273         ss_floating_literal_info::exponent_base = x;
00274 }
00275 
00276 /*!
00277    \returns The value of ss_floating_literal_info::radix.
00278    \author lsg
00279  */
00280 ulint ss_floating_literal_info::radix_get() const
00281 {
00282         return radix;
00283 }
00284 
00285 /*!
00286    \param[in] x The new value to set ss_floating_literal_info::radix to.
00287    \author lsg
00288  */
00289 void ss_floating_literal_info::radix_set(ulint x)
00290 {
00291         ss_floating_literal_info::radix = x;
00292 }
00293 
00294 void ss_floating_literal_info::accept_ss_literal_info_visitor( ptr< ss_literal_info_visitor > v )
00295 {
00296         return v->visit_ss_floating_literal_info( this );
00297 }
00298 
00299 /*!
00300    This factory method for class ss_floating_literal_info takes values of all fields as arguments.
00301    \author lsg
00302  */
00303 ptr< ss_floating_literal_info > ss_floating_literal_info::create(ptr< ss_type > a__ss_literal_info__type,
00304                 sign_type a__ss_floating_literal_info__sign,
00305                 ucn_string a__ss_floating_literal_info__mantissa,
00306                 ulint a__ss_floating_literal_info__mantissa_base,
00307                 sign_type a__ss_floating_literal_info__exponent_sign,
00308                 ucn_string a__ss_floating_literal_info__exponent,
00309                 ulint a__ss_floating_literal_info__exponent_base,
00310                 ulint a__ss_floating_literal_info__radix)
00311 {
00312         return ptr< ss_floating_literal_info > ( new ss_floating_literal_info(a__ss_literal_info__type,
00313                 a__ss_floating_literal_info__sign,
00314                 a__ss_floating_literal_info__mantissa,
00315                 a__ss_floating_literal_info__mantissa_base,
00316                 a__ss_floating_literal_info__exponent_sign,
00317                 a__ss_floating_literal_info__exponent,
00318                 a__ss_floating_literal_info__exponent_base,
00319                 a__ss_floating_literal_info__radix) );
00320 }
00321 
00322 /*!
00323    This factory method for class ss_floating_literal_info uses initializers.
00324    \author lsg
00325  */
00326 ptr< ss_floating_literal_info > ss_floating_literal_info::create(ptr< ss_type > a__ss_literal_info__type,
00327                 sign_type a__ss_floating_literal_info__sign,
00328                 ucn_string a__ss_floating_literal_info__mantissa,
00329                 sign_type a__ss_floating_literal_info__exponent_sign,
00330                 ucn_string a__ss_floating_literal_info__exponent)
00331 {
00332         return ptr< ss_floating_literal_info > ( new ss_floating_literal_info(a__ss_literal_info__type, a__ss_floating_literal_info__sign, a__ss_floating_literal_info__mantissa, 10, a__ss_floating_literal_info__exponent_sign, a__ss_floating_literal_info__exponent, 10, 10) );
00333 }
00334 
00335 /*!
00336    Generated constructor for class ss_floating_literal_info.
00337    \author lsg
00338  */
00339 ss_floating_literal_info::ss_floating_literal_info (ptr< ss_type > a__ss_literal_info__type,
00340                 sign_type a__ss_floating_literal_info__sign,
00341                 ucn_string a__ss_floating_literal_info__mantissa,
00342                 ulint a__ss_floating_literal_info__mantissa_base,
00343                 sign_type a__ss_floating_literal_info__exponent_sign,
00344                 ucn_string a__ss_floating_literal_info__exponent,
00345                 ulint a__ss_floating_literal_info__exponent_base,
00346                 ulint a__ss_floating_literal_info__radix)
00347         : ss_literal_info(a__ss_literal_info__type), sign(a__ss_floating_literal_info__sign), mantissa(a__ss_floating_literal_info__mantissa), mantissa_base(a__ss_floating_literal_info__mantissa_base), exponent_sign(a__ss_floating_literal_info__exponent_sign), exponent(a__ss_floating_literal_info__exponent), exponent_base(a__ss_floating_literal_info__exponent_base), radix(a__ss_floating_literal_info__radix)
00348 {}
00349 
00350 ptr< object::reflection_list > ss_floating_literal_info::reflection_get() const
00351 {
00352         if (!reflection) {
00353                 typedef class_reflection::field_metadata md;
00354                 typedef class_reflection::field_metadata_list mdlist;
00355                 ptr<mdlist> mdl = mdlist::create();
00356                 mdl->push_back( md::create( "sign", "sign_type" ) );
00357                 mdl->push_back( md::create( "mantissa", "ucn_string" ) );
00358                 mdl->push_back( md::create( "mantissa_base", "ulint" ) );
00359                 mdl->push_back( md::create( "exponent_sign", "sign_type" ) );
00360                 mdl->push_back( md::create( "exponent", "ucn_string" ) );
00361                 mdl->push_back( md::create( "exponent_base", "ulint" ) );
00362                 mdl->push_back( md::create( "radix", "ulint" ) );
00363                 reflection = reflection_list::create( ss_literal_info::reflection_get() );
00364                 reflection->push_back( class_reflection::create( "ss_floating_literal_info", mdl ) );
00365         }
00366         return reflection;
00367 }
00368 
00369 ptr< object::field_list_list > ss_floating_literal_info::field_values_get() const
00370 {
00371         ptr < field_list_list > result = ss_literal_info::field_values_get();
00372         result->push_back( value_list::create() );
00373         result->back()->push_back( objectize< sign_type > ::create( this->sign ) );
00374         result->push_back( value_list::create() );
00375         result->back()->push_back( objectize< ucn_string > ::create( this->mantissa ) );
00376         result->push_back( value_list::create() );
00377         result->back()->push_back( objectize< ulint > ::create( this->mantissa_base ) );
00378         result->push_back( value_list::create() );
00379         result->back()->push_back( objectize< sign_type > ::create( this->exponent_sign ) );
00380         result->push_back( value_list::create() );
00381         result->back()->push_back( objectize< ucn_string > ::create( this->exponent ) );
00382         result->push_back( value_list::create() );
00383         result->back()->push_back( objectize< ulint > ::create( this->exponent_base ) );
00384         result->push_back( value_list::create() );
00385         result->back()->push_back( objectize< ulint > ::create( this->radix ) );
00386         return result;
00387 }
00388 
00389 
00390 /*!
00391    Marking routine is used for garbage collection.
00392    \author lsg
00393  */
00394 void ss_floating_literal_info::gc_mark()
00395 {
00396         ss_literal_info::gc_mark();
00397 }
00398 
00399 // End of class ss_floating_literal_info.
00400 
00401 // ------------- Class ss_compound_literal_info follows. -------------
00402 
00403 /*!
00404    \returns The value of ss_compound_literal_info::constituents.
00405    \author lsg
00406  */
00407 ptr< ::lestes::std::list< srp< ss_literal_info > > > ss_compound_literal_info::constituents_get() const
00408 {
00409         return constituents;
00410 }
00411 
00412 void ss_compound_literal_info::accept_ss_literal_info_visitor( ptr< ss_literal_info_visitor > v )
00413 {
00414         return v->visit_ss_compound_literal_info( this );
00415 }
00416 
00417 /*!
00418    This factory method for class ss_compound_literal_info takes values of all fields as arguments.
00419    \author lsg
00420  */
00421 ptr< ss_compound_literal_info > ss_compound_literal_info::create(ptr< ss_type > a__ss_literal_info__type,
00422                 ptr< ::lestes::std::list< srp< ss_literal_info > > > a__ss_compound_literal_info__constituents)
00423 {
00424         return ptr< ss_compound_literal_info > ( new ss_compound_literal_info(a__ss_literal_info__type,
00425                 a__ss_compound_literal_info__constituents) );
00426 }
00427 
00428 /*!
00429    Generated constructor for class ss_compound_literal_info.
00430    \author lsg
00431  */
00432 ss_compound_literal_info::ss_compound_literal_info (ptr< ss_type > a__ss_literal_info__type,
00433                 ptr< ::lestes::std::list< srp< ss_literal_info > > > a__ss_compound_literal_info__constituents)
00434         : ss_literal_info(a__ss_literal_info__type), constituents(checked(a__ss_compound_literal_info__constituents))
00435 {}
00436 
00437 ptr< object::reflection_list > ss_compound_literal_info::reflection_get() const
00438 {
00439         if (!reflection) {
00440                 typedef class_reflection::field_metadata md;
00441                 typedef class_reflection::field_metadata_list mdlist;
00442                 ptr<mdlist> mdl = mdlist::create();
00443                 mdl->push_back( md::create( "constituents", "list&lt; srp&lt; ss_literal_info &gt; &gt;" ) );
00444                 reflection = reflection_list::create( ss_literal_info::reflection_get() );
00445                 reflection->push_back( class_reflection::create( "ss_compound_literal_info", mdl ) );
00446         }
00447         return reflection;
00448 }
00449 
00450 ptr< object::field_list_list > ss_compound_literal_info::field_values_get() const
00451 {
00452         ptr < field_list_list > result = ss_literal_info::field_values_get();
00453         result->push_back( value_list::create() );
00454         result->back()->push_back( this->constituents );
00455         return result;
00456 }
00457 
00458 
00459 /*!
00460    Marking routine is used for garbage collection.
00461    \author lsg
00462  */
00463 void ss_compound_literal_info::gc_mark()
00464 {
00465         ss_literal_info::gc_mark();
00466 }
00467 
00468 // End of class ss_compound_literal_info.
00469 
00470 
00471 // static data members follow 
00472 ptr<object::reflection_list> ss_literal_info::reflection = reflection;
00473 ptr<object::reflection_list> ss_integral_literal_info::reflection = reflection;
00474 ptr<object::reflection_list> ss_floating_literal_info::reflection = reflection;
00475 ptr<object::reflection_list> ss_compound_literal_info::reflection = reflection;
00476 
00477 end_package(sem);
00478 end_package(cplus);
00479 end_package(lang);
00480 end_package(lestes);
00481 

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