Package javassist.bytecode

# Class LineNumberAttribute

java.lang.Object
javassist.bytecode.AttributeInfo
javassist.bytecode.LineNumberAttribute

public class LineNumberAttribute extends AttributeInfo
`LineNumberTable_attribute`.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`LineNumberAttribute.Pc`
Used as a return type of `toNearPc()`.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`tag`
The name of this attribute `"LineNumberTable"`.

## Method Summary

Modifier and Type
Method
Description
`AttributeInfo`
`copy(ConstPool newCp, Map<String,String> classnames)`
Makes a copy.
`int`
`lineNumber(int i)`
Returns `line_number_table[i].line_number`.
`int`
`startPc(int i)`
Returns `line_number_table[i].start_pc`.
`int`
`tableLength()`
Returns `line_number_table_length`.
`int`
`toLineNumber(int pc)`
Returns the line number corresponding to the specified bytecode.
`LineNumberAttribute.Pc`
`toNearPc(int line)`
Returns the index into the code array at which the code for the specified line (or the nearest line after the specified one) begins.
`int`
`toStartPc(int line)`
Returns the index into the code array at which the code for the specified line begins.

### Methods inherited from class javassist.bytecode.AttributeInfo

`get, getConstPool, getName, length, set`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### tag

public static final String tag
The name of this attribute `"LineNumberTable"`.

See Also:
  - Constant Field Values

## Method Details

### tableLength

public int tableLength()
Returns `line_number_table_length`. This represents the number of entries in the table.

### startPc

public int startPc(int i)
Returns `line_number_table[i].start_pc`. This represents the index into the code array at which the code for a new line in the original source file begins.

Parameters:
  `i` - the i-th entry.

### lineNumber

public int lineNumber(int i)
Returns `line_number_table[i].line_number`. This represents the corresponding line number in the original source file.

Parameters:
  `i` - the i-th entry.

### toLineNumber

public int toLineNumber(int pc)
Returns the line number corresponding to the specified bytecode.

Parameters:
  `pc` - the index into the code array.

### toStartPc

public int toStartPc(int line)
Returns the index into the code array at which the code for the specified line begins.

Parameters:
  `line` - the line number.
Returns:
  -1 if the specified line is not found.

### toNearPc

public LineNumberAttribute.Pc toNearPc(int line)
Returns the index into the code array at which the code for the specified line (or the nearest line after the specified one) begins.

Parameters:
  `line` - the line number.
Returns:
  a pair of the index and the line number of the bytecode at that index.

### copy

public AttributeInfo copy(ConstPool newCp, Map<String,String> classnames)
Makes a copy.

Overrides:
  `copy` in class `AttributeInfo`
Parameters:
  `newCp` - the constant pool table used by the new copy.
  `classnames` - should be null.