ExternalLibraryFunction.st
changeset 14729 1432f384b1cc
parent 14659 410089913ca1
child 15002 c0633d3e9d20
child 18022 f23232c2eaef
equal deleted inserted replaced
14728:b947522816a7 14729:1432f384b1cc
   885 	    ]
   885 	    ]
   886 	].
   886 	].
   887     ] ifFalse:[
   887     ] ifFalse:[
   888 	objectiveC ifTrue:[
   888 	objectiveC ifTrue:[
   889 	    aReceiverOrNil isNil ifTrue:[
   889 	    aReceiverOrNil isNil ifTrue:[
   890 	        "/ must have an objective-c object instance
   890 		"/ must have an objective-c object instance
   891 	        self primitiveFailed.
   891 		self primitiveFailed.
   892 	    ].
   892 	    ].
   893 	    (aReceiverOrNil isObjectiveCObject) ifFalse:[
   893 	    (aReceiverOrNil isObjectiveCObject) ifFalse:[
   894 		self primitiveFailed
   894 		self primitiveFailed
   895 	    ]
   895 	    ]
   896 	] ifFalse:[
   896 	] ifFalse:[
   897 	    aReceiverOrNil notNil ifTrue:[
   897 	    aReceiverOrNil notNil ifTrue:[
   898 	        "/ must NOT have a c++/objectiveC object instance
   898 		"/ must NOT have a c++/objectiveC object instance
   899 	        self primitiveFailed.
   899 		self primitiveFailed.
   900 	    ]
   900 	    ]
   901 	].
   901 	].
   902     ].
   902     ].
   903     async := self isAsync.
   903     async := self isAsync.
   904     unlimitedStack := self isUnlimitedStack.
   904     unlimitedStack := self isUnlimitedStack.
  1575 	    ].
  1575 	    ].
  1576 	].
  1576 	].
  1577 	(failureCode == #BadArgForAsyncCall) ifTrue:[
  1577 	(failureCode == #BadArgForAsyncCall) ifTrue:[
  1578 	    ^ self tryAgainWithAsyncSafeArguments:argumentsOrNil forCPPInstance:aReceiverOrNil
  1578 	    ^ self tryAgainWithAsyncSafeArguments:argumentsOrNil forCPPInstance:aReceiverOrNil
  1579 	].
  1579 	].
       
  1580 	(failureCode == #FFINotSupported) ifTrue:[
       
  1581 	    self primitiveFailed:'FFI support missing in this build'.
       
  1582 	].
  1580 
  1583 
  1581 	self primitiveFailed.   "see failureCode and failureInfo for details"
  1584 	self primitiveFailed.   "see failureCode and failureInfo for details"
  1582 	^ nil
  1585 	^ nil
  1583     ].
  1586     ].
  1584 
  1587 
  1684 ! !
  1687 ! !
  1685 
  1688 
  1686 !ExternalLibraryFunction class methodsFor:'documentation'!
  1689 !ExternalLibraryFunction class methodsFor:'documentation'!
  1687 
  1690 
  1688 version_CVS
  1691 version_CVS
  1689     ^ '$Header: /cvs/stx/stx/libbasic/ExternalLibraryFunction.st,v 1.93 2013-01-16 12:20:15 cg Exp $'
  1692     ^ '$Header: /cvs/stx/stx/libbasic/ExternalLibraryFunction.st,v 1.94 2013-01-29 16:27:28 cg Exp $'
  1690 !
  1693 !
  1691 
  1694 
  1692 version_SVN
  1695 version_SVN
  1693     ^ '§ Id: ExternalLibraryFunction.st 10643 2011-06-08 21:53:07Z vranyj1  §'
  1696     ^ '§ Id: ExternalLibraryFunction.st 10643 2011-06-08 21:53:07Z vranyj1  §'
  1694 ! !
  1697 ! !