Spec-Zone.ru › OpenJDK 24

Интерфейс CharacterRange

Все суперинтерфейсы:
ClassFileElement, CodeElement, PseudoInstruction
public sealed interface CharacterRange extends PseudoInstruction
Псевдоинструкция, моделирующая одну запись в атрибуте CharacterRangeTable. Передается как CodeElement во время обхода элементов CodeModel в соответствии с настройкой параметра ClassFile.DebugElementsOption.

Запись диапазона символов является составной:

CharacterRange(
    Label startScope,
    Label endScope,
    int characterRangeStart,
    int characterRangeEnd,
    int flags
)

Другая модель, CharacterRangeInfo, также моделирует запись диапазона символов; она не зависит от CodeModel и представляет значения bci как int вместо Label и используется в качестве компонентов CharacterRangeTableAttribute.

С момента:
24
См. также:
  • CharacterRangeInfo
  • CodeBuilder::characterRange
  • ClassFile.DebugElementsOption

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

Модификатор и тип Поле Описание
static final int FLAG_ASSIGNMENT
Маска бита типа присваивания CharacterRangeInfo.
static final int FLAG_BLOCK
Маска бита типа блока CharacterRangeInfo.
static final int FLAG_BRANCH_FALSE
Маска бита типа BRANCH_FALSE CharacterRangeInfo.
static final int FLAG_BRANCH_TRUE
Маска бита типа BRANCH_TRUE CharacterRangeInfo.
static final int FLAG_CREATE
Маска бита типа CREATE CharacterRangeInfo.
static final int FLAG_FLOW_CONTROLLER
Маска бита типа FLOW_CONTROLLER CharacterRangeInfo.
static final int FLAG_FLOW_TARGET
Маска бита типа FLOW_TARGET CharacterRangeInfo.
static final int FLAG_INVOKE
Маска бита типа INVOKE CharacterRangeInfo.
static final int FLAG_STATEMENT
Маска бита типа STATEMENT CharacterRangeInfo.

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

Модификатор и тип Метод Описание
int characterRangeEnd()
Возвращает закодированный конец области диапазона символов (исключительно).
int characterRangeStart()
Возвращает закодированное начало области диапазона символов (включительно).
Label endScope()
Возвращает конец диапазона инструкций.
int flags()
Флаги, указывающие на тип диапазона.
static CharacterRange of(Label startScope, Label endScope, int characterRangeStart, int characterRangeEnd, int flags)
Возвращает псевдоинструкцию диапазона символов.
Label startScope()
Возвращает начало диапазона инструкций.

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

FLAG_STATEMENT

static final int FLAG_STATEMENT
Битовая маска типа STATEMENT CharacterRangeInfo.
См. также:
  • Значения константного поля

FLAG_BLOCK

static final int FLAG_BLOCK
Битовая маска типа BLOCK CharacterRangeInfo.
См. также:
  • Значения константного поля

FLAG_ASSIGNMENT

static final int FLAG_ASSIGNMENT
Битовая маска типа ASSIGNMENT CharacterRangeInfo.
См. также:
  • Значения константного поля

FLAG_FLOW_CONTROLLER

static final int FLAG_FLOW_CONTROLLER
Битовая маска типа FLOW_CONTROLLER CharacterRangeInfo.
См. также:
  • Значения константного поля

FLAG_FLOW_TARGET

static final int FLAG_FLOW_TARGET
Битовая маска типа FLOW_TARGET CharacterRangeInfo.
См. также:
  • Значения константного поля

FLAG_INVOKE

static final int FLAG_INVOKE
Битовая маска типа INVOKE CharacterRangeInfo.
См. также:
  • Значения константного поля

FLAG_CREATE

static final int FLAG_CREATE
Битовая маска типа CREATE CharacterRangeInfo.
См. также:
  • Значения константного поля

FLAG_BRANCH_TRUE

static final int FLAG_BRANCH_TRUE
Битовая маска типа BRANCH_TRUE CharacterRangeInfo.
См. также:
  • Значения константного поля

FLAG_BRANCH_FALSE

static final int FLAG_BRANCH_FALSE
Битовая маска типа BRANCH_FALSE CharacterRangeInfo.
См. также:
  • Значения константного поля

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

startScope

Label startScope()
Возвращает начало диапазона инструкций.
Возвращает:
начало диапазона инструкций

endScope

Label endScope()
Возвращает конец диапазона инструкций.
Возвращает:
конец диапазона инструкций

characterRangeStart

int characterRangeStart()
Возвращает закодированное начало области диапазона символов (включительно). Значение строится из пары line_number/column_number, как указано в line_number << 10 + column_number, где исходный файл рассматривается как массив (возможно многобайтовых) символов.
Возвращает:
закодированное начало области диапазона символов (включительно)

characterRangeEnd

int characterRangeEnd()
Возвращает закодированный конец области диапазона символов (исключительно). Значение строится из пары line_number/column_number, как указано в line_number << 10 + column_number, где исходный файл рассматривается как массив (возможно многобайтовых) символов.
Возвращает:
закодированный конец области диапазона символов (исключительно)

flags

int flags()
Слово флагов, указывающее тип диапазона. Может быть установлено несколько битов флагов. Допустимые флаги включают:
  • FLAG_STATEMENT
  • FLAG_BLOCK
  • FLAG_ASSIGNMENT
  • FLAG_FLOW_CONTROLLER
  • FLAG_FLOW_TARGET
  • FLAG_INVOKE
  • FLAG_CREATE
  • FLAG_BRANCH_TRUE
  • FLAG_BRANCH_FALSE
Возвращает:
флаги
См. также:
  • CharacterRangeInfo.flags()

of

static CharacterRange of(Label startScope, Label endScope, int characterRangeStart, int characterRangeEnd, int flags)
Возвращает псевдоинструкцию диапазона символов.
Параметры:
startScope - начало диапазона инструкций
endScope - конец диапазона инструкций
characterRangeStart - закодированное начало области диапазона символов (включительно)
characterRangeEnd - закодированный конец области диапазона символов (исключительно)
flags - слово флагов, указывающее тип диапазона
Возвращает:
псевдоинструкцию диапазона символов

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/instruction/CharacterRange.html

Spec-Zone.ru

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