Contents
Interface TableSwitchInstruction
- All Superinterfaces:
ClassFileElement
,CodeElement
,Instruction
Models a
tableswitch
instruction in the code
array of a
Code
attribute. Delivered as a CodeElement
when traversing
the elements of a CodeModel
.
A table switch instruction is composite:
TableSwitchInstruction
(
int lowValue
,
int highValue
,
Label defaultTarget
,
List<SwitchCase> cases
)
When read from class
files, the cases
may omit cases that
duplicate the default target. The list is sorted ascending by the caseValue
.
When writing to class
file, the order in the cases
list does
not matter, as there is only one valid order in the physical representation
of table switch entries. Treatment of elements in cases
whose value
is less than lowValue
or greater than highValue
, and elements
whose value duplicates that of another, is not specified.
- See Java Virtual Machine Specification:
-
6.5.tableswitch tableswitch
- Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptioncases()
Returns the cases of the switch.Returns the default target of the switch.int
Returns the high value of the switch target range, inclusive.int
lowValue()
Returns the low value of the switch target range, inclusive.static TableSwitchInstruction
of
(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases) Returns a table switch instruction.Methods declared in interface java.lang.classfile.Instruction
opcode, sizeInBytes
-
Method Details
-
lowValue
int lowValue()Returns the low value of the switch target range, inclusive.- Returns:
- the low value of the switch target range, inclusive
-
highValue
int highValue()Returns the high value of the switch target range, inclusive.- Returns:
- the high value of the switch target range, inclusive
-
defaultTarget
Label defaultTarget()Returns the default target of the switch.- Returns:
- the default target of the switch
-
cases
-
of
static TableSwitchInstruction of(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases) Returns a table switch instruction.- Parameters:
lowValue
- the low value of the switch target range, inclusivehighValue
- the high value of the switch target range, inclusivedefaultTarget
- the default target of the switchcases
- the cases of the switch; duplicate or out of bound case handling is not specified- Returns:
- a table switch instruction
-