Interface CharacterRange
- All Superinterfaces:
ClassFileElement
,CodeElement
,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 int
s instead of Label
s, and is used as components
of a CharacterRangeTableAttribute
.
- Since:
- 24
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The bit mask of ASSIGNMENTCharacterRangeInfo
kind.static final int
The bit mask of BLOCKCharacterRangeInfo
kind.static final int
The bit mask of BRANCH_FALSECharacterRangeInfo
kind.static final int
The bit mask of BRANCH_TRUECharacterRangeInfo
kind.static final int
The bit mask of CREATECharacterRangeInfo
kind.static final int
The bit mask of FLOW_CONTROLLERCharacterRangeInfo
kind.static final int
The bit mask of FLOW_TARGETCharacterRangeInfo
kind.static final int
The bit mask of INVOKECharacterRangeInfo
kind.static final int
The bit mask of STATEMENTCharacterRangeInfo
kind. -
Method Summary
Modifier and TypeMethodDescriptionint
Returns the encoded end of the character range region (exclusive).int
Returns the encoded start of the character range region (inclusive).endScope()
Returns the end of the instruction range.int
flags()
A flags word, indicating the kind of range.static CharacterRange
Returns a character range pseudo-instruction.Returns the start of the instruction range.
-
Field Details
-
FLAG_STATEMENT
-
FLAG_BLOCK
-
FLAG_ASSIGNMENT
-
FLAG_FLOW_CONTROLLER
static final int FLAG_FLOW_CONTROLLERThe bit mask of FLOW_CONTROLLERCharacterRangeInfo
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 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 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 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
-