[squeak-dev] The Trunk: ShoutCore-ul.34.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Nov 10 12:28:53 UTC 2011


Levente Uzonyi uploaded a new version of ShoutCore to project The Trunk:
http://source.squeak.org/trunk/ShoutCore-ul.34.mcz

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

Name: ShoutCore-ul.34
Author: ul
Time: 10 November 2011, 1:07:35.853 pm
UUID: 1c2037bd-d6a3-5f43-b3d0-df85edfc21d1
Ancestors: ShoutCore-eem.33

- readded checks to #parseExternalCall to avoid errors when writing FFI calls
- sync #parseExternalCall's module and error support with #parsePrimitive's

=============== Diff against ShoutCore-eem.33 ===============

Item was changed:
  ----- Method: SHParserST80>>parseExternalCall (in category 'parse') -----
  parseExternalCall
  	[self scanNext.
  	((Smalltalk at: #ExternalFunction) callingConventionModifierFor: currentToken) notNil]
  		whileTrue.
+ 	self failUnless: currentToken notNil.
  	self scanPast: #externalCallType.
  	currentToken = '*' 
  		ifTrue: [self scanPast: #externalCallTypePointerIndicator].
  	currentTokenFirst isDigit 
  		ifTrue: [self scanPast: #integer]
  		ifFalse: 	[
  			self failUnless: currentTokenFirst == $'.
  			self parseString].
  	self failUnless: currentTokenFirst == $(.
  	self scanPast: #leftParenthesis.
  	[currentTokenFirst ~= $)] 
  		whileTrue: [
+ 			self failUnless: currentToken notNil.
  			self scanPast: #externalCallType.
  			currentToken = '*' 
  				ifTrue: [self scanPast: #externalCallTypePointerIndicator]].
  	self scanPast: #rightParenthesis.
  	currentToken = 'module:' 
  		ifTrue: [
  			self scanPast: #module.
+ 			self parseStringOrSymbol ].
+ 	currentToken = 'error:' ifTrue: [
+ 		self scanPast: #primitive. "there's no rangeType for error"
+ 		self isName
+ 			ifTrue: [ self scanPast: #patternTempVar ]
+ 			ifFalse: [ self parseStringOrSymbol ] ].
- 			self failUnless: currentTokenFirst == $'.
- 			self parseString].
- 	currentToken = 'error:' 
- 		ifTrue: [
- 			self scanPast: #module.
- 			currentTokenFirst == $'
- 				ifTrue: [self parseString]
- 				ifFalse: [self scanPast: #patternTempVar]].
  	self failUnless: currentToken = '>'.
  	self scanPast: #primitiveOrExternalCallEnd!




More information about the Squeak-dev mailing list