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

commits at source.squeak.org commits at source.squeak.org
Mon Apr 3 23:06:22 UTC 2017


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

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

Name: Collections-eem.744
Author: eem
Time: 3 April 2017, 4:06:10.757097 pm
UUID: a4dd8fb1-e4df-4031-b093-12296c5862f8
Ancestors: Collections-eem.743

Regularize literal printing for the Collection literal classes (which include Character).  Replace the idiosyncratic forms storeAsLiteralByteArrayOn: and printAsLiteralFormOn: with printAsLiteralOn:.

Assums Kernel-eem.1082 or later.

=============== Diff against Collections-eem.743 ===============

Item was changed:
+ ----- Method: Array>>printAsBraceFormOn: (in category 'printing') -----
- ----- Method: Array>>printAsBraceFormOn: (in category 'self evaluating') -----
  printAsBraceFormOn: aStream
- 
  	aStream nextPut: ${.
+ 	self do: [:el | el printOn: aStream] separatedBy: [ aStream nextPutAll: ' . '].
- 	self do: [:el | aStream print: el] separatedBy: [ aStream nextPutAll: ' . '].
  	aStream nextPut: $}!

Item was removed:
- ----- Method: Array>>printAsLiteralFormOn: (in category 'self evaluating') -----
- printAsLiteralFormOn: aStream
- 	aStream nextPut: $#.
- 	self printElementsOn: aStream
- !

Item was added:
+ ----- Method: Array>>printAsLiteralOn: (in category 'printing') -----
+ printAsLiteralOn: aStream
+ 	aStream nextPut: $#; nextPut: $(.
+ 	self do: [:each| each printAsLiteralOn: aStream] separatedBy: [aStream space].
+ 	aStream nextPut: $)
+ !

Item was changed:
  ----- Method: Array>>printOn: (in category 'printing') -----
  printOn: aStream
+ 	self class == Array ifFalse:
+ 		[^super printOn: aStream].
+ 	self shouldBePrintedAsLiteral
+ 		ifTrue: [self printAsLiteralOn: aStream]
+ 		ifFalse: [self printAsBraceFormOn: aStream]!
- 	self shouldBePrintedAsLiteral ifTrue: [^self printAsLiteralFormOn: aStream].
- 	self class = Array ifTrue: [^self printAsBraceFormOn: aStream].
- 	^super printOn: aStream!

Item was changed:
  ----- Method: Array>>storeOn: (in category 'printing') -----
+ storeOn: aStream
- storeOn: aStream 
  	"Use the literal form if possible."
- 
  	self shouldBePrintedAsLiteral
+ 		ifTrue:  [self printAsLiteralOn: aStream]
- 		ifTrue: 
- 			[aStream nextPut: $#; nextPut: $(.
- 			self do: 
- 				[:element | 
- 				element storeOn: aStream.
- 				aStream space].
- 			aStream nextPut: $)]
  		ifFalse: [super storeOn: aStream]!

Item was removed:
- ----- Method: ByteArray>>printAsLiteralByteArrayOn: (in category 'printing') -----
- printAsLiteralByteArrayOn: aStream
- 
- 	aStream nextPutAll: '#['.
- 	self
- 		do: [ :each | each printOn: aStream ]
- 		separatedBy: [ aStream nextPut: $ ].
- 	aStream nextPut: $]!

Item was added:
+ ----- Method: ByteArray>>printAsLiteralOn: (in category 'printing') -----
+ printAsLiteralOn: aStream
+ 	aStream nextPut: $#; nextPut: $[.
+ 	self do: [:each| each storeOn: aStream]
+ 		separatedBy: [aStream nextPut: $ ].
+ 	aStream nextPut: $]!

Item was changed:
  ----- Method: ByteArray>>printOn: (in category 'printing') -----
  printOn: aStream
- 
  	self shouldBePrintedAsLiteral ifFalse:
  		[super printOn: aStream.
  		 aStream space].
+ 	self printAsLiteralOn: aStream!
- 	self printAsLiteralByteArrayOn: aStream!

Item was removed:
- ----- Method: ByteArray>>storeAsLiteralByteArrayOn: (in category 'printing') -----
- storeAsLiteralByteArrayOn: aStream
- 	aStream nextPutAll: '#['.
- 	self
- 		do: [ :each | each storeOn: aStream ]
- 		separatedBy: [ aStream nextPut: $ ].
- 	aStream nextPut: $]!

Item was changed:
  ----- Method: ByteArray>>storeOn: (in category 'printing') -----
  storeOn: aStream
  	self shouldBePrintedAsLiteral
+ 		ifTrue: [self printAsLiteralOn: aStream]
- 		ifTrue: [self storeAsLiteralByteArrayOn: aStream]
  		ifFalse: [super storeOn: aStream]!

Item was added:
+ ----- Method: Character>>printAsLiteralOn: (in category 'printing') -----
+ printAsLiteralOn: aStream
+ 	aStream nextPut: $$; nextPut: self!

Item was changed:
  ----- Method: Character>>printOn: (in category 'printing') -----
  printOn: aStream
- 
  	| integerValue |
+ 	((integerValue := self asInteger) > 32 and: [integerValue ~= 127]) ifTrue:
+ 		[^self printAsLiteralOn: aStream].
- 	((integerValue := self asInteger) > 32 and: [ integerValue ~= 127 ]) ifTrue: [
- 		aStream nextPut: $$; nextPut: self.
- 		^self ].
  	(self class constantNameFor: self)
  		ifNotNil: [ :name | aStream nextPutAll: self class name; space; nextPutAll: name ]
  		ifNil: [ aStream nextPutAll: self class name; nextPutAll: ' value: '; print: integerValue ]!

Item was changed:
  ----- Method: Character>>storeOn: (in category 'printing') -----
  storeOn: aStream
  	"Common character literals are preceded by '$', however special need to be encoded differently: for some this might be done by using one of the shortcut constructor methods for the rest we have to create them by ascii-value."
  
+ 	self shouldBePrintedAsLiteral ifTrue:
+ 		[^self printAsLiteralOn: aStream].
- 	self shouldBePrintedAsLiteral ifTrue: [ 
- 		aStream nextPut: $$; nextPut: self.
- 		^self ].
  	(self class constantNameFor: self) ifNotNil: [ :name |
  		aStream nextPutAll: self class name; space; nextPutAll: name.
  		^self ].
  	aStream 
  		nextPut: $(; nextPutAll: self class name; 
  		nextPutAll: ' value: '; print: self asInteger; nextPut: $)!

Item was added:
+ ----- Method: String>>printAsLiteralOn: (in category 'printing') -----
+ printAsLiteralOn: aStream
+ 	"Print inside string quotes, doubling embedded quotes."
+ 	self storeOn: aStream!

Item was changed:
  ----- Method: String>>printOn: (in category 'printing') -----
+ printOn: aStream
+ 	"Print inside string quotes, doubling embedded quotes."
- printOn: aStream 
- 	"Print inside string quotes, doubling inbedded quotes."
   
  	self storeOn: aStream!

Item was changed:
  ----- Method: String>>storeOn: (in category 'printing') -----
+ storeOn: aStream
+ 	"Print inside string quotes, doubling embedded quotes."
- storeOn: aStream 
- 	"Print inside string quotes, doubling inbedded quotes."
  	| x |
  	aStream nextPut: $'.
  	1 to: self size do:
  		[:i |
  		aStream nextPut: (x := self at: i).
  		x = $' ifTrue: [aStream nextPut: x]].
  	aStream nextPut: $'!



More information about the Squeak-dev mailing list