diff -r 8824b9953b54 -r 32924c15a4cd WeakDependencyDictionary.st --- 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 $' ! !