The Trunk: Compiler-mt.435.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Compiler-mt.435.mcz

commits-2
Marcel Taeumel uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-mt.435.mcz

==================== 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]!