Spec-Zone.ru › OpenJDK 17

Класс FunctionDescriptor

java.lang.Object
jdk.incubator.foreign.FunctionDescriptor
Все реализованные интерфейсы:
Constable
public final class FunctionDescriptor extends Object implements Constable
Описание функции состоит из нуля или более расположений аргументов и нуля или одного расположения возвращаемого значения. Описание функции используется для моделирования сигнатуры внешних функций.

Если не указано иное, передача null аргумента или аргумента массива, содержащего один или несколько null элементов, в метод в этом классе приводит к выбрасыванию NullPointerException.

Краткое описание полей

Модификатор и тип Поле Описание
static final String TRIVIAL_ATTRIBUTE_NAME
Имя атрибута описания функции (см. attributes()), используемого для маркировки тривиальных функций.

Краткое описание методов

Модификатор и тип Метод Описание
List<MemoryLayout> argumentLayouts()
Возвращает расположения аргументов, связанные с этой функцией.
Optional<Constable> attribute(String name)
Возвращает атрибут с заданным именем (если он существует).
Stream<String> attributes()
Возвращает поток имен атрибутов, связанных с этим описанием функции.
Optional<DynamicConstantDesc<FunctionDescriptor>> describeConstable()
Возвращает Optional, содержащий номинальное описание для этого экземпляра, если оно может быть построено, или пустой Optional, если оно не может быть построено.
boolean equals(Object other)
Сравнивает указанный объект с этим описанием функции на равенство.
int hashCode()
Возвращает значение хэш-кода для этого описания функции.
static FunctionDescriptor of(MemoryLayout resLayout, MemoryLayout... argLayouts)
Создаёт описание функции с заданными расположениями возвращаемого значения и аргументов.
static FunctionDescriptor ofVoid(MemoryLayout... argLayouts)
Создаёт описание функции с заданными расположениями аргументов и без расположения возвращаемого значения.
Optional<MemoryLayout> returnLayout()
Возвращает расположение возвращаемого значения, связанное с этой функцией.
String toString()
Возвращает строковое представление этого описания функции.
FunctionDescriptor withAppendedArgumentLayouts(MemoryLayout... addedLayouts)
Создаёт новое описание функции с заданными расположениями аргументов, добавленными к массиву расположений аргументов этого описания функции.
FunctionDescriptor withAttribute(String name, Constable value)
Возвращает новое описание функции, которое содержит те же атрибуты, что и это описание, плюс новый указанный атрибут.
FunctionDescriptor withReturnLayout(MemoryLayout newReturn)
Создаёт новое описание функции с заданным расположением памяти в качестве нового расположения возвращаемого значения.
FunctionDescriptor withVoidReturnLayout()
Создаёт новое описание функции, из которого исключено расположение возвращаемого значения.

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание полей

TRIVIAL_ATTRIBUTE_NAME

public static final String TRIVIAL_ATTRIBUTE_NAME
Имя атрибута описателя функции (см. attributes()), используемого для маркировки тривиальных функций. Значение атрибута должно быть булевым.
См. также:
  • Значения постоянных полей

Подробное описание методов

attribute

public Optional<Constable> attribute(String name)
Возвращает атрибут с заданным именем (если он существует).
Параметры:
name - имя атрибута.
Возвращает:
атрибут с заданным именем (если он существует).

attributes

public Stream<String> attributes()
Возвращает поток имён атрибутов, связанных с этим описателем функции.
Возвращает:
поток имён атрибутов, связанных с этим описателем функции.

withAttribute

public FunctionDescriptor withAttribute(String name, Constable value)
Возвращает новый описатель функции, который содержит те же атрибуты, что и этот описатель, плюс новый указанный атрибут. Если этот описатель уже содержит атрибут с тем же именем, то существующее значение атрибута перезаписывается в возвращённом описателе.
Параметры:
name - имя атрибута.
value - значение атрибута.
Возвращает:
новый описатель функции, который содержит те же атрибуты, что и этот описатель, плюс новый указанный атрибут.

returnLayout

public Optional<MemoryLayout> returnLayout()
Возвращает макет возвращаемого значения, связанный с этой функцией.
Возвращает:
макет возвращаемого значения.

argumentLayouts

public List<MemoryLayout> argumentLayouts()
Возвращает макеты аргументов, связанные с этой функцией.
Возвращает:
макеты аргументов.

of

public static FunctionDescriptor of(MemoryLayout resLayout, MemoryLayout... argLayouts)
Создаёт описатель функции с заданными макетами возвращаемого значения и аргументов.
Параметры:
resLayout - макет возвращаемого значения.
argLayouts - макеты аргументов.
Возвращает:
новый описатель функции.

ofVoid

public static FunctionDescriptor ofVoid(MemoryLayout... argLayouts)
Создаёт описатель функции с заданными макетами аргументов и без макета возвращаемого значения.
Параметры:
argLayouts - макеты аргументов.
Возвращает:
новый описатель функции.

withAppendedArgumentLayouts

public FunctionDescriptor withAppendedArgumentLayouts(MemoryLayout... addedLayouts)
Создаёт новый описатель функции с заданными макетами аргументов, добавленными в массив макетов аргументов этого описателя функции.
Параметры:
addedLayouts - макеты аргументов для добавления.
Возвращает:
новый описатель функции.

withReturnLayout

public FunctionDescriptor withReturnLayout(MemoryLayout newReturn)
Создаёт новый описатель функции с заданным макетом памяти как новым макетом возвращаемого значения.
Параметры:
newReturn - новый макет возвращаемого значения.
Возвращает:
новый описатель функции.

withVoidReturnLayout

public FunctionDescriptor withVoidReturnLayout()
Создаёт новый описатель функции без макета возвращаемого значения.
Возвращает:
новый описатель функции.

toString

public String toString()
Возвращает строковое представление этого описателя функции.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого описателя функции.

equals

public boolean equals(Object other)
Сравнивает указанный объект с этим описателем функции на равенство. Возвращает true тогда и только тогда, когда указанный объект также является описателем функции и выполняются все следующие условия:
  • два описателя функций имеют равные макеты возвращаемого значения (см. MemoryLayout.equals(Object)), или оба не имеют макета возвращаемого значения
  • макеты аргументов двух описателей функций попарно равны (см. MemoryLayout.equals(Object))
Переопределяет:
equals в классе Object
Параметры:
other - объект для сравнения на равенство с этим описателем функции.
Возвращает:
true если указанный объект равен этому описателю функции.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает значение хэш-кода для этого описателя функции.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого описателя функции.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

describeConstable

public Optional<DynamicConstantDesc<FunctionDescriptor>> describeConstable()
Описание скопировано из интерфейса: Constable
Возвращает Optional, содержащую номинальный описатель для этого экземпляра, если он может быть создан, или пустой Optional, если он не может быть создан.
Определено в:
describeConstable в интерфейсе Constable
Возвращает:
Optional, содержащий получившийся номинальный описатель, или пустой Optional, если он не может быть создан.

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/FunctionDescriptor.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API