[squeak-dev] The Trunk: Collections-eem.880.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Mar 11 20:14:01 UTC 2020


Eliot Miranda uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-eem.880.mcz

==================== Summary ====================

Name: Collections-eem.880
Author: eem
Time: 11 March 2020, 1:13:58.722295 pm
UUID: 927e58eb-1ab6-470a-8eb2-f36065351836
Ancestors: Collections-nice.879

Add the read-only object support to accompany Kernel-eem.1317

=============== Diff against Collections-nice.879 ===============

Item was changed:
  ----- Method: ByteString>>at:put: (in category 'accessing') -----
  at: index put: aCharacter
+ 	"Primitive. Store the Character in the field of the receiver indicated by the index.
+ 	 Fail if the index is not an Integer or is out of bounds, or if the argument is not a
+ 	 Character, or the Character's code is outside the 0-255 range, or if the receiver
+ 	 is read-only. Essential. See Object documentation whatIsAPrimitive."
- 	"Primitive. Store the Character in the field of the receiver indicated by
- 	the index. Fail if the index is not an Integer or is out of bounds, or if
- 	the argument is not a Character. Essential. See Object documentation
- 	whatIsAPrimitive."
  
+ 	<primitive: 64 error: ec>
+ 	aCharacter isCharacter ifFalse:
+ 		[^self errorImproperStore].
- 	<primitive: 64>
- 	aCharacter isCharacter 
- 		ifFalse:[^self errorImproperStore].
- 	aCharacter isOctetCharacter ifFalse:[
- 		"Convert to WideString"
- 		self becomeForward: (WideString from: self).
- 		^self at: index put: aCharacter.
- 	].
  	index isInteger
+ 		ifTrue:
+ 			[ec == #'no modification' ifTrue:
+ 				[^thisContext modificationForbiddenFor: self at: index putCharacter: aCharacter].
+ 			 aCharacter isOctetCharacter ifFalse: "Convert to WideString"
+ 				[self becomeForward: (WideString from: self).
+ 				^self at: index put: aCharacter].
+ 			 self errorSubscriptBounds: index]
- 		ifTrue: [self errorSubscriptBounds: index]
  		ifFalse: [self errorNonIntegerIndex]!

Item was changed:
  ----- Method: ByteSymbol>>pvtAt:put: (in category 'private') -----
  pvtAt: index put: aCharacter
+ 	"Primitive. Store the Character in the field of the receiver indicated by the index.
+ 	 Fail if the index is not an Integer or is out of bounds, or if the argument is not a
+ 	 Character, or the Character's code is outside the 0-255 range, or if the receiver
+ 	 is read-only. Essential. See Object documentation whatIsAPrimitive."
- 	"Primitive. Store the Character in the field of the receiver indicated by
- 	the index. Fail if the index is not an Integer or is out of bounds, or if
- 	the argument is not a Character. Essential. See Object documentation
- 	whatIsAPrimitive."
  
+ 	<primitive: 64 error: ec>
+ 	aCharacter isCharacter ifFalse:
+ 		[^self errorImproperStore].
- 	<primitive: 64>
- 	aCharacter isCharacter 
- 		ifFalse:[^self errorImproperStore].
  	index isInteger
+ 		ifTrue:
+ 			[ec == #'no modification' ifTrue:
+ 				[^thisContext modificationForbiddenFor: self at: index putCharacter: aCharacter].
+ 			self errorSubscriptBounds: index]
- 		ifTrue: [self errorSubscriptBounds: index]
  		ifFalse: [self errorNonIntegerIndex]!

Item was changed:
  ----- Method: WideString>>at:put: (in category 'accessing') -----
  at: index put: aCharacter
+ 	"Primitive. Store the Character in the field of the receiver indicated by
+ 	 the index. Fail if the index is not an Integer or is out of bounds, or if
+ 	 the argument is not a Character, or if the receiver is read-only.
+ 	 Essential. See Object documentation whatIsAPrimitive."
- 	"Store the Character into the field of the receiver indicated by the index.
- 	 Primitive.  Fail if the index is not an Integer or is out of bounds, or if the
- 	 argument is not a Character.  Essential.  See Object documentation whatIsAPrimitive."
  
+ 	<primitive: 64 error: ec>
+ 	aCharacter isCharacter ifFalse:
+ 		[^self errorImproperStore].
+ 	index isInteger
- 	<primitive: 64>
- 	^aCharacter isCharacter
  		ifTrue:
+ 			[ec == #'no modification' ifTrue:
+ 				[^thisContext modificationForbiddenFor: self at: index putCharacter: aCharacter].
+ 			 self errorSubscriptBounds: index]
+ 		ifFalse: [self errorNonIntegerIndex]!
- 			[index isInteger
- 				ifTrue: [self errorSubscriptBounds: index]
- 				ifFalse: [self errorNonIntegerIndex]]
- 		ifFalse:
- 			[self errorImproperStore]!

Item was changed:
  ----- Method: WideSymbol>>pvtAt:put: (in category 'private') -----
  pvtAt: index put: aCharacter
  	"Primitive. Store the Character in the field of the receiver indicated by
+ 	 the index. Fail if the index is not an Integer or is out of bounds, or if
+ 	 the argument is not a Character, or if the receiver is read-only.
+ 	 Essential. See Object documentation whatIsAPrimitive."
- 	the index. Fail if the index is not an Integer or is out of bounds, or if
- 	the argument is not a Character. Essential. See Object documentation
- 	whatIsAPrimitive."
  
+ 	<primitive: 61 error: ec>
+ 	aCharacter isCharacter ifFalse:
+ 		[^self errorImproperStore].
- 	<primitive: 61>
  	index isInteger
+ 		ifTrue:
+ 			[ec == #'no modification' ifTrue:
+ 				[^thisContext modificationForbiddenFor: self at: index putCharacter: aCharacter].
+ 			self errorSubscriptBounds: index]
- 		ifTrue: [self errorSubscriptBounds: index]
  		ifFalse: [self errorNonIntegerIndex]!



More information about the Squeak-dev mailing list