#FEATURE by cg
authorClaus Gittinger <cg@exept.de>
Mon, 04 Mar 2019 11:57:04 +0100
changeset 23834 3edb64074d7b
parent 23833 dafca6659d63
child 23835 36f239feb185
#FEATURE by cg class: ExternalLibraryFunction changed: #linkToModule #printOn:
ExternalLibraryFunction.st
--- 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