The Trunk: Compiler-eem.394.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Compiler-eem.394.mcz

commits-2
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!