Changeset 413 for trunk/Include/Classes/ActiveBasic/Core
- Timestamp:
- Feb 24, 2008, 7:03:07 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Include/Classes/ActiveBasic/Core/TypeInfo.ab
r403 r413 10 10 name As String 11 11 fullName As String 12 13 ptrType As TypeBaseImpl 14 ptrLevel As Long 12 15 13 16 ' メンバ情報 … … 27 30 This.fullName = fullName 28 31 This.baseType = Nothing 32 33 ptrType = Nothing 34 ptrLevel = 0 29 35 End Sub 30 36 31 37 Sub ~TypeBaseImpl() 32 38 End Sub 39 40 Sub PtrLevelUp() 41 ptrLevel ++ 42 fullName = "*" + fullName 43 End Sub 44 45 Function Clone() As TypeBaseImpl 46 Dim result = New TypeBaseImpl( strNamespace, name, fullName ) 47 result.SetBaseType( baseType ) 48 result.SetMembers( memberNames, memberTypeFullNames, memberCounts ) 49 result.memberInfosCache = This.memberInfosCache 50 result.ptrLevel = This.ptrLevel 51 Return result 52 End Function 33 53 34 54 Public … … 51 71 End Sub 52 72 73 Function GetPtrType() As TypeBaseImpl 74 If Object.ReferenceEquals( ptrType, Nothing ) Then 75 Dim clone = This.Clone() 76 77 ptrType = clone 78 ptrType.PtrLevelUp() 79 End If 80 Return ptrType 81 End Function 82 53 83 54 84 '---------------------------------------------------------------- … … 89 119 90 120 Override Function IsPointer() As Boolean 91 Return False121 Return ( ptrLevel > 0 ) 92 122 End Function 93 123 … … 258 288 End If 259 289 290 If fullName[0] = &H2A Then ' fullName[0] = '*' 291 Dim result = Search( fullName.Substring( 1 ) ) 292 Return result.GetPtrType() 293 End If 294 260 295 Search = types.Item(fullName) 261 296
Note:
See TracChangeset
for help on using the changeset viewer.