模块 java.base

接口 FunctionDescriptor


public sealed interface FunctionDescriptor
FunctionDescriptor 是 Java 平台的预览 API。
程序只能在启用预览功能时使用 FunctionDescriptor
预览功能可能会在未来的版本中删除,或升级为 Java 平台的永久功能。
函数描述符模拟外部函数的签名。函数描述符由零个或多个参数布局和零个或一个返回布局组成。创建向下调用方法句柄时通常使用函数描述符PREVIEW 电话存根PREVIEW .
实现要求:
实现类是不可变的、线程安全的和 value-based
自从:
19
参见:
  • 方法详情

    • returnLayout

      Optional <MemoryLayout PREVIEW > returnLayout()
      返回与此函数描述符关联的返回布局(如果有)。
      返回:
      与此函数描述符关联的返回布局(如果有)
    • argumentLayouts

      List <MemoryLayout PREVIEW > argumentLayouts()
      返回与此函数描述符关联的参数布局(作为不可变列表)。
      返回:
      与此函数描述符关联的参数布局(作为不可变列表)
    • appendArgumentLayouts

      FunctionDescriptor PREVIEW  appendArgumentLayouts(MemoryLayout PREVIEW ... addedLayouts)
      返回一个函数描述符,其中给定的参数布局附加到此函数描述符的参数布局数组。
      参数:
      addedLayouts - 要附加的参数布局。
      返回:
      新的函数描述符。
    • insertArgumentLayouts

      FunctionDescriptor PREVIEW  insertArgumentLayouts(int index, MemoryLayout PREVIEW ... addedLayouts)
      将给定参数布局插入到给定索引处的函数描述符返回到此函数描述符的参数布局数组中。
      参数:
      index - 插入参数的索引
      addedLayouts - 要在给定索引处插入的参数布局。
      返回:
      新的函数描述符。
      抛出:
      IllegalArgumentException - 如果是 index < 0 || index > argumentLayouts().size()
    • changeReturnLayout

      FunctionDescriptor PREVIEW  changeReturnLayout(MemoryLayout PREVIEW  newReturn)
      返回具有给定内存布局的函数描述符作为新的返回布局。
      参数:
      newReturn - 新的返回布局。
      返回:
      新的函数描述符。
    • dropReturnLayout

      FunctionDescriptor PREVIEW  dropReturnLayout()
      返回一个函数描述符,返回布局被删除。这对于不返回任何值的函数建模很有用。
      返回:
      新的函数描述符。
    • toMethodType

      MethodType  toMethodType()
      返回由此函数描述符中布局的载体类型组成的方法类型。

      布局的载体类型确定如下:

      返回:
      由此函数描述符中布局的载体类型组成的方法类型
      抛出:
      IllegalArgumentException - 如果函数描述符中的一个或多个布局无法映射到载体类型(例如,如果它们是序列布局或填充布局)。
    • of

      static FunctionDescriptor PREVIEW  of(MemoryLayout PREVIEW  resLayout, MemoryLayout PREVIEW ... argLayouts)
      使用给定的返回和参数布局创建函数描述符。
      参数:
      resLayout - 返回布局。
      argLayouts - 参数布局。
      返回:
      新的函数描述符。
    • ofVoid

      static FunctionDescriptor PREVIEW  ofVoid(MemoryLayout PREVIEW ... argLayouts)
      创建具有给定参数布局且无返回布局的函数描述符。
      参数:
      argLayouts - 参数布局。
      返回:
      新的函数描述符。