Changeset 581 in dev for trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Delegate.cpp
- Timestamp:
- May 8, 2008, 3:52:48 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer_Delegate.cpp
r552 r581 213 213 } 214 214 215 void LexicalAnalyzer::RefleshDelegateParameterAndReturnType( Delegate &dg ) 216 { 217 compiler.GetNamespaceSupporter().SetImportedNamespaces( dg.GetImportedNamespaces() ); 218 compiler.GetNamespaceSupporter().SetLivingNamespaceScopes( dg.GetNamespaceScopes() ); 219 220 // パラメータを解析 221 Jenga::Common::Strings parameterStrings; 222 SplitParameter( dg.GetParamStr(), parameterStrings ); 223 int sourceIndex; 224 ActiveBasic::Compiler::LexicalAnalyzer::AnalyzeParameter( dg.GetParameters(), parameterStrings, sourceIndex ); 225 dg.SetSourceIndex( sourceIndex ); 226 227 // 動的パラメータを作る 228 dg.GetDynamicParams() = dg.GetParameters(); 229 dg.GetDynamicParams().insert( dg.GetDynamicParams().begin(), new Parameter( "_System_LocalThis", Type( DEF_PTR_VOID ) ) ); 230 231 if( dg.IsFunction() ) 232 { 233 // 戻り値を取得 234 Type returnType; 235 if( !compiler.StringToType( dg.GetReturnTypeName(), returnType ) ) 236 { 237 compiler.errorMessenger.Output(3,dg.GetReturnTypeName(),sourceIndex); 238 } 239 else 240 { 241 dg.SetReturnType( returnType ); 242 } 243 } 244 } 245 215 246 void LexicalAnalyzer::RefleshDelegatesParameterAndReturnType( Delegates &delegates ) 216 247 { … … 219 250 { 220 251 Delegate &dg = *delegates.Iterator_GetNext(); 221 dg.RefleshParameterAndReturnType();222 } 223 } 252 RefleshDelegateParameterAndReturnType( dg ); 253 } 254 }
Note:
See TracChangeset
for help on using the changeset viewer.