make-varargs-callback-type ( return function library types names named-count -- word quot effect )


Vocabulary
alien.parser

Inputs
returnan object
functionan object
libraryan object
typesan object
namesan object
named-countan object


Outputs
wordan object
quotan object
effectan object


Definition


:: make-varargs-callback-type
( return function library types names named-count -- word quot effect )
named-count [
named-count types length =
[ names "args" suffix ] [ names ] if
:> callback-names return function library types
callback-names make-callback-type
:> ( type-word old-quot effect ) old-quot drop
type-word named-count "callback-varargs" set-word-prop
type-word return types library library-abi named-count
varargs-callback-quot effect
] [ return function library types names make-callback-type ]
if ;