Changeset 375 in dev
- Timestamp:
- Nov 29, 2007, 9:08:55 AM (17 years ago)
- Location:
- trunk/abdev
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_Statement.cpp
r372 r375 489 489 //第2パラメータを取得(in~) 490 490 i=GetOneParameter(Parameter,i,collectionVar); 491 492 if( !GetVarType( variable, resultType, false ) ) 493 { 494 Type collectionType; 495 if( !NumOpe_GetType( collectionVar, Type(), collectionType ) ) 496 { 497 isError = true; 498 goto ErrorStep; 499 } 500 501 // 未定義の場合は自動的に定義する 502 sprintf(temporary,"%s%c%c%s", variable, 1, ESC_AS, collectionType.GetActualGenericType(0).GetClass().GetFullName().c_str() ); 503 MessageBox(0,temporary,"test",0); 504 OpcodeDim(temporary,DIMFLAG_INITDEBUGVAR); 505 } 491 506 492 507 // Resetメソッドを呼び出す -
trunk/abdev/BasicCompiler_Common/include/Class.h
r370 r375 395 395 396 396 // インターフェイス実装 397 bool Implements( const CClass &interfaceClass, int nowLine );397 bool Implements( const CClass &interfaceClass, const Jenga::Common::Strings &typeParameters, int nowLine ); 398 398 bool Implements( const char *interfaceNames, int nowLine ); 399 399 -
trunk/abdev/BasicCompiler_Common/src/Class.cpp
r374 r375 355 355 } 356 356 357 bool CClass::Implements( const CClass &interfaceClass, int nowLine )357 bool CClass::Implements( const CClass &interfaceClass, const Jenga::Common::Strings &typeParameters, int nowLine ) 358 358 { 359 359 if( !interfaceClass.IsInterface() && !interfaceClass.IsComInterface() ) … … 430 430 BOOST_FOREACH( const std::string ¶mStr, paramStrs ) 431 431 { 432 char className[VN_SIZE]; 433 Jenga::Common::Strings typeParameters; 434 SplitGenericClassInstance( paramStr.c_str(), className, typeParameters ); 435 432 436 //継承元クラスを取得 433 const CClass *pInterfaceClass = compiler.GetObjectModule().meta.GetClasses().Find( paramStr.c_str());437 const CClass *pInterfaceClass = compiler.GetObjectModule().meta.GetClasses().Find( className ); 434 438 if( !pInterfaceClass ){ 435 439 SetError(106,paramStr.c_str(),nowLine); … … 438 442 439 443 // インターフェイスを継承する 440 Implements( *pInterfaceClass, nowLine );444 Implements( *pInterfaceClass, typeParameters, nowLine ); 441 445 } 442 446
Note:
See TracChangeset
for help on using the changeset viewer.