Spec-Zone.ru › OpenJDK 27

Класс перечисления ClassFile.DeadLabelsOption

java.lang.Object
java.lang.Enum<ClassFile.DeadLabelsOption>
java.lang.classfile.ClassFile.DeadLabelsOption
Все реализуемые интерфейсы:
Serializable, ClassFile.Option, Comparable<ClassFile.DeadLabelsOption>, Constable
Вмещающий интерфейс:
ClassFile
public static enum ClassFile.DeadLabelsOption extends Enum<ClassFile.DeadLabelsOption> implements ClassFile.Option
Параметр, определяющий, следует ли фильтровать непривязанные метки и по возможности удалять содержащие их конструкции. По умолчанию установлено значение FAIL_ON_DEAD_LABELS, чтобы сразу выбрасывать IllegalArgumentException, если PseudoInstruction ссылается на непривязанную метку во время генерации байт-кода.

К затрагиваемым PseudoInstruction относятся ExceptionCatch, LocalVariable, LocalVariableType и CharacterRange. Если для этого параметра задано значение DROP_DEAD_LABELS, эти псевдоинструкции вместо этого фильтруются из CodeBuilder. Обратите внимание, что инструкции, например BranchInstruction, с непривязанными метками всегда сразу приводят к IllegalArgumentException.

Начиная с:
24
См. также:
  • ClassFile.DebugElementsOption

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в классе Enum

Enum.EnumDesc<E>
Модификатор и тип Класс Описание
static final class  Enum.EnumDesc<E extends Enum<E>>
Номинальный дескриптор для константы enum.

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

Константа перечисления Описание
DROP_DEAD_LABELS
Фильтрует PseudoInstruction с непривязанными метками.
FAIL_ON_DEAD_LABELS
Сразу выбрасывает исключение при обнаружении непривязанных меток.

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

Модификатор и тип Метод Описание
static ClassFile.DeadLabelsOption valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static ClassFile.DeadLabelsOption[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

Методы, объявленные в классе Enum

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
Модификатор и тип Метод Описание
protected final Object clone()
Выбрасывает исключение CloneNotSupportedException.
final int compareTo(ClassFile.DeadLabelsOption o)
Сравнивает это перечисление с указанным объектом для определения порядка.
final Optional<Enum.EnumDesc<ClassFile.DeadLabelsOption>> describeConstable()
Возвращает дескриптор перечисления EnumDesc для этого экземпляра, если его можно создать, или пустой объект Optional, если создать его невозможно.
final boolean equals(Object other)
Возвращает true, если указанный объект равен этой константе перечисления.
protected final void finalize()
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и планируется к удалению.
final Class<ClassFile.DeadLabelsOption> getDeclaringClass()
Возвращает объект Class, соответствующий типу перечисления этой константы перечисления.
final int hashCode()
Возвращает хеш-код этой константы перечисления.
final String name()
Возвращает имя этой константы перечисления точно в том виде, в котором оно объявлено в объявлении перечисления.
final int ordinal()
Возвращает порядковый номер этой константы перечисления (её позицию в объявлении перечисления, где первой константе присваивается номер 0).
String toString()
Возвращает имя этой константы перечисления в том виде, в котором оно содержится в объявлении.
static <T extends Enum<T>>
T
valueOf(Class<T> enumClass, String name)
Возвращает константу указанного класса перечисления с указанным именем.

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

getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание констант перечисления

FAIL_ON_DEAD_LABELS

public static final ClassFile.DeadLabelsOption FAIL_ON_DEAD_LABELS
Сразу выбрасывает исключение при обнаружении непривязанных меток. Это также гарантирует точность сгенерированных файлов class.

DROP_DEAD_LABELS

public static final ClassFile.DeadLabelsOption DROP_DEAD_LABELS
Фильтрует PseudoInstruction с непривязанными метками. Обратите внимание, что инструкции с непривязанными метками по-прежнему приводят к IllegalArgumentException.

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

values

public static ClassFile.DeadLabelsOption[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.
Возвращает:
массив, содержащий константы этого класса перечисления в порядке их объявления

valueOf

public static ClassFile.DeadLabelsOption valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем. Строка должна точно совпадать с идентификатором, использованным для объявления константы перечисления в этом классе. (Пробелы в начале и конце строки не допускаются.)
Параметры:
name — имя возвращаемой константы перечисления.
Возвращает:
константа перечисления с указанным именем
Выбрасывает:
IllegalArgumentException — если в этом классе перечисления нет константы с указанным именем
NullPointerException — если аргумент равен null

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, которая содержит более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

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