00001 /* 00002 The lestes compiler suite 00003 Copyright (C) 2002, 2003, 2004, 2005 Miroslav Tichy 00004 Copyright (C) 2002, 2003, 2004, 2005 Petr Zika 00005 Copyright (C) 2002, 2003, 2004, 2005 Vojtech Hala 00006 Copyright (C) 2002, 2003, 2004, 2005 Jiri Kosina 00007 Copyright (C) 2002, 2003, 2004, 2005 Pavel Sanda 00008 Copyright (C) 2002, 2003, 2004, 2005 Jan Zouhar 00009 Copyright (C) 2002, 2003, 2004, 2005 Rudolf Thomas 00010 00011 This program is free software; you can redistribute it and/or modify 00012 it under the terms of the GNU General Public License as published by 00013 the Free Software Foundation; version 2 of the License. 00014 00015 This program is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU General Public License for more details. 00019 00020 See the full text of the GNU General Public License version 2, and 00021 the limitations in the file doc/LICENSE. 00022 00023 By accepting the license the licensee waives any and all claims 00024 against the copyright holder(s) related in whole or in part to the 00025 work, its use, and/or the inability to use it. 00026 00027 */ 00028 /*! 00029 \file 00030 \brief ss_type identification. 00031 \author jaz 00032 */ 00033 00034 #include <lestes/lang/cplus/sem/ss_type2id.g.hh> 00035 #include <lestes/lang/cplus/sem/ss_type.g.hh> 00036 00037 package(lestes); 00038 package(lang); 00039 package(cplus); 00040 package(sem); 00041 00042 00043 ptr< ss_type2id > ss_type2id::instance() 00044 { 00045 if ( !singleton_instance_get()) { 00046 singleton_instance_set(ss_type2id::create()); 00047 } 00048 00049 return singleton_instance_get(); 00050 } 00051 00052 00053 void ss_type2id::visit_ss_const(ptr< ::lestes::lang::cplus::sem::ss_const >) { 00054 ret_val = CONST; 00055 } 00056 00057 void ss_type2id::visit_ss_volatile(ptr< ::lestes::lang::cplus::sem::ss_volatile >){ 00058 ret_val = VOLATILE; 00059 } 00060 00061 void ss_type2id::visit_ss_const_volatile(ptr< ::lestes::lang::cplus::sem::ss_const_volatile >){ 00062 ret_val = CONST_VOLATILE; 00063 } 00064 00065 void ss_type2id::visit_ss_reference(ptr< ::lestes::lang::cplus::sem::ss_reference >){ 00066 ret_val = REFERENCE; 00067 } 00068 00069 void ss_type2id::visit_ss_pseudoreference(ptr< ::lestes::lang::cplus::sem::ss_pseudoreference >){ 00070 ret_val = PSEUDOREFERENCE; 00071 } 00072 00073 void ss_type2id::visit_ss_pointer(ptr< ::lestes::lang::cplus::sem::ss_pointer >){ 00074 ret_val = POINTER; 00075 } 00076 00077 void ss_type2id::visit_ss_enum(ptr< ::lestes::lang::cplus::sem::ss_enum >){ 00078 ret_val = ENUM; 00079 } 00080 00081 void ss_type2id::visit_ss_array(ptr< ::lestes::lang::cplus::sem::ss_array >){ 00082 ret_val = ARRAY; 00083 } 00084 00085 void ss_type2id::visit_ss_member_pointer(ptr< ::lestes::lang::cplus::sem::ss_member_pointer >){ 00086 ret_val = POINTER; 00087 } 00088 00089 void ss_type2id::visit_ss_function(ptr< ::lestes::lang::cplus::sem::ss_function >){ 00090 ret_val = FUNCTION; 00091 } 00092 00093 void ss_type2id::visit_ss_member_function(ptr< ::lestes::lang::cplus::sem::ss_member_function >){ 00094 ret_val = MEMBER_FUNCTION; 00095 } 00096 00097 void ss_type2id::visit_ss_class(ptr< ::lestes::lang::cplus::sem::ss_class >){ 00098 ret_val = CLASS; 00099 } 00100 00101 void ss_type2id::visit_ss_union(ptr< ::lestes::lang::cplus::sem::ss_union >){ 00102 ret_val = UNION; 00103 } 00104 00105 void ss_type2id::visit_ss_bool(ptr< ::lestes::lang::cplus::sem::ss_bool >){ 00106 ret_val = BOOL; 00107 } 00108 00109 void ss_type2id::visit_ss_void(ptr< ::lestes::lang::cplus::sem::ss_void >){ 00110 ret_val = VOID; 00111 } 00112 00113 void ss_type2id::visit_ss_type_sint(ptr< ::lestes::lang::cplus::sem::ss_type_sint >){ 00114 ret_val = SINT; 00115 } 00116 00117 void ss_type2id::visit_ss_type_uint(ptr< ::lestes::lang::cplus::sem::ss_type_uint >) { 00118 ret_val = UINT; 00119 } 00120 00121 void ss_type2id::visit_ss_type_slong(ptr< ::lestes::lang::cplus::sem::ss_type_slong >) { 00122 ret_val = SLONG; 00123 } 00124 00125 void ss_type2id::visit_ss_type_ulong(ptr< ::lestes::lang::cplus::sem::ss_type_ulong >){ 00126 ret_val = ULONG; 00127 } 00128 00129 void ss_type2id::visit_ss_type_sshort(ptr< ::lestes::lang::cplus::sem::ss_type_sshort >){ 00130 ret_val = SSHORT; 00131 } 00132 00133 void ss_type2id::visit_ss_type_ushort(ptr< ::lestes::lang::cplus::sem::ss_type_ushort >){ 00134 ret_val = USHORT; 00135 } 00136 00137 void ss_type2id::visit_ss_type_wchar_t(ptr< ::lestes::lang::cplus::sem::ss_type_wchar_t >){ 00138 ret_val = WCHAR_T; 00139 } 00140 00141 void ss_type2id::visit_ss_type_schar(ptr< ::lestes::lang::cplus::sem::ss_type_schar >){ 00142 ret_val = SCHAR; 00143 } 00144 00145 void ss_type2id::visit_ss_type_uchar(ptr< ::lestes::lang::cplus::sem::ss_type_uchar >){ 00146 ret_val = UCHAR; 00147 } 00148 00149 void ss_type2id::visit_ss_type_pchar(ptr< ::lestes::lang::cplus::sem::ss_type_pchar >){ 00150 ret_val = PCHAR; 00151 } 00152 00153 void ss_type2id::visit_ss_type_float(ptr< ::lestes::lang::cplus::sem::ss_type_float >){ 00154 ret_val = FLOAT; 00155 } 00156 00157 void ss_type2id::visit_ss_type_double(ptr< ::lestes::lang::cplus::sem::ss_type_double >){ 00158 ret_val = DOUBLE; 00159 } 00160 00161 void ss_type2id::visit_ss_type_ldouble(ptr< ::lestes::lang::cplus::sem::ss_type_ldouble >){ 00162 ret_val = LDOUBLE; 00163 } 00164 00165 00166 end_package(sem); 00167 end_package(cplus); 00168 end_package(lang); 00169 end_package(lestes); 00170
1.5.1-20070107