--- a/WeakDependencyDictionary.st Thu Mar 27 14:28:57 1997 +0100
+++ b/WeakDependencyDictionary.st Thu Mar 27 15:57:46 1997 +0100
@@ -69,7 +69,7 @@
"special entry for dependency management:
remove any empty (due to finalization) value WeakArray elements."
- |index t wasBlocked deps o key b originalKeyArray|
+ |index t wasBlocked deps o key originalKeyArray deletedEntry|
"/ careful: this is sent by the finalizer at low prio.
"/ be prepared for the receiver to change while we walk over
@@ -77,10 +77,9 @@
"/ 'removeEmptyDependencyValues ...' printCR.
- b := [:el | el notNil and:[el ~~ 0]].
-
originalKeyArray := keyArray.
+ deletedEntry := DeletedEntry.
index := 1.
[index <= keyArray size] whileTrue:[
"/ get the size again - it could have changed
@@ -97,23 +96,23 @@
key := keyArray basicAt:index.
key == 0 ifTrue:[
"/ that one is gone
- key := DeletedEntry.
+ key := deletedEntry.
keyArray basicAt:index put:key.
valueArray basicAt:index put:nil.
tally := tally - 1.
].
- (key notNil and:[key ~~ DeletedEntry]) ifTrue:[
+ (key notNil and:[key ~~ deletedEntry]) ifTrue:[
deps := valueArray basicAt:index.
deps notNil ifTrue:[
"/ is it an empty WeakArray ?
(deps isMemberOf:WeakArray) ifTrue:[
- t := deps findFirst:b.
+ t := deps findFirst:[:el | el notNil and:[el ~~ 0]].
t == 0 ifTrue:[
"/ yes - nil it
valueArray basicAt:index put:nil.
- keyArray basicAt:index put:DeletedEntry.
+ keyArray basicAt:index put:deletedEntry.
tally := tally - 1.
]
] ifFalse:[
@@ -123,7 +122,7 @@
(t := deps size) == 0 ifTrue:[
"/ yes - nil it
valueArray basicAt:index put:nil.
- keyArray basicAt:index put:DeletedEntry.
+ keyArray basicAt:index put:deletedEntry.
tally := tally - 1.
"/ ] ifFalse:[
"/ t == 1 ifTrue:[
@@ -135,7 +134,7 @@
"/ valueArray basicAt:index put:(WeakArray with:o)
"/ ] ifFalse:[
"/ key notNil ifTrue:[
-"/ keyArray basicAt:index put:DeletedEntry.
+"/ keyArray basicAt:index put:deletedEntry.
"/ tally := tally - 1.
"/ ]
"/ ]
@@ -145,7 +144,7 @@
]
] ifFalse:[
'oops: nil value for key' print. key printCR.
- keyArray basicAt:index put:DeletedEntry.
+ keyArray basicAt:index put:deletedEntry.
tally := tally - 1.
]
]
@@ -167,5 +166,5 @@
!WeakDependencyDictionary class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/WeakDependencyDictionary.st,v 1.8 1997-01-29 21:11:16 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/WeakDependencyDictionary.st,v 1.9 1997-03-27 14:57:46 cg Exp $'
! !