[squeak-dev] The Trunk: Compiler-eem.394.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Sep 18 18:02:10 UTC 2018


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

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

Name: Compiler-eem.394
Author: eem
Time: 18 September 2018, 11:01:49.239937 am
UUID: 446b4a31-2799-41fa-82d4-e503a94fb360
Ancestors: Compiler-bf.393

Fix a bug in Scanner>>xUnderscore that prevented parsing e.g.

method: p _: q _: r
	^'cool'

=============== Diff against Compiler-bf.393 ===============

Item was changed:
  ----- Method: Scanner>>xUnderscore (in category 'multi-character scans') -----
  xUnderscore
+ 	self allowUnderscoreAssignments ifTrue:
+ 		"Figure out if x _foo (no space between _ and foo) should be a selector or assignment."
+ 		[(self allowUnderscoreSelectors
+ 		  and: [#(xLetter xDigit xUnderscore xColon) includes: (self typeTableAt: aheadChar)])
+ 			ifFalse:
+ 				[self step.
+ 				 tokenType := #leftArrow.
+ 				 ^token := #'_']].
+ 	self allowUnderscoreSelectors ifTrue:
+ 		[^self xLetter].
- 	self allowUnderscoreAssignments ifTrue:[ | type |
- 		"Figure out if x _foo (no space between _ and foo) 
- 		should be a selector or assignment"
- 		(((type := self typeTableAt: aheadChar) == #xLetter
- 			or:[type == #xDigit or:[type == #xUnderscore]]) 
- 			and:[self allowUnderscoreSelectors]) ifFalse:[
- 				self step.
- 				tokenType := #leftArrow.
- 				^token := #'_'
- 		].
- 	].
- 	self allowUnderscoreSelectors ifTrue:[^self xLetter].
  	^self xIllegal!



More information about the Squeak-dev mailing list