public abstract class SignatureLibrary
extends com.oracle.truffle.api.library.Library
| Constructor and Description |
|---|
SignatureLibrary() |
| Modifier and Type | Method and Description |
|---|---|
abstract Object |
bind(Object signature,
Object functionPointer)
Create an executable interop object from a signature and a function pointer.
|
abstract Object |
call(Object signature,
Object functionPointer,
Object... args)
Interpret a pointer as function pointer with the given signature and call it.
|
abstract Object |
createClosure(Object signature,
Object executable)
Create a native closure object with the given signature.
|
static com.oracle.truffle.api.library.LibraryFactory<SignatureLibrary> |
getFactory() |
static SignatureLibrary |
getUncached() |
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, toStringpublic abstract Object call(Object signature, Object functionPointer, Object... args) throws com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.UnsupportedMessageException
com.oracle.truffle.api.interop.ArityExceptioncom.oracle.truffle.api.interop.UnsupportedTypeExceptioncom.oracle.truffle.api.interop.UnsupportedMessageExceptionpublic abstract Object bind(Object signature, Object functionPointer)
InteropLibrary.execute(java.lang.Object, java.lang.Object...) message to the returned object is equivalent to calling
SignatureLibrary.call(java.lang.Object, java.lang.Object, java.lang.Object...).public abstract Object createClosure(Object signature, Object executable)
InteropLibrary.execute(java.lang.Object, java.lang.Object...) message to the executable object when
called.public static com.oracle.truffle.api.library.LibraryFactory<SignatureLibrary> getFactory()
public static SignatureLibrary getUncached()