WeakValueDictionary.st
changeset 24272 913bd63922a3
parent 23722 f3a464afa0b7
equal deleted inserted replaced
24271:4d111f8bc587 24272:913bd63922a3
   128      Return anObject (sigh).
   128      Return anObject (sigh).
   129      Redefined to block interrupts, to avoid trouble when dependencies
   129      Redefined to block interrupts, to avoid trouble when dependencies
   130      are added within interrupting high prio processes."
   130      are added within interrupting high prio processes."
   131 
   131 
   132     (anObject isNil or:[anObject class == SmallInteger]) ifTrue:[
   132     (anObject isNil or:[anObject class == SmallInteger]) ifTrue:[
   133         self error:'WeakValueDictionary: invalid value'.
   133         ArgumentError raise.
   134     ].
   134     ].
   135 
   135 
   136     (OperatingSystem blockInterrupts) ifTrue:[
   136     (OperatingSystem blockInterrupts) ifTrue:[
   137         "/ already blocked
   137         "/ already blocked
   138         ^ super at:key put:anObject.
   138         ^ super at:key put:anObject.
   145     ].
   145     ].
   146 
   146 
   147     "Modified: / 06-05-1996 / 12:22:26 / stefan"
   147     "Modified: / 06-05-1996 / 12:22:26 / stefan"
   148     "Modified: / 29-01-1997 / 15:08:45 / cg"
   148     "Modified: / 29-01-1997 / 15:08:45 / cg"
   149     "Modified: / 12-02-2019 / 20:36:16 / Stefan Vogel"
   149     "Modified: / 12-02-2019 / 20:36:16 / Stefan Vogel"
       
   150     "Modified: / 06-06-2019 / 23:25:42 / Claus Gittinger"
   150 !
   151 !
   151 
   152 
   152 removeIdentityValue:aValue ifAbsent:aBlock 
   153 removeIdentityValue:aValue ifAbsent:aBlock 
   153     "remove the association under aValue from the collection,
   154     "remove the association under aValue from the collection,
   154      return the key previously stored there.
   155      return the key previously stored there.