Spec-Zone.ru › OpenJDK 25

Interface LineNumberTableAttribute

All Superinterfaces:
Attribute<LineNumberTableAttribute>, ClassFileElement
public sealed interface LineNumberTableAttribute extends Attribute<LineNumberTableAttribute>
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:
  • Attributes.lineNumberTable()

Method Summary

Modifier and Type Method Description
List<LineNumberInfo> lineNumbers()
Returns the table mapping bytecode offsets to source line numbers.
static LineNumberTableAttribute of(List<LineNumberInfo> lines)
Returns a LineNumberTable attribute.

Methods declared in 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

static LineNumberTableAttribute of(List<LineNumberInfo> lines)
Returns a LineNumberTable attribute.
API Note:
The created attribute cannot be written to a CodeBuilder. Call CodeBuilder::lineNumber in the correct order instead.
Parameters:
lines - the line number descriptions
Returns:
a LineNumberTable attribute

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2025, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/attribute/LineNumberTableAttribute.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API