Class SignatureLibrary
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.library.Library
com.oracle.truffle.nfi.api.SignatureLibrary
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
public abstract class SignatureLibrary
extends com.oracle.truffle.api.library.Library
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract ObjectCreate an executable interop object from a signature and a function pointer.abstract ObjectInterpret a pointer as function pointer with the given signature and call it.abstract ObjectcreateClosure(Object signature, Object executable) Create a native closure object with the given signature.static com.oracle.truffle.api.library.LibraryFactory<SignatureLibrary> static SignatureLibraryMethods inherited from class com.oracle.truffle.api.library.Library
acceptsMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, toString
-
Constructor Details
-
SignatureLibrary
public SignatureLibrary()
-
-
Method Details
-
call
public 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 Interpret a pointer as function pointer with the given signature and call it.- Throws:
com.oracle.truffle.api.interop.ArityExceptioncom.oracle.truffle.api.interop.UnsupportedTypeExceptioncom.oracle.truffle.api.interop.UnsupportedMessageException
-
bind
Create an executable interop object from a signature and a function pointer. Sending theInteropLibrary.execute(java.lang.Object, java.lang.Object...)message to the returned object is equivalent to callingcall(java.lang.Object, java.lang.Object, java.lang.Object...). -
createClosure
-
getFactory
-
getUncached
-