public abstract class NFIBackendSignatureLibrary
extends com.oracle.truffle.api.library.Library
| Constructor and Description |
|---|
NFIBackendSignatureLibrary() |
| Modifier and Type | Method and Description |
|---|---|
abstract Object |
call(Object signature,
Object functionPointer,
Object... args)
Call a native function with this signature.
|
abstract Object |
createClosure(Object signature,
Object executable)
Create a function pointer closure that calls back into an executable object.
|
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 createClosure(Object signature, Object executable)
NativeSimpleType.POINTER.
The returned pointer should be a function pointer. Calling that function pointer sends the
InteropLibrary.execute(java.lang.Object, java.lang.Object...) message to the executable object. The returned object should
not be executable.