## org.apache.bcel.classfile
Class LineNumberTable

    java.lang.Object
      |
      +--org.apache.bcel.classfile.Attribute
            |
            +--org.apache.bcel.classfile.LineNumberTable

All Implemented Interfaces:
  java.lang.Cloneable, Node, java.io.Serializable

public final class LineNumberTable
extends Attribute

This class represents a table of line numbers for debugging purposes. This attribute is used by the Code attribute. It contains pairs of PCs and line numbers.

Version:
  $Id: LineNumberTable.java,v 1.3 2002/12/08 16:04:37 mdahm Exp $
Author:
  M. Dahm
See Also:
  `Code`, `LineNumber`, Serialized Form

Field Summary

Fields inherited from class org.apache.bcel.classfile.Attribute
`constant_pool, length, name_index, tag`

Constructor Summary
`LineNumberTable(int name_index, int length, LineNumber[] line_number_table, ConstantPool constant_pool)`
`LineNumberTable(LineNumberTable c)`

Method Summary
`void` `accept(Visitor v)` Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
`Attribute` `copy(ConstantPool constant_pool)`
`void` `dump(java.io.DataOutputStream file)` Dump line number table attribute to file stream in binary format.
`LineNumber[]` `getLineNumberTable()`
`int` `getSourceLine(int pos)` Map byte code positions to source code lines.
`int` `getTableLength()`
`void` `setLineNumberTable(LineNumber[] line_number_table)`
`java.lang.String` `toString()`

Methods inherited from class org.apache.bcel.classfile.Attribute
`addAttributeReader, clone, getConstantPool, getLength, getNameIndex, getTag, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### LineNumberTable

    public LineNumberTable(LineNumberTable c)

### LineNumberTable

    public LineNumberTable(int name_index,
                           int length,
                           LineNumber[] line_number_table,
                           ConstantPool constant_pool)

Method Detail

### accept

    public void accept(Visitor v)

  Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.

  Specified by:
    `accept` in interface `Node`
  Specified by:
    `accept` in class `Attribute`
  Parameters:
    `v` - Visitor object

### dump

    public final void dump(java.io.DataOutputStream file)
                    throws java.io.IOException

  Dump line number table attribute to file stream in binary format.

  Overrides:
    `dump` in class `Attribute`
  Parameters:
    `file` - Output file stream
  Throws:
    `java.io.IOException`

### getLineNumberTable

    public final LineNumber[] getLineNumberTable()

  Returns:
    Array of (pc offset, line number) pairs.

### setLineNumberTable

    public final void setLineNumberTable(LineNumber[] line_number_table)

### toString

    public final java.lang.String toString()

  Overrides:
    `toString` in class `Attribute`
  Returns:
    String representation.

### getSourceLine

    public int getSourceLine(int pos)

  Map byte code positions to source code lines.

  Parameters:
    `pos` - byte code offset
  Returns:
    corresponding line in source code

### copy

    public Attribute copy(ConstantPool constant_pool)

  Specified by:
    `copy` in class `Attribute`
  Returns:
    deep copy of this attribute

### getTableLength

    public final int getTableLength()

Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.