public sealed interface FunctionDescriptor
FunctionDescriptor 是 Java 平台的预览 API。
预览功能可能会在未来的版本中删除,或升级为 Java 平台的永久功能。
- 实现要求:
- 实现类是不可变的、线程安全的和 value-based 。
- 自从:
- 19
- 参见:
-
方法总结
修饰符和类型方法描述appendArgumentLayouts(MemoryLayoutPREVIEW... addedLayouts) 返回一个函数描述符,其中给定的参数布局附加到此函数描述符的参数布局数组。返回与此函数描述符关联的参数布局(作为不可变列表)。changeReturnLayout(MemoryLayoutPREVIEW newReturn) 返回具有给定内存布局的函数描述符作为新的返回布局。返回一个函数描述符,返回布局被删除。insertArgumentLayouts(int index, MemoryLayoutPREVIEW... addedLayouts) 将给定参数布局插入到给定索引处的函数描述符返回到此函数描述符的参数布局数组中。static FunctionDescriptorPREVIEWof(MemoryLayoutPREVIEW resLayout, MemoryLayoutPREVIEW... argLayouts) 使用给定的返回和参数布局创建函数描述符。static FunctionDescriptorPREVIEWofVoid(MemoryLayoutPREVIEW... argLayouts) 创建具有给定参数布局且无返回布局的函数描述符。返回与此函数描述符关联的返回布局(如果有)。返回由此函数描述符中布局的载体类型组成的方法类型。
-
方法详情
-
returnLayout
Optional <MemoryLayout PREVIEW > returnLayout()返回与此函数描述符关联的返回布局(如果有)。- 返回:
- 与此函数描述符关联的返回布局(如果有)
-
argumentLayouts
List <MemoryLayout PREVIEW > argumentLayouts()返回与此函数描述符关联的参数布局(作为不可变列表)。- 返回:
- 与此函数描述符关联的参数布局(作为不可变列表)
-
appendArgumentLayouts
返回一个函数描述符,其中给定的参数布局附加到此函数描述符的参数布局数组。- 参数:
addedLayouts- 要附加的参数布局。- 返回:
- 新的函数描述符。
-
insertArgumentLayouts
将给定参数布局插入到给定索引处的函数描述符返回到此函数描述符的参数布局数组中。- 参数:
index- 插入参数的索引addedLayouts- 要在给定索引处插入的参数布局。- 返回:
- 新的函数描述符。
- 抛出:
IllegalArgumentException- 如果是index < 0 || index > argumentLayouts().size()。
-
changeReturnLayout
返回具有给定内存布局的函数描述符作为新的返回布局。- 参数:
newReturn- 新的返回布局。- 返回:
- 新的函数描述符。
-
dropReturnLayout
FunctionDescriptor PREVIEW dropReturnLayout()返回一个函数描述符,返回布局被删除。这对于不返回任何值的函数建模很有用。- 返回:
- 新的函数描述符。
-
toMethodType
MethodType toMethodType()返回由此函数描述符中布局的载体类型组成的方法类型。布局的载体类型确定如下:
- 如果布局是
ValueLayoutPREVIEW 运营商类型通过ValueLayout.carrier()确定PREVIEW . - 如果布局是
GroupLayoutPREVIEW 运营商类型是MemorySegmentPREVIEW . - 如果布局是
PaddingLayoutPREVIEW , 或SequenceLayoutPREVIEW 一个IllegalArgumentException被抛出。
- 返回:
- 由此函数描述符中布局的载体类型组成的方法类型
- 抛出:
IllegalArgumentException- 如果函数描述符中的一个或多个布局无法映射到载体类型(例如,如果它们是序列布局或填充布局)。
- 如果布局是
-
of
static FunctionDescriptor PREVIEW of(MemoryLayout PREVIEW resLayout, MemoryLayout PREVIEW ... argLayouts) 使用给定的返回和参数布局创建函数描述符。- 参数:
resLayout- 返回布局。argLayouts- 参数布局。- 返回:
- 新的函数描述符。
-
ofVoid
创建具有给定参数布局且无返回布局的函数描述符。- 参数:
argLayouts- 参数布局。- 返回:
- 新的函数描述符。
-
FunctionDescriptor。