[squeak-dev] The Trunk: ShoutCore-mt.81.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Jun 15 14:41:07 UTC 2020

Marcel Taeumel uploaded a new version of ShoutCore to project The Trunk:

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

Name: ShoutCore-mt.81
Author: mt
Time: 15 June 2020, 4:41:07.031209 pm
UUID: b5dfda57-678c-bd4b-91ba-3eae94326352
Ancestors: ShoutCore-mt.80

Avoid breaking new hook for <pragmaParser> when subclassing SHParserST80. That is, re-use all existing pragma parsers automatically in subclasses. Note that #methodDict was chosen over #lookupSelector: for performance reasons.

=============== Diff against ShoutCore-mt.80 ===============

Item was changed:
  ----- Method: SHParserST80>>parsePragmaStatement (in category 'parse pragma') -----
  	| parserSelector |
  	(currentToken last == $:
  		and: [(parserSelector := Symbol lookup: currentToken allButLast) notNil])
  			ifFalse: ["Quick exit to not break one-word pragmas such as <primitive> and <foobar>; also avoid interning new symbols for made-up pragmas such as for <my: 1 new: 2 pragma: 3> not interning #my."
  				^ self parsePragmaStatementKeywords].
+ 	SHParserST80 methodDict
- 	self class methodDict
  		at: parserSelector
  		ifPresent: [:parserMethod |
  			(parserMethod pragmas
  				anySatisfy: [:pragma | pragma keyword == #pragmaParser])
  					ifTrue: [^ self executeMethod: parserMethod]].
  	^ self parsePragmaStatementKeywords!

More information about the Squeak-dev mailing list