--- a/ExternalLibraryFunction.st Mon Mar 04 11:46:29 2019 +0100
+++ b/ExternalLibraryFunction.st Mon Mar 04 11:57:04 2019 +0100
@@ -1080,19 +1080,22 @@
printOn:aStream
aStream nextPut:$<.
self isCallTypeAPI ifTrue:[
- 'API:' printOn:aStream.
+ 'API: ' printOn:aStream.
] ifFalse:[
self isCallTypeOLE ifTrue:[
- 'OLE:' printOn:aStream.
+ 'OLE: ' printOn:aStream.
] ifFalse:[
self isCallTypeC ifTrue:[
- 'C:' printOn:aStream.
+ 'C: ' printOn:aStream.
] ifFalse:[
- aStream nextPutAll:'Error: unknown call type '.
+ self isObjectiveC ifTrue:[
+ 'ObjC: #' printOn:aStream.
+ ] ifFalse:[
+ aStream nextPutAll:'Error: unknown call type '.
+ ].
].
].
].
- aStream space.
name printOn:aStream.
moduleName notNil ifTrue:[
aStream nextPutAll:' module:'.
@@ -1102,6 +1105,7 @@
"Modified: / 25-09-2012 / 12:06:14 / cg"
"Modified: / 17-02-2017 / 09:48:25 / stefan"
+ "Modified: / 04-03-2019 / 11:56:18 / Claus Gittinger"
! !
!ExternalLibraryFunction methodsFor:'private'!
@@ -1149,7 +1153,11 @@
^ self
]
].
-
+ self isObjectiveC ifTrue:[
+ "/ no need for a library - we will get the receiver
+ ^ self.
+ ].
+
"/ in some other smalltalks, there is no moduleName in the ffi-spec;
"/ instead, the class provides the libraryName...
(moduleNameUsed := moduleName) isNil ifTrue:[
@@ -1189,6 +1197,7 @@
"Modified: / 04-08-2017 / 20:10:41 / cg"
"Modified: / 11-05-2018 / 12:18:14 / stefan"
"Modified: / 22-07-2018 / 15:16:19 / Stefan Vogel"
+ "Modified: / 04-03-2019 / 11:42:56 / Claus Gittinger"
!
loadLibrary:dllName