Interface CharacterRangeTableAttribute
- All Superinterfaces:
Attribute<CharacterRangeTableAttribute>, ClassFileElement
CharacterRangeTable
attribute, which is a bidirectional mapping from ranges of positions in the
source file to ranges of indices into the code
array. Its entries
are delivered as CharacterRange
s when traversing the elements of a
CodeModel
, toggled by ClassFile.DebugElementsOption
.
The CharacterRangeTable
attribute consists of an array of character range entries. The character range entries
form a forest data structure: any two range entries are either disjoint, or
if they overlap, then one entry must be enclosed within the other, both in
code
array indices and source file character positions. The
character range entries may appear in any order.
This attribute only appears on Code
attributes, permits multiple
appearances but should only appear once in a Code
attribute. It has a data dependency on
labels.
This attribute cannot be sent to a CodeBuilder
; its entries can be
constructed with CharacterRange
, resulting in at most one
attribute instance in the built Code
attribute.
This attribute is not predefined in the Java SE Platform. This is a
JDK-specific nonstandard attribute produced by the reference implementation
of the system Java compiler, defined by the jdk.compiler
module.
- Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns the entries of the character range table.static CharacterRangeTableAttribute
of
(List<CharacterRangeInfo> ranges) Returns aCharacterRangeTable
attribute.Methods inherited from interface Attribute
attributeMapper, attributeName
-
Method Details
-
characterRangeTable
List<CharacterRangeInfo> characterRangeTable()Returns the entries of the character range table.- Returns:
- the entries of the character range table
-
of
Returns aCharacterRangeTable
attribute.- API Note:
- The created attribute cannot be written to a
CodeBuilder
. UseCodeBuilder::characterRange
instead. - Parameters:
ranges
- the descriptions of the character ranges- Returns:
- a
CharacterRangeTable
attribute
-