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
LineNumberTableAttribute - Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns the table mapping bytecode offsets to source line numbers.static LineNumberTableAttributeof(List<LineNumberInfo> lines) Returns aLineNumberTableattribute.Methods declared in interface java.lang.classfile.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 aLineNumberTableattribute.- API Note:
- The created attribute cannot be written to a
CodeBuilder. CallCodeBuilder::lineNumberin the correct order instead. - Parameters:
lines- the line number descriptions- Returns:
- a
LineNumberTableattribute
-