Spec-Zone.ru › OpenJDK 27

Перечисление ClassFile.DeadCodeOption

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

Процесс генерации карты стека может завершиться ошибкой при обнаружении недостижимого кода, если задано значение KEEP_DEAD_CODE. В таких случаях пользователям следует задать ClassFile.StackMapsOption.DROP_STACK_MAPS и предоставить собственные карты стека, проходящие проверку (JVMS §4.10.1).

См. Спецификацию виртуальной машины Java:
4.10.1 Проверка с помощью проверки типов
Начиная с:
24
См. также:
  • ClassFile.StackMapsOption

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

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

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

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

Константа перечисления Описание
KEEP_DEAD_CODE
Сохранить недостижимый код для точности сгенерированного файла class.
PATCH_DEAD_CODE
Заменить недостижимый код фиктивным кодом и создать допустимые фиктивные записи карты стека.

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

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

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

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

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

PATCH_DEAD_CODE

public static final ClassFile.DeadCodeOption PATCH_DEAD_CODE
Заменяет недостижимый код фиктивным кодом и создаёт допустимые фиктивные записи карты стека. Это гарантирует, что сгенерированный код пройдёт проверку (JVMS §4.10.1).

KEEP_DEAD_CODE

public static final ClassFile.DeadCodeOption KEEP_DEAD_CODE
Сохраняет недостижимый код для точности сгенерированного файла class. Пользователям следует задать ClassFile.StackMapsOption.DROP_STACK_MAPS, чтобы отключить генерацию карт стека, и предоставить собственный StackMapTableAttribute для CodeBuilder.

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

values

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

valueOf

public static ClassFile.DeadCodeOption 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