Interface CharacterRange
- All Superinterfaces:
ClassFileElement, CodeElement, PseudoInstruction
public sealed interface CharacterRange extends PseudoInstruction
A pseudo-instruction which models a single entry in the
CharacterRangeTable attribute. Delivered as a CodeElement during traversal of the elements of a CodeModel, according to the setting of the ClassFile.DebugElementsOption option. A character range entry is composite:
CharacterRange(
Label startScope,
Label endScope,
int characterRangeStart,
int characterRangeEnd,
int flags
)
Another model, CharacterRangeInfo, also models a character range entry; it has no dependency on a CodeModel and represents of bci values as ints instead of Labels, and is used as components of a CharacterRangeTableAttribute.
- Since:
- 24
- See Also:
Field Summary
| Modifier and Type | Field | Description |
|---|---|---|
static final int |
FLAG_ASSIGNMENT |
The bit mask of ASSIGNMENT CharacterRangeInfo kind. |
static final int |
FLAG_BLOCK |
The bit mask of BLOCK CharacterRangeInfo kind. |
static final int |
FLAG_BRANCH_FALSE |
The bit mask of BRANCH_FALSE CharacterRangeInfo kind. |
static final int |
FLAG_BRANCH_TRUE |
The bit mask of BRANCH_TRUE CharacterRangeInfo kind. |
static final int |
FLAG_CREATE |
The bit mask of CREATE CharacterRangeInfo kind. |
static final int |
FLAG_FLOW_CONTROLLER |
The bit mask of FLOW_CONTROLLER CharacterRangeInfo kind. |
static final int |
FLAG_FLOW_TARGET |
The bit mask of FLOW_TARGET CharacterRangeInfo kind. |
static final int |
FLAG_INVOKE |
The bit mask of INVOKE CharacterRangeInfo kind. |
static final int |
FLAG_STATEMENT |
The bit mask of STATEMENT CharacterRangeInfo kind. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
int |
characterRangeEnd() |
Returns the encoded end of the character range region (exclusive). |
int |
characterRangeStart() |
Returns the encoded start of the character range region (inclusive). |
Label |
endScope() |
Returns the end of the instruction range. |
int |
flags() |
A flags word, indicating the kind of range. |
static CharacterRange |
of |
Returns a character range pseudo-instruction. |
Label |
startScope() |
Returns the start of the instruction range. |
Field Details
FLAG_STATEMENT
FLAG_BLOCK
FLAG_ASSIGNMENT
FLAG_FLOW_CONTROLLER
static final int FLAG_FLOW_CONTROLLER
The bit mask of FLOW_CONTROLLER
CharacterRangeInfo kind.- See Also:
FLAG_FLOW_TARGET
FLAG_INVOKE
FLAG_CREATE
FLAG_BRANCH_TRUE
FLAG_BRANCH_FALSE
Method Details
startScope
Label startScope()
Returns the start of the instruction range.
- Returns:
- the start of the instruction range
endScope
Label endScope()
Returns the end of the instruction range.
- Returns:
- the end of the instruction range
characterRangeStart
int characterRangeStart()
Returns the encoded start of the character range region (inclusive). The value is constructed from the line_number/column_number pair as given by
line_number << 10 + column_number, where the source file is viewed as an array of (possibly multi-byte) characters.- Returns:
- the encoded start of the character range region (inclusive)
characterRangeEnd
int characterRangeEnd()
Returns the encoded end of the character range region (exclusive).. The value is constructed from the line_number/column_number pair as given by
line_number << 10 + column_number, where the source file is viewed as an array of (possibly multi-byte) characters.- Returns:
- the encoded end of the character range region (exclusive)
flags
int flags()
A flags word, indicating the kind of range. Multiple flag bits may be set. Valid flags include:
- Returns:
- the flags
- See Also:
of
static CharacterRange of(Label startScope, Label endScope, int characterRangeStart, int characterRangeEnd, int flags)
Returns a character range pseudo-instruction.
- Parameters:
-
startScope- the start of the instruction range -
endScope- the end of the instruction range -
characterRangeStart- the encoded start of the character range region (inclusive) -
characterRangeEnd- the encoded end of the character range region (exclusive) -
flags- a flags word, indicating the kind of range - Returns:
- a character range pseudo-instruction
- Throws:
-
IllegalArgumentException- ifflagsis notu2
© 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.