[squeak-dev] The Trunk: ShoutCore-eem.96.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jul 12 21:56:09 UTC 2022


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

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

Name: ShoutCore-eem.96
Author: eem
Time: 12 July 2022, 2:56:07.854662 pm
UUID: 3cc67eea-1f93-4fec-8eb6-a77683a6bf1f
Ancestors: ShoutCore-mt.95

Fix parsing of unary selectors beginning and/or ending weith underscores, which are legal when Scanner prefAllowUnderscoreSelectors.

=============== Diff against ShoutCore-mt.95 ===============

Item was changed:
  ----- Method: SHParserST80>>currentTokenType (in category 'parse support') -----
  currentTokenType
  	"Cache and return the type of currentToken of #(name keyword binary assignment ansiAssignment other)"
  	
  	^currentTokenType ifNil: [
  		currentTokenType := currentToken ifNotNil: [ 
  			currentTokenFirst isLetter
  				ifFalse: [
  					currentTokenFirst == $_
  						ifTrue: [
+ 							(allowUnderscoreSelectors and: [ currentToken size > 1 ])
+ 								ifTrue:
+ 									[currentToken last == $: 
+ 										ifTrue: [ #keyword ]
+ 										ifFalse:
+ 											[(currentToken last isLetter or: [currentToken last == $_]) ifTrue:
+ 												[ #name ]]]
- 							(allowUnderscoreSelectors
- 								and: [ currentToken size > 1
- 								and: [ currentToken last == $: ] ])
- 								ifTrue: [ #keyword ]
  								ifFalse: [
  									(allowUnderscoreAssignments and: [ currentToken = '_' ]) ifTrue: [
  										#assignment ] ] ]
  						ifFalse: [ 
  							currentToken = ':='
  								ifTrue: [ #ansiAssignment ]
  								ifFalse: [
  									(currentToken allSatisfy: [ :each | self isSelectorCharacter: each ]) ifTrue: [ #binary ] ] ] ]
  				ifTrue: [ 
  					currentToken last == $:
  						ifTrue: [ #keyword ]
  						ifFalse: [
  							(currentToken last isAlphaNumeric or: [
  								allowUnderscoreSelectors and: [
  									currentToken last == $_ ] ])
  								ifTrue: [ #name ] ] ] ].
  		currentTokenType ifNil: [ currentTokenType := #other ] ]!



More information about the Squeak-dev mailing list