# Interface ConstantInstruction.LoadConstantInstruction

All Superinterfaces:
  `ClassFileElement, CodeElement, ConstantInstruction, Instruction`

Enclosing interface:
  `ConstantInstruction`

public static sealed interface ConstantInstruction.LoadConstantInstruction extends ConstantInstruction
Models a "load constant" instruction, which encodes the constant value in the constant pool. Includes `ldc` and `ldc_w`, and `ldc2_w` instructions.

A load constant instruction is composite:

    LoadConstantInstruction(LoadableConstantEntry constantEntry)

A "load constant" instruction can load any constant value supported by other constant-load instructions. However, other instructions are usually more optimized, avoiding extra constant pool entries and being smaller.

Since:
  24
See Also:
  - `Opcode.Kind.CONSTANT`
  - `ConstantInstruction::ofLoad`
  - `CodeBuilder::ldc`

## Nested Class Summary

### Nested classes/interfaces declared in interface ConstantInstruction

`ConstantInstruction.ArgumentConstantInstruction, ConstantInstruction.IntrinsicConstantInstruction, ConstantInstruction.LoadConstantInstruction`

## Method Summary

Modifier and Type
Method
Description
`LoadableConstantEntry`
`constantEntry()`
Returns the constant value.
`default TypeKind`
`typeKind()`
Returns the computational type of the constant.

### Methods declared in interface ConstantInstruction

`constantValue`

### Methods declared in interface Instruction

`opcode, sizeInBytes`

## Method Details

### constantEntry

LoadableConstantEntry constantEntry()
Returns the constant value.

Returns:
  the constant value

### typeKind

default TypeKind typeKind()
Description copied from interface: `ConstantInstruction`
Returns the computational type of the constant. This is derived from the `constantValue`.

Specified by:
  `typeKind` in interface `ConstantInstruction`
Returns:
  the computational type of the constant