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

# Interface LineNumberInfo

public sealed interface LineNumberInfo
Models a single line number entry in the `LineNumberTableAttribute`.

Since:
  24
See Also:
  - `LineNumberTableAttribute.lineNumbers()`
  - `LineNumber`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `lineNumber()`
  Returns the line number within the original source file.
  `static LineNumberInfo`
  `of(int startPc, int lineNumber)`
  Returns a line number description.
  `int`
  `startPc()`
  Returns the index into the code array at which the code for this line begins.

- ## Method Details

  - ### startPc

    int startPc()
    Returns the index into the code array at which the code for this line begins.
    Returns:
      the index into the code array at which the code for this line begins

  - ### lineNumber

    int lineNumber()
    Returns the line number within the original source file.
    Returns:
      the line number within the original source file

  - ### of

    static LineNumberInfo of(int startPc, int lineNumber)
    Returns a line number description.
    API Note:
      The created entry cannot be written to a `CodeBuilder`. Call `CodeBuilder::lineNumber` in the correct order instead.
    Parameters:
      `startPc` - the starting index of the code array for this line
      `lineNumber` - the line number within the original source file
    Returns:
      a line number description
    Throws:
      `IllegalArgumentException` - if `startPc` or `lineNumber` is not `u2`