Changeset 316 in dev for trunk/abdev/BasicCompiler64/Compile_Var.cpp
- Timestamp:
- Sep 7, 2007, 3:15:41 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_Var.cpp
r308 r316 191 191 return true; 192 192 } 193 bool _member_offset(bool isErrorEnabled, bool isWriteAccess, const CClass &objClass, const char *member, RELATIVE_VAR *pRelativeVar, Type &resultType, BOOL bPrivateAccess){ 193 bool _member_offset(bool isErrorEnabled, bool isWriteAccess, const Type &classType, const char *member, RELATIVE_VAR *pRelativeVar, Type &resultType, BOOL bPrivateAccess) 194 { 195 const CClass &objClass = classType.GetClass(); 194 196 195 197 ////////////////////////////////////// … … 252 254 resultType = pMember->GetType(); 253 255 256 // 型パラメータを解決 257 ResolveFormalGenericTypeParameter( resultType, classType ); 258 254 259 //ポインタ変数の場合 255 260 if( resultType.IsPointer() ){ … … 352 357 isErrorEnabled, 353 358 isWriteAccess, 354 pMember->GetType() .GetClass(),359 pMember->GetType(), 355 360 NestMember, 356 361 pRelativeVar, … … 441 446 pSubscripts = &pVar->GetSubscripts(); 442 447 bConst = pVar->IsConst(); 448 449 ///////////////////////////////////////////////////////// 450 // ☆★☆ ジェネリクスサポート ☆★☆ 451 452 if( resultType.IsTypeParameter() ) 453 { 454 // 型パラメータだったとき 455 456 int ptrLevel = PTR_LEVEL( resultType.GetBasicType() ); 457 458 // TODO: ベースオブジェクト(指定されていないときはObjectクラス)にセットする 459 resultType.SetBasicType( DEF_OBJECT ); 460 461 for( int i=0; i<ptrLevel; i++ ) 462 { 463 resultType.PtrLevelUp(); 464 } 465 } 466 467 // 468 ///////////////////////////////////////////////////////// 443 469 444 470 goto ok; … … 498 524 isErrorEnabled, 499 525 isWriteAccess, 500 *compiler.pCompilingClass,526 Type( DEF_OBJECT, *compiler.pCompilingClass ), 501 527 variable, 502 528 pRelativeVar, … … 727 753 isErrorEnabled, 728 754 isWriteAccess, 729 resultType .GetClass(),755 resultType, 730 756 member,pRelativeVar,resultType,0)) return false; 731 757
Note:
See TracChangeset
for help on using the changeset viewer.