Changeset 449
- Timestamp:
- Mar 3, 2008, 8:36:36 PM (17 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Include/Classes/System/Object.ab
r275 r449 59 59 60 60 Private 61 typeInfo As TypeInfo61 _system_object_member_typeInfo As TypeInfo 62 62 63 63 Public … … 67 67 End If 68 68 69 This. typeInfo = typeInfo69 This._system_object_member_typeInfo = typeInfo 70 70 End Sub 71 71 72 72 Virtual Function GetType() As TypeInfo 73 Return typeInfo73 Return _system_object_member_typeInfo 74 74 End Function 75 75 -
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.