Changeset 378 in dev for trunk/abdev/BasicCompiler_Common
- Timestamp:
- Dec 16, 2007, 11:44:29 PM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler_Common
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/BasicCompiler.cpp
r322 r378 91 91 } 92 92 void ts(const char *msg){ 93 MessageBox(0, msg,"TestMessage",0);93 MessageBox(0,FormatEscapeSequenceStringToDefaultString(msg).c_str(),"TestMessage",0); 94 94 } 95 95 void ts(const char *msg,const char *title){ 96 MessageBox(0, msg,title,0);96 MessageBox(0,FormatEscapeSequenceStringToDefaultString(msg).c_str(),title,0); 97 97 } 98 98 -
trunk/abdev/BasicCompiler_Common/include/Class.h
r376 r378 121 121 return actualTypeParameters; 122 122 } 123 124 std::string GetFullNameWithActualGenericTypeParameters() const; 123 125 }; 124 126 typedef std::vector<Interface *> Interfaces; -
trunk/abdev/BasicCompiler_Common/include/Type.h
r370 r378 233 233 bool HasActualGenericType() const; 234 234 235 //型名を取得 236 std::string ToString() const; 237 235 238 236 239 private: -
trunk/abdev/BasicCompiler_Common/src/Class.cpp
r376 r378 50 50 } 51 51 52 std::string Interface::GetFullNameWithActualGenericTypeParameters() const 53 { 54 std::string interfaceName = this->GetClass().GetFullName(); 55 if( actualTypeParameters.size() ) 56 { 57 std::string actualGenericTypesName; 58 BOOST_FOREACH( const Type &typeParameter, actualTypeParameters ) 59 { 60 if( actualGenericTypesName.size() ) 61 { 62 actualGenericTypesName += ","; 63 } 64 actualGenericTypesName += typeParameter.ToString(); 65 } 66 67 interfaceName += "<" + actualGenericTypesName + ">"; 68 } 69 return interfaceName; 70 } 52 71 53 72 bool CClass::IsClass() const … … 344 363 1, ESC_OPERATOR, 345 364 1, ESC_AS, 346 interfaceClass.GetName().c_str()365 pDestInterface->GetFullNameWithActualGenericTypeParameters().c_str() 347 366 ); 348 367 … … 539 558 } 540 559 560 if( !pInterface->GetClass().IsReady() ){ 561 // インターフェイスが未解析のとき 562 compiler.GetObjectModule().meta.GetClasses().LookaheadClass( pInterface->GetClass().GetName().c_str() ); 563 } 564 541 565 CMethod *pMethodForOverride = pInterface->GetDynamicMethods().FindForOverride( pUserProc ); 542 566 if( pMethodForOverride ) -
trunk/abdev/BasicCompiler_Common/src/Class_Collect.cpp
r376 r378 326 326 SplitGenericClassInstance( temporary, className, typeParameters ); 327 327 328 CClass *pobj_c = const_cast<CClass *>( this->Find(namespaceScopes, temporary) );328 CClass *pobj_c = const_cast<CClass *>( this->Find(namespaceScopes, className) ); 329 329 if(!pobj_c) continue; 330 330 -
trunk/abdev/BasicCompiler_Common/src/Type.cpp
r370 r378 477 477 { 478 478 return ( actualGenericTypes.size() > 0 ); 479 } 480 481 std::string Type::ToString() const 482 { 483 const char *basicTypeName = BasicTypeToCharPtr( *this ); 484 if( basicTypeName ) 485 { 486 return basicTypeName; 487 } 488 489 if( IsTypeParameter() ) 490 { 491 return GetFormalTypeName(); 492 } 493 494 std::string typeName = GetClass().GetFullName(); 495 if( HasActualGenericType() ) 496 { 497 std::string actualGenericTypesName; 498 BOOST_FOREACH( const GenericType &actualGenericType, actualGenericTypes ) 499 { 500 if( actualGenericTypesName.size() ) 501 { 502 actualGenericTypesName += ","; 503 } 504 actualGenericTypesName += actualGenericType.GetName(); 505 } 506 507 typeName += "<" + actualGenericTypesName + ">"; 508 } 509 return typeName; 479 510 } 480 511
Note:
See TracChangeset
for help on using the changeset viewer.