[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
|