# Interface LineNumber

All Superinterfaces:
  `ClassFileElement`, `CodeElement`, `PseudoInstruction`

public sealed interface LineNumber extends PseudoInstruction
A pseudo-instruction which indicates the code for a given line number starts after the current position in a `Code` attribute. This models a single entry in the `LineNumberTable` attribute. Delivered as a `CodeElement` during traversal of the elements of a `CodeModel`, according to the setting of the `ClassFile.LineNumbersOption` option.

A line number entry is composite:

    LineNumber(int line)

Another model, `LineNumberInfo`, also models a line number entry; it has no dependency on a `CodeModel` and represents of bci values as `int`s instead of order of pseudo-instructions in the elements of a `CodeModel`, and is used as components of a `LineNumberTableAttribute`.

API Note:
  Line numbers are represented with custom pseudo-instructions to avoid using labels, which usually indicate branching targets for the control flow.
Since:
  24
See Also:
  - `LineNumberInfo`
  - `CodeBuilder::lineNumber`
  - `ClassFile.LineNumbersOption`

## Method Summary

Modifier and Type
Method
Description
`int`
`line()`
Returns the line number.
`static LineNumber`
`of(int line)`
Returns a line number pseudo-instruction.

## Method Details

### line

int line()
Returns the line number.

Returns:
  the line number

### of

static LineNumber of(int line)
Returns a line number pseudo-instruction.

Parameters:
  `line` - the line number
Returns:
  a line number pseudo-instruction