Interface CharacterRangeTableAttribute

All Superinterfaces:
Attribute<CharacterRangeTableAttribute>, ClassFileElement

public sealed interface CharacterRangeTableAttribute extends Attribute<CharacterRangeTableAttribute>
The CharacterRangeTable attribute is an optional variable-length attribute in the attributes table of a Code attribute. It may be used by debuggers to determine which part of the Java virtual machine code array corresponds to a given position in the source file or to determine what section of source code corresponds to a given index into the code array. The CharacterRangeTable attribute consists of an array of character range entries. Each character range entry within the table associates a range of indices in the code array with a range of character indices in the source file. If the source file is viewed as an array of characters, a character index is the corresponding index into this array. Note that character indices are not the same as byte indices as multi-byte characters may be present in the source file. Each character range entry includes a flag which indicates what kind of range is described: statement, assignment, method call, etc. Both code index ranges and character ranges may nest within other ranges, but they may not partially overlap. Thus, a given code index may correspond to several character range entries and in turn several character ranges, but there will be a smallest character range, and for each kind of range in which it is enclosed there will be a smallest character range. Similarly, a given character index may correspond to several character range entries and in turn several code index ranges, but there will be a smallest code index range, and for each kind of range in which it is enclosed there will be a smallest code index range. The character range entries may appear in any order.

The attribute permits multiple instances in a given location.

Since:
24
  • Method Details

    • characterRangeTable

      List<CharacterRangeInfo> characterRangeTable()
      Returns the entries of the character range table.
      Returns:
      the entries of the character range table
    • of

      Returns a CharacterRangeTable attribute.
      Parameters:
      ranges - the descriptions of the character ranges
      Returns:
      a CharacterRangeTable attribute