Implementation Specification
Implementing classes are immutable, thread-safe and value-based.
MemoryLayout
| Modifier and Type | Method and Description |
|---|---|
| public FunctionDescriptor | Returns: a new function descriptor, with the provided additional argument layoutsthe argument layouts to append addedLayouts)Returns a function descriptor with the given argument layouts appended to the argument layouts of this function descriptor. |
| public List | Returns: the argument layouts of this function descriptor (as an unmodifiable list)Returns the argument layouts of this function descriptor (as an unmodifiable list). |
| public FunctionDescriptor | Returns: a new function descriptor, with the provided return layoutthe new return layout newReturn)Returns a function descriptor with the provided return layout. |
| public FunctionDescriptor | Returns: a new function descriptor, with no return layoutReturns a new function descriptor, with no return layout. |
| public FunctionDescriptor | Returns: a new function descriptor, with the provided additional argument layoutsthe index at which to insert the arguments index, MemoryLayout... the argument layouts to insert at given index addedLayouts)Returns a function descriptor with the given argument layouts inserted at the given index, into the argument layout array of this function descriptor. |
| public static FunctionDescriptor | Returns: a new function descriptor with the provided return and argument layoutsthe return layout resLayout, MemoryLayout... the argument layouts argLayouts)Creates a function descriptor with the given return and argument layouts. |
| public static FunctionDescriptor | Returns: a new function descriptor with the provided argument layoutsthe argument layouts argLayouts)Creates a function descriptor with the given argument layouts and no return layout. |
| public Optional | Returns: the return layout (if any) of this function descriptorReturns the return layout (if any) of this function descriptor. |
| public MethodType | Returns: the method type consisting of the carrier types of the layouts in this function descriptorReturns the method type consisting of the carrier types of the layouts in this function descriptor. |
| appendArgumentLayouts | back to summary |
|---|---|
| public FunctionDescriptor appendArgumentLayouts(MemoryLayout... addedLayouts) Returns a function descriptor with the given argument layouts appended to the argument layouts of this function descriptor.
| |
| argumentLayouts | back to summary |
|---|---|
| public List Returns the argument layouts of this function descriptor (as an unmodifiable list).
| |
| changeReturnLayout | back to summary |
|---|---|
| public FunctionDescriptor changeReturnLayout(MemoryLayout newReturn) Returns a function descriptor with the provided return layout.
| |
| dropReturnLayout | back to summary |
|---|---|
| public FunctionDescriptor dropReturnLayout() Returns a new function descriptor, with no return layout.
| |
| insertArgumentLayouts | back to summary |
|---|---|
| public FunctionDescriptor insertArgumentLayouts(int index, MemoryLayout... addedLayouts) Returns a function descriptor with the given argument layouts inserted at the given index, into the argument layout array of this function descriptor.
| |
| of | back to summary |
|---|---|
| public static FunctionDescriptor of(MemoryLayout resLayout, MemoryLayout... argLayouts) Creates a function descriptor with the given return and argument layouts.
| |
| ofVoid | back to summary |
|---|---|
| public static FunctionDescriptor ofVoid(MemoryLayout... argLayouts) Creates a function descriptor with the given argument layouts and no return layout. This is useful to model functions that return no values.
| |
| returnLayout | back to summary |
|---|---|
| public Optional Returns the return layout (if any) of this function descriptor.
| |
| toMethodType | back to summary |
|---|---|
| public MethodType toMethodType() Returns the method type consisting of the carrier types of the layouts in this function descriptor.
The carrier type of a layout
API Note A function descriptor cannot, by construction, contain any padding layouts. As such, it is not necessary to specify how padding layout should be mapped to carrier types.
| |