[Pkg] The Trunk: Compiler-eem.481.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Nov 23 15:38:22 UTC 2022


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

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

Name: Compiler-eem.481
Author: eem
Time: 23 November 2022, 7:38:19.39867 am
UUID: 0a4ff524-0585-4dcb-bd44-d3fa8b800b69
Ancestors: Compiler-eem.480

Respond to Marcel's suggestion. We don't need no steenkin' warnings for isNil or notNil either...

=============== Diff against Compiler-eem.480 ===============

Item was changed:
  ----- Method: Parser>>primaryExpression (in category 'expression types') -----
  primaryExpression 
  	hereType == #word 
  		ifTrue: 
  			[parseNode := self variable.
  			(parseNode isUndefTemp
+ 			 and: [(#('ifNil:' 'ifNotNil:' 'isNil' 'notNil') includes: here) not
- 			 and: [(#('ifNil:' 'ifNotNil:') includes: here) not
  			 and: [self interactive]])
  				ifTrue:
  					[self queryUndefined].
  			parseNode nowHasRef.
  			^ true].
  	hereType == #leftBracket
  		ifTrue: 
  			[self advance.
  			self blockExpression.
  			^true].
  	hereType == #leftBrace
  		ifTrue: 
  			[self braceExpression.
  			^true].
  	hereType == #leftParenthesis
  		ifTrue: 
  			[self advance.
  			self expression ifFalse: [^self expected: 'expression'].
  			(self match: #rightParenthesis)
  				ifFalse: [^self expected: 'right parenthesis'].
  			^true].
  	(hereType == #string or: [hereType == #number or: [hereType == #literal or: [hereType == #character]]])
  		ifTrue: 
  			[parseNode := encoder encodeLiteral: self advance.
  			^true].
  	(here == #- and: [tokenType == #number and: [1 + hereEnd = mark]])
  		ifTrue: 
  			[self advance.
  			parseNode := encoder encodeLiteral: self advance negated.
  			^true].
  	^false!



More information about the Packages mailing list