[squeak-dev] The Trunk: Compiler-mt.435.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Jun 6 07:27:59 UTC 2020

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

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

Name: Compiler-mt.435
Author: mt
Time: 6 June 2020, 9:27:57.720722 am
UUID: d72aa396-b0fd-9442-93bf-983facca013b
Ancestors: Compiler-mt.434

For FFI, add support for char** etc. Actually fixes the parsing because char** would have triggered a type request for "char" and another one for "**".

=============== Diff against Compiler-mt.434 ===============

Item was changed:
  ----- Method: Parser>>externalType: (in category 'primitives') -----
  externalType: descriptorClass
  	"Parse and return an external type"
  	| xType typeName |
  	typeName := here. "Note that pointer token is not yet parsed!!"
  	(xType := descriptorClass typeNamed: typeName)
  		ifNil: [
  			"Raise an error if user is there"
  			self interactive ifTrue: [^nil].
  			"otherwise go over it silently -- use an unknown struct type"
  			xType := descriptorClass newTypeNamed: here].
  	self advance.
+ 	^ (self matchToken: #*)
+ 		ifTrue:[xType asPointerType]
+ 		ifFalse:[(self matchToken: #**)
+ 			ifTrue: [xType asPointerToPointerType]
+ 			ifFalse: [xType]]!
- 	(self matchToken:#*)
- 		ifTrue:[^xType asPointerType]
- 		ifFalse:[^xType]!

More information about the Squeak-dev mailing list