Interface LineNumberTableAttribute
- All Superinterfaces:
Attribute<LineNumberTableAttribute>, ClassFileElement
Models the
LineNumberTable
attribute
(JVMS 4.7.12), which records the mapping between indexes into
the code
array and line numbers in the source file. Its entries are
delivered as LineNumber
when traversing the elements of a CodeModel
, which is toggled by ClassFile.LineNumbersOption
.
This attribute only appears on Code
attributes, and permits multiple instances in a Code
attribute. It has a data dependency on labels.
This attribute cannot be sent to a CodeBuilder
; its entries can be
constructed with LineNumber
, resulting in at most one attribute
instance in the built Code
attribute.
The attribute was introduced in the Java Platform version 1.0.2, major version 45.
- See Java Virtual Machine Specification:
-
4.7.12 The
LineNumberTable
Attribute - Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns the table mapping bytecode offsets to source line numbers.static LineNumberTableAttribute
of
(List<LineNumberInfo> lines) Returns aLineNumberTable
attribute.Methods inherited from interface Attribute
attributeMapper, attributeName
-
Method Details
-
lineNumbers
List<LineNumberInfo> lineNumbers()Returns the table mapping bytecode offsets to source line numbers.- Returns:
- the table mapping bytecode offsets to source line numbers
-
of
Returns aLineNumberTable
attribute.- API Note:
- The created attribute cannot be written to a
CodeBuilder
. CallCodeBuilder::lineNumber
in the correct order instead. - Parameters:
lines
- the line number descriptions- Returns:
- a
LineNumberTable
attribute
-