[Vm-dev] VM Maker: VMMaker.oscog-eem.1591.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Dec 13 20:35:34 UTC 2015


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1591.mcz

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

Name: VMMaker.oscog-eem.1591
Author: eem
Time: 13 December 2015, 12:33:42.67 pm
UUID: 27b9f438-09bc-4421-a07d-f70f493df338
Ancestors: VMMaker.oscog-eem.1590

Slang: move stream:endsWithAnyOf: up for  TSwitchStmtNode

=============== Diff against VMMaker.oscog-eem.1590 ===============

Item was added:
+ ----- Method: TParseNode>>stream:endsWithAnyOf: (in category 'testing') -----
+ stream: aStream endsWithAnyOf: characters
+ 	"Answer if the given stream ends in any of the characters, ignoring whitespace."
+ 	| pos ch popped |
+ 	pos := aStream position.
+ 	aStream class = WriteStream ifTrue: "i.e. nested in StreamContents"
+ 		[[pos > 0] whileTrue:
+ 			[ch := aStream originalContents at: pos.
+ 			 ch isSeparator ifFalse:
+ 				[^characters includes: ch].
+ 			 pos := pos - 1].
+ 		 ^false].
+ 
+ 	popped := OrderedCollection new.
+ 	[pos > 0] whileTrue:
+ 		[ch := popped addFirst: (aStream position: pos - 1; peek).
+ 		 ch isSeparator ifFalse:
+ 			[popped notEmpty ifTrue: "it almost always is"
+ 				["*don't* use nextPutAll: to work around a bug in UTF8TextConverter
+ 				  >>nextPut:toStream: which avoids line-end conversion; sigh."
+ 				 popped do:
+ 					[:c| aStream nextPut: c]].
+ 			 ^characters includes: ch].
+ 		 pos := pos - 1].
+ 	"*don't* use nextPutAll: to work around a bug in UTF8TextConverter>>
+ 	 nextPut:toStream: which avoids line-end conversion; sigh."
+ 	popped do:
+ 		[:c| aStream nextPut: c].
+ 	^false!

Item was removed:
- ----- Method: TStmtListNode>>stream:endsWithAnyOf: (in category 'testing') -----
- stream: aStream endsWithAnyOf: characters
- 	"Answer if the given stream ends in any of the characters, ignoring whitespace."
- 	| pos ch popped |
- 	pos := aStream position.
- 	aStream class = WriteStream ifTrue: "i.e. nested in StreamContents"
- 		[[pos > 0] whileTrue:
- 			[ch := aStream originalContents at: pos.
- 			 ch isSeparator ifFalse:
- 				[^characters includes: ch].
- 			 pos := pos - 1].
- 		 ^false].
- 
- 	popped := OrderedCollection new.
- 	[pos > 0] whileTrue:
- 		[ch := popped addFirst: (aStream position: pos - 1; peek).
- 		 ch isSeparator ifFalse:
- 			[popped notEmpty ifTrue: "it almost always is"
- 				["*don't* use nextPutAll: to work around a bug in UTF8TextConverter
- 				  >>nextPut:toStream: which avoids line-end conversion; sigh."
- 				 popped do:
- 					[:c| aStream nextPut: c]].
- 			 ^characters includes: ch].
- 		 pos := pos - 1].
- 	"*don't* use nextPutAll: to work around a bug in UTF8TextConverter>>
- 	 nextPut:toStream: which avoids line-end conversion; sigh."
- 	popped do:
- 		[:c| aStream nextPut: c].
- 	^false!



More information about the Vm-dev mailing list