1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 #include <precomp.h> 23 #include <s2_luidl/tk_keyw.hxx> 24 25 26 // NOT FULLY DECLARED SERVICES 27 #include <s2_luidl/tokintpr.hxx> 28 29 30 using csi::uidl::TokBuiltInType; 31 using csi::uidl::TokTypeModifier; 32 using csi::uidl::TokMetaType; 33 using csi::uidl::TokStereotype; 34 using csi::uidl::TokParameterHandling; 35 36 37 lux::EnumValueMap G_aTokBuiltInType_EV_TokenId_Values; 38 TokBuiltInType::EV_TokenId ev_bty_none(TokBuiltInType::e_none,""); 39 TokBuiltInType::EV_TokenId ev_bty_any(TokBuiltInType::bty_any,"any"); 40 TokBuiltInType::EV_TokenId ev_bty_boolean(TokBuiltInType::bty_boolean,"boolean"); 41 TokBuiltInType::EV_TokenId ev_bty_byte(TokBuiltInType::bty_byte,"byte"); 42 TokBuiltInType::EV_TokenId ev_bty_char(TokBuiltInType::bty_char,"char"); 43 TokBuiltInType::EV_TokenId ev_bty_double(TokBuiltInType::bty_double,"double"); 44 TokBuiltInType::EV_TokenId ev_bty_hyper(TokBuiltInType::bty_hyper,"hyper"); 45 TokBuiltInType::EV_TokenId ev_bty_long(TokBuiltInType::bty_long,"long"); 46 TokBuiltInType::EV_TokenId ev_bty_short(TokBuiltInType::bty_short,"short"); 47 TokBuiltInType::EV_TokenId ev_bty_string(TokBuiltInType::bty_string,"string"); 48 TokBuiltInType::EV_TokenId ev_bty_void(TokBuiltInType::bty_void,"void"); 49 TokBuiltInType::EV_TokenId ev_bty_ellipse(TokBuiltInType::bty_ellipse,"..."); 50 51 52 lux::EnumValueMap G_aTokTypeModifier_EV_TokenId_Values; 53 TokTypeModifier::EV_TokenId ev_tmod_none(TokTypeModifier::e_none,""); 54 TokTypeModifier::EV_TokenId ev_tmod_unsigned(TokTypeModifier::tmod_unsigned,"unsigned"); 55 TokTypeModifier::EV_TokenId ev_tmod_sequence(TokTypeModifier::tmod_sequence,"sequence"); 56 57 58 lux::EnumValueMap G_aTokMetaType_EV_TokenId_Values; 59 TokMetaType::EV_TokenId ev_mt_none(TokMetaType::e_none,""); 60 TokMetaType::EV_TokenId ev_mt_attribute(TokMetaType::mt_attribute,"attribute"); 61 TokMetaType::EV_TokenId ev_mt_constants(TokMetaType::mt_constants,"constants"); 62 TokMetaType::EV_TokenId ev_mt_enum(TokMetaType::mt_enum,"enum"); 63 TokMetaType::EV_TokenId ev_mt_exception(TokMetaType::mt_exception,"exception"); 64 TokMetaType::EV_TokenId ev_mt_ident(TokMetaType::mt_ident,"ident"); 65 TokMetaType::EV_TokenId ev_mt_interface(TokMetaType::mt_interface,"interface"); 66 TokMetaType::EV_TokenId ev_mt_module(TokMetaType::mt_module,"module"); 67 TokMetaType::EV_TokenId ev_mt_property(TokMetaType::mt_property,"property"); 68 TokMetaType::EV_TokenId ev_mt_service(TokMetaType::mt_service,"service"); 69 TokMetaType::EV_TokenId ev_mt_singleton(TokMetaType::mt_singleton,"singleton"); 70 TokMetaType::EV_TokenId ev_mt_struct(TokMetaType::mt_struct,"struct"); 71 TokMetaType::EV_TokenId ev_mt_typedef(TokMetaType::mt_typedef,"typedef"); 72 TokMetaType::EV_TokenId ev_mt_uik(TokMetaType::mt_uik,"uik"); 73 74 75 lux::EnumValueMap G_aTokStereotype_EV_TokenId_Values; 76 TokStereotype::EV_TokenId ev_ste_none(TokStereotype::e_none,""); 77 TokStereotype::EV_TokenId ev_ste_bound(TokStereotype::ste_bound,"bound"); 78 TokStereotype::EV_TokenId ev_ste_const(TokStereotype::ste_const,"const"); 79 TokStereotype::EV_TokenId ev_ste_constrained(TokStereotype::ste_constrained,"constrained"); 80 TokStereotype::EV_TokenId ev_ste_maybeambiguous(TokStereotype::ste_maybeambiguous,"maybeambiguous"); 81 TokStereotype::EV_TokenId ev_ste_maybedefault(TokStereotype::ste_maybedefault,"maybedefault"); 82 TokStereotype::EV_TokenId ev_ste_maybevoid(TokStereotype::ste_maybevoid,"maybevoid"); 83 TokStereotype::EV_TokenId ev_ste_oneway(TokStereotype::ste_oneway,"oneway"); 84 TokStereotype::EV_TokenId ev_ste_optional(TokStereotype::ste_optional,"optional"); 85 TokStereotype::EV_TokenId ev_ste_readonly(TokStereotype::ste_readonly,"readonly"); 86 TokStereotype::EV_TokenId ev_ste_removable(TokStereotype::ste_removable,"removable"); 87 TokStereotype::EV_TokenId ev_ste_virtual(TokStereotype::ste_virtual,"virtual"); 88 TokStereotype::EV_TokenId ev_ste_transient(TokStereotype::ste_transient,"transient"); 89 TokStereotype::EV_TokenId ev_ste_published(TokStereotype::ste_published,"published"); 90 91 92 lux::EnumValueMap G_aTokParameterHandling_EV_TokenId_Values; 93 TokParameterHandling::EV_TokenId ev_ph_none(TokParameterHandling::e_none,""); 94 TokParameterHandling::EV_TokenId ev_ph_in(TokParameterHandling::ph_in,"in"); 95 TokParameterHandling::EV_TokenId ev_ph_out(TokParameterHandling::ph_out,"out"); 96 TokParameterHandling::EV_TokenId ev_ph_inout(TokParameterHandling::ph_inout,"inout"); 97 98 99 namespace lux 100 { 101 102 template<> EnumValueMap & 103 TokBuiltInType::EV_TokenId::Values_() { return G_aTokBuiltInType_EV_TokenId_Values; } 104 template<> EnumValueMap & 105 TokTypeModifier::EV_TokenId::Values_() { return G_aTokTypeModifier_EV_TokenId_Values; } 106 template<> EnumValueMap & 107 TokMetaType::EV_TokenId::Values_() { return G_aTokMetaType_EV_TokenId_Values; } 108 template<> EnumValueMap & 109 TokStereotype::EV_TokenId::Values_() { return G_aTokStereotype_EV_TokenId_Values; } 110 template<> EnumValueMap & 111 TokParameterHandling::EV_TokenId::Values_() { return G_aTokParameterHandling_EV_TokenId_Values; } 112 113 } // namespace lux 114 115 116 117 namespace csi 118 { 119 namespace uidl 120 { 121 122 void 123 TokBuiltInType::Trigger( TokenInterpreter & io_rInterpreter ) const 124 { 125 io_rInterpreter.Process_BuiltInType(*this); 126 } 127 128 const char * 129 TokBuiltInType::Text() const 130 { 131 return eTag.Text(); 132 } 133 134 void 135 TokTypeModifier::Trigger( TokenInterpreter & io_rInterpreter ) const 136 { 137 io_rInterpreter.Process_TypeModifier(*this); 138 } 139 140 const char * 141 TokTypeModifier::Text() const 142 { 143 return eTag.Text(); 144 } 145 146 void 147 TokMetaType::Trigger( TokenInterpreter & io_rInterpreter ) const 148 { 149 io_rInterpreter.Process_MetaType(*this); 150 } 151 152 const char * 153 TokMetaType::Text() const 154 { 155 return eTag.Text(); 156 } 157 158 void 159 TokStereotype::Trigger( TokenInterpreter & io_rInterpreter ) const 160 { 161 io_rInterpreter.Process_Stereotype(*this); 162 } 163 164 const char * 165 TokStereotype::Text() const 166 { 167 return eTag.Text(); 168 } 169 170 void 171 TokParameterHandling::Trigger( TokenInterpreter & io_rInterpreter ) const 172 { 173 io_rInterpreter.Process_ParameterHandling(*this); 174 } 175 176 const char * 177 TokParameterHandling::Text() const 178 { 179 return eTag.Text(); 180 } 181 182 void 183 TokRaises::Trigger( TokenInterpreter & io_rInterpreter ) const 184 { 185 io_rInterpreter.Process_Raises(); 186 } 187 188 const char * 189 TokRaises::Text() const 190 { 191 return "raises"; 192 } 193 194 void 195 TokNeeds::Trigger( TokenInterpreter & io_rInterpreter ) const 196 { 197 io_rInterpreter.Process_Needs(); 198 } 199 200 const char * 201 TokNeeds::Text() const 202 { 203 return "needs"; 204 } 205 void 206 TokObserves::Trigger( TokenInterpreter & io_rInterpreter ) const 207 { 208 io_rInterpreter.Process_Observes(); 209 } 210 211 const char * 212 TokObserves::Text() const 213 { 214 return "observes"; 215 } 216 217 } // namespace uidl 218 } // namespace csi 219 220