Changeset 449 for trunk/Include/system
- Timestamp:
- Mar 3, 2008, 8:36:36 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Include/system/gc.sbp
r440 r449 463 463 @date 2007/10/21 464 464 */ 465 Function ScanObject(pObject As *Object, pbMark As *Byte) As Boolean 466 Dim classTypeInfo = Nothing As ActiveBasic.Core._System_TypeForClass 467 classTypeInfo = pObject->GetType() As ActiveBasic.Core._System_TypeForClass 468 465 Function ScanObject( classTypeInfo As ActiveBasic.Core._System_TypeForClass, pObject As *Object, pbMark As *Byte) As Boolean 469 466 If IsNull( classTypeInfo ) Then 470 467 Return False 471 468 End If 472 469 473 If Object.ReferenceEquals( classTypeInfo, ActiveBasic.Core._System_TypeBase.selfTypeInfo ) Then 474 ' TypeInfoクラスの場合はTypeBaseImplクラスとして扱う 475 classTypeInfo = _System_TypeBase_Search( "ActiveBasic.Core.TypeBaseImpl" ) As ActiveBasic.Core._System_TypeForClass 470 ' 基底クラスをスキャン 471 If Not IsNull( classTypeInfo.BaseType ) Then 472 Dim baseClassTypeInfo = Nothing As ActiveBasic.Core._System_TypeForClass 473 baseClassTypeInfo = classTypeInfo.BaseType As ActiveBasic.Core._System_TypeForClass 474 ScanObject( baseClassTypeInfo, pObject, pbMark ) 476 475 End If 477 476 … … 488 487 489 488 Return True 489 End Function 490 Function ScanObject(pObject As *Object, pbMark As *Byte) As Boolean 491 Dim classTypeInfo = Nothing As ActiveBasic.Core._System_TypeForClass 492 classTypeInfo = pObject->GetType() As ActiveBasic.Core._System_TypeForClass 493 494 If Object.ReferenceEquals( classTypeInfo, ActiveBasic.Core._System_TypeBase.selfTypeInfo ) Then 495 ' TypeInfoクラスの場合はTypeBaseImplクラスとして扱う 496 classTypeInfo = _System_TypeBase_Search( "ActiveBasic.Core.TypeBaseImpl" ) As ActiveBasic.Core._System_TypeForClass 497 End If 498 499 Return ScanObject( classTypeInfo, pObject, pbMark ) 490 500 End Function 491 501
Note:
See TracChangeset
for help on using the changeset viewer.