--- a/ExternalLibraryFunction.st Mon Mar 04 09:45:05 2019 +0100
+++ b/ExternalLibraryFunction.st Mon Mar 04 11:05:44 2019 +0100
@@ -248,6 +248,15 @@
!ExternalLibraryFunction class methodsFor:'instance creation'!
+name:functionName module:moduleName callType:callTypeSymbol returnType:returnType argumentTypes:argTypes
+ ^ self new
+ name:functionName module:moduleName
+ returnType:returnType argumentTypes:argTypes;
+ callType:callTypeSymbol
+
+ "Created: / 04-03-2019 / 11:00:57 / Claus Gittinger"
+!
+
name:functionName module:moduleName returnType:returnType argumentTypes:argTypes
^ self new
name:functionName module:moduleName
@@ -758,6 +767,33 @@
"Created: / 01-08-2006 / 13:56:48 / cg"
!
+callType:aSymbol
+ (aSymbol sameAs:'api') ifTrue:[
+ self beCallTypeAPI.
+ ^ self.
+ ].
+ (aSymbol sameAs:'ole') ifTrue:[
+ self beCallTypeOLE.
+ ^ self.
+ ].
+ (aSymbol sameAs:'c') ifTrue:[
+ self beCallTypeC.
+ ^ self.
+ ].
+ (aSymbol sameAs:'objc') ifTrue:[
+ self beObjectiveC.
+ ^ self.
+ ].
+ (aSymbol sameAs:'virtualCPP') ifTrue:[
+ self beCallTypeC.
+ self beVirtualCPP.
+ ^ self.
+ ].
+ self error:'unknown calltype'
+
+ "Created: / 04-03-2019 / 11:02:12 / Claus Gittinger"
+!
+
callTypeNumber
^ flags bitAnd: CALLTYPE_MASK.