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:

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 Details

  • 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