--- a/Object.st Fri Dec 14 11:54:51 2001 +0100
+++ b/Object.st Sun Dec 16 19:37:11 2001 +0100
@@ -332,6 +332,7 @@
"Modified: / 4.8.1999 / 08:54:06 / stefan"
! !
+
!Object class methodsFor:'Compatibility - ST80'!
rootError
@@ -572,6 +573,7 @@
"Modified: 23.4.1996 / 16:00:07 / cg"
! !
+
!Object methodsFor:'Compatibility - ST80'!
isMetaclass
@@ -1517,14 +1519,14 @@
!Object methodsFor:'attributes access'!
-objectAttributeAt:key
+objectAttributeAt:attributeKey
"return the attribute for a given key or nil if not found"
| attrs |
attrs := self objectAttributes.
(attrs notNil and:[attrs size > 0]) ifTrue:[
- ^ attrs at:key ifAbsent:[]
+ ^ attrs at:attributeKey ifAbsent:[]
].
^ nil
@@ -1532,31 +1534,23 @@
"Modified: / 3.2.1998 / 18:55:55 / cg"
!
-objectAttributeAt:key put:anObject
+objectAttributeAt:attributeKey put:anObject
"store the attribute anObject referenced by key into the receiver"
- |wasBlocked|
-
"/ must do this save from interrupts, since the attributes collection
"/ is possibly accessed from multiple threads ...
-
- wasBlocked := OperatingSystem blockInterrupts.
[
| attrs |
attrs := self objectAttributes.
(attrs isNil or:[attrs size == 0]) ifTrue:[
attrs := WeakIdentityDictionary new.
- attrs at:key put:anObject.
+ attrs at:attributeKey put:anObject.
self objectAttributes:attrs.
] ifFalse:[
- attrs at:key put:anObject.
+ attrs at:attributeKey put:anObject.
].
- ] valueNowOrOnUnwindDo:[
- wasBlocked ifFalse:[
- OperatingSystem unblockInterrupts
- ]
- ]
+ ] valueUninterruptably
"Attaching additional attributes (slots) to an arbitrary object:
@@ -1620,15 +1614,11 @@
"Modified: / 3.2.1998 / 18:58:10 / cg"
!
-removeObjectAttribute:anObject
+removeObjectAttribute:attributeKey
"make the argument, anObject be no attribute of the receiver"
- |wasBlocked|
-
"/ must do this save from interrupts, since the attributes collection
"/ is possibly accessed from multiple threads.
-
- wasBlocked := OperatingSystem blockInterrupts.
[
|attrs n a|
@@ -1636,16 +1626,12 @@
attrs size == 0 ifTrue:[
self objectAttributes:nil
] ifFalse:[
- attrs removeKey:anObject ifAbsent:nil.
+ attrs removeKey:attributeKey ifAbsent:nil.
attrs size == 0 ifTrue:[
self objectAttributes:nil
]
]
- ] valueNowOrOnUnwindDo:[
- wasBlocked ifFalse:[
- OperatingSystem unblockInterrupts
- ]
- ]
+ ] valueUninterruptably
"Created: / 22.1.1998 / 21:29:39 / av"
"Modified: / 18.2.2000 / 11:32:19 / cg"
@@ -8669,6 +8655,6 @@
!Object class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.389 2001-12-14 10:52:18 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.390 2001-12-16 18:37:11 cg Exp $'
! !
Object initialize!