Changeset 448 in dev for trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp
- Timestamp:
- Mar 21, 2008, 7:34:57 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp
r424 r448 470 470 } 471 471 472 if( !varType.GetClass().IsEqualsOrSubClass( &calcType.GetClass() ) ) 473 { 474 //等しくなく、派生クラスでもないとき 475 DifferentTypeError( varType, calcType,3,pszFuncName,ParmNum); 476 return false; 472 if( varType.IsDelegate() && calcType.IsDelegate() ) 473 { 474 // デリゲート同士の比較の場合 475 // ※共変戻り値及び反辺引数をサポートすること 476 if( !varType.GetClass().GetDelegate().IsSimilar( calcType.GetClass().GetDelegate() ) ) 477 { 478 // 等しいと見なされないとき 479 DifferentTypeError( varType, calcType,3,pszFuncName,ParmNum); 480 return false; 481 } 482 } 483 else 484 { 485 // 一般的なクラスの比較の場合 486 487 if( !varType.GetClass().IsEqualsOrSubClass( &calcType.GetClass() ) ) 488 { 489 //等しくなく、派生クラスでもないとき 490 DifferentTypeError( varType, calcType,3,pszFuncName,ParmNum); 491 return false; 492 } 477 493 } 478 494 }
Note:
See TracChangeset
for help on using the changeset viewer.