[squeak-dev] The Inbox: Collections-bf.761.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Jul 20 10:42:17 UTC 2017


Bert Freudenberg uploaded a new version of Collections to project The Inbox:
http://source.squeak.org/inbox/Collections-bf.761.mcz

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

Name: Collections-bf.761
Author: bf
Time: 20 July 2017, 12:42:02.196604 pm
UUID: 5b68150c-4eb0-4210-9fac-c4aa09623b6d
Ancestors: Collections-eem.760

Remove ByteArray>>at:put: and fix the fallback code in ByteArray>>#replaceFrom:to:with:startingAt: to match prim 105

=============== Diff against Collections-eem.760 ===============

Item was removed:
- ----- Method: ByteArray>>at:put: (in category 'accessing') -----
- at: index put: value 
- 	<primitive: 61> "try primitiveAtPut, convert value to integer if that fails and try again" 
- 	^ self byteAt: index put: value asInteger
- !

Item was changed:
  ----- Method: ByteArray>>replaceFrom:to:with:startingAt: (in category 'private') -----
  replaceFrom: start to: stop with: replacement startingAt: repStart 
  	"Primitive. This destructively replaces elements from start to stop in the receiver starting at index, repStart, in the collection, replacement. Answer the receiver. Range checks are performed in the primitive only. Optional. See Object documentation whatIsAPrimitive."
  	<primitive: 105>
+ 	replacement isString
+ 		ifFalse:
+ 			[super replaceFrom: start to: stop with: replacement startingAt: repStart]
+ 		ifTrue:
+ 			[ "use String>>byteAt: to mimic prim 105"
+ 			| index repOff |
+ 			repOff := repStart - start.
+ 			index := start - 1.
+ 			[(index := index + 1) <= stop]
+ 				whileTrue: [self at: index put: (replacement byteAt: repOff + index)]]
+ !
- 	super replaceFrom: start to: stop with: replacement startingAt: repStart!



More information about the Squeak-dev mailing list