LabelTarget (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.lang.classfile.instruction, interface: LabelTarget
Keywords: java.lang.classfile.instruction.LabelTarget interface

# Interface LabelTarget

All Superinterfaces:
  `ClassFileElement, CodeElement, PseudoInstruction`

public sealed interface LabelTarget extends PseudoInstruction
A pseudo-instruction which indicates that the specified label corresponds to the current position in the `Code` attribute. Delivered as a `CodeElement` during traversal of the elements of a `CodeModel`.

This can be used to inspect the target position of labels across transformations, as bci is not stable.

When passed to a `CodeBuilder`, this pseudo-instruction sets the specified label to be bound at the current position in the builder.

By design, `LabelTarget` cannot be created by users and can only be read from a code model. Use `CodeBuilder::labelBinding` to bind arbitrary labels to a `CodeBuilder`.

For a `CodeBuilder cob`, a `LabelTarget lt`, these two calls are equivalent:

    cob.with(lt);
    cob.labelBinding(lt.label());

Since:
  24
See Also:
  - `Label`
  - `CodeBuilder::labelBinding`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Label`
  `label()`
  Returns the label corresponding to this target.

- ## Method Details

  - ### label

    Label label()
    Returns the label corresponding to this target.
    Returns:
      the label corresponding to this target