--- a/IdentityDictionary.st Wed Dec 19 15:26:45 2001 +0100
+++ b/IdentityDictionary.st Fri Dec 21 11:59:16 2001 +0100
@@ -134,32 +134,32 @@
startIndex := index.
[true] whileTrue:[
- probe := keyArray basicAt:index.
- key == probe ifTrue:[^ index].
- probe isNil ifTrue:[
- delIndex == 0 ifTrue:[^ index].
- keyArray basicAt:delIndex put:nil.
- ^ delIndex
- ].
+ probe := keyArray basicAt:index.
+ key == probe ifTrue:[^ index].
+ (self slotIsEmpty:probe) ifTrue:[
+ delIndex == 0 ifTrue:[^ index].
+ keyArray basicAt:delIndex put:nil.
+ ^ delIndex
+ ].
- probe == DeletedEntry ifTrue:[
- delIndex == 0 ifTrue:[
- delIndex := index
- ]
- ].
+ probe == DeletedEntry ifTrue:[
+ delIndex == 0 ifTrue:[
+ delIndex := index
+ ]
+ ].
- index == length ifTrue:[
- index := 1
- ] ifFalse:[
- index := index + 1
- ].
- index == startIndex ifTrue:[
- delIndex ~~ 0 ifTrue:[
- keyArray basicAt:delIndex put:nil.
- ^ delIndex
- ].
- ^ self grow findKeyOrNil:key
- ].
+ index == length ifTrue:[
+ index := 1
+ ] ifFalse:[
+ index := index + 1
+ ].
+ index == startIndex ifTrue:[
+ delIndex ~~ 0 ifTrue:[
+ keyArray basicAt:delIndex put:nil.
+ ^ delIndex
+ ].
+ ^ self grow findKeyOrNil:key
+ ].
]
"Modified: 26.3.1996 / 20:00:44 / cg"
@@ -201,5 +201,5 @@
!IdentityDictionary class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/IdentityDictionary.st,v 1.28 2001-11-23 10:11:36 martin Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/IdentityDictionary.st,v 1.29 2001-12-21 10:59:16 cg Exp $'
! !
--- a/IdentitySet.st Wed Dec 19 15:26:45 2001 +0100
+++ b/IdentitySet.st Fri Dec 21 11:59:16 2001 +0100
@@ -120,32 +120,32 @@
startIndex := index.
[true] whileTrue:[
- probe := keyArray basicAt:index.
- key == probe ifTrue:[^ index].
- probe isNil ifTrue:[
- delIndex == 0 ifTrue:[^ index].
- keyArray basicAt:delIndex put:nil.
- ^ delIndex
- ].
+ probe := keyArray basicAt:index.
+ key == probe ifTrue:[^ index].
+ (self slotIsEmpty:probe) ifTrue:[
+ delIndex == 0 ifTrue:[^ index].
+ keyArray basicAt:delIndex put:nil.
+ ^ delIndex
+ ].
- probe == DeletedEntry ifTrue:[
- delIndex == 0 ifTrue:[
- delIndex := index
- ]
- ].
+ probe == DeletedEntry ifTrue:[
+ delIndex == 0 ifTrue:[
+ delIndex := index
+ ]
+ ].
- index == length ifTrue:[
- index := 1
- ] ifFalse:[
- index := index + 1
- ].
- index == startIndex ifTrue:[
- delIndex ~~ 0 ifTrue:[
- keyArray basicAt:delIndex put:nil.
- ^ delIndex
- ].
- ^ self grow findKeyOrNil:key
- ].
+ index == length ifTrue:[
+ index := 1
+ ] ifFalse:[
+ index := index + 1
+ ].
+ index == startIndex ifTrue:[
+ delIndex ~~ 0 ifTrue:[
+ keyArray basicAt:delIndex put:nil.
+ ^ delIndex
+ ].
+ ^ self grow findKeyOrNil:key
+ ].
]
"Modified: 26.3.1996 / 20:00:42 / cg"
@@ -192,5 +192,5 @@
!IdentitySet class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/IdentitySet.st,v 1.26 2001-11-23 10:12:03 martin Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/IdentitySet.st,v 1.27 2001-12-21 10:59:02 cg Exp $'
! !