# Interface LookupSwitchInstruction

All Superinterfaces:
  `ClassFileElement, CodeElement, Instruction`

public sealed interface LookupSwitchInstruction extends Instruction
Models a `lookupswitch` instruction in the `code` array of a `Code` attribute. Delivered as a `CodeElement` when traversing the elements of a `CodeModel`.

A lookup switch instruction is composite:

    LookupSwitchInstruction(
        Label defaultTarget,
        List<SwitchCase> cases
    )

If elements in `cases` are not sorted ascending by their `caseValue`, a sorted version of the `cases` list will be written instead.

See Java Virtual Machine Specification:
  6.5.lookupswitch lookupswitch
Since:
  24
See Also:
  - `Opcode.Kind.LOOKUP_SWITCH`
  - `CodeBuilder::lookupswitch`

## Method Summary

Modifier and Type
Method
Description
`List<SwitchCase>`
`cases()`
Returns the cases of the switch.
`Label`
`defaultTarget()`
Returns the target of the default case.
`static LookupSwitchInstruction`
`of(Label defaultTarget, List<SwitchCase> cases)`
Returns a lookup switch instruction.

### Methods declared in interface Instruction

`opcode, sizeInBytes`
Modifier and Type
Method
Description
`Opcode`
`opcode()`
Returns the operation of this instruction.
`int`
`sizeInBytes()`
Returns the size in bytes of this instruction.

## Method Details

### defaultTarget

Label defaultTarget()
Returns the target of the default case.

Returns:
  the target of the default case

### cases

List<SwitchCase> cases()
Returns the cases of the switch.

Returns:
  the cases of the switch

### of

static LookupSwitchInstruction of(Label defaultTarget, List<SwitchCase> cases)
Returns a lookup switch instruction.

Parameters:
  `defaultTarget` - the default target of the switch
  `cases` - the cases of the switch
Returns:
  a lookup switch instruction