- All Superinterfaces:
ClassfileElement,CodeElement,PseudoInstruction
- All Known Implementing Classes:
AbstractPseudoInstruction.UnboundCharacterRange,BoundCharacterRange
public sealed interface CharacterRange
extends PseudoInstruction
permits AbstractPseudoInstruction.UnboundCharacterRange, BoundCharacterRange
A pseudo-instruction which models a single entry in the
CharacterRangeTableAttribute. Delivered as a CodeElement
during traversal of the elements of a CodeModel, according to
the setting of the Classfile.Option.processDebug(boolean) option.-
Method Summary
Modifier and TypeMethodDescriptionintReturns the encoded end of the character range region (exclusive).intReturns the encoded start of the character range region (inclusive).endScope()Returns the end of the instruction range.intflags()A flags word, indicating the kind of range.static CharacterRangeReturns a character range pseudo-instruction.Returns the start of the instruction range.
-
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 byline_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 byline_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 includeClassfile.CRT_STATEMENT,Classfile.CRT_BLOCK,Classfile.CRT_ASSIGNMENT,Classfile.CRT_FLOW_CONTROLLER,Classfile.CRT_FLOW_TARGET,Classfile.CRT_INVOKE,Classfile.CRT_CREATE,Classfile.CRT_BRANCH_TRUE,Classfile.CRT_BRANCH_FALSE.- 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 rangeendScope- the end of the instruction rangecharacterRangeStart- 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
-