org.apache.bcel.classfile
Class LineNumber

java.lang.Object
  extended by org.apache.bcel.classfile.LineNumber
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Node

public final class LineNumber
extends java.lang.Object
implements java.lang.Cloneable, Node, java.io.Serializable

This class represents a (PC offset, line number) pair, i.e., a line number in the source that corresponds to a relative address in the byte code. This is used for debugging purposes.

Version:
$Id: LineNumber.java 386056 2006-03-15 11:31:56Z tcurdt $
Author:
M. Dahm
See Also:
LineNumberTable, Serialized Form

Field Summary
private  int line_number
           
private  int start_pc
           
 
Constructor Summary
LineNumber(java.io.DataInputStream file)
          Construct object from file stream.
LineNumber(int start_pc, int line_number)
           
LineNumber(LineNumber c)
          Initialize from another object.
 
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.
 LineNumber copy()
           
 void dump(java.io.DataOutputStream file)
          Dump line number/pc pair to file stream in binary format.
 int getLineNumber()
           
 int getStartPC()
           
 void setLineNumber(int line_number)
           
 void setStartPC(int start_pc)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

start_pc

private int start_pc

line_number

private int line_number
Constructor Detail

LineNumber

public LineNumber(LineNumber c)
Initialize from another object.


LineNumber

LineNumber(java.io.DataInputStream file)
     throws java.io.IOException
Construct object from file stream.

Parameters:
file - Input stream
Throws:
java.io.IOException

LineNumber

public LineNumber(int start_pc,
                  int line_number)
Parameters:
start_pc - Program Counter (PC) corresponds to
line_number - line number in source file
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
Parameters:
v - Visitor object

dump

public final void dump(java.io.DataOutputStream file)
                throws java.io.IOException
Dump line number/pc pair to file stream in binary format.

Parameters:
file - Output file stream
Throws:
java.io.IOException

getLineNumber

public final int getLineNumber()
Returns:
Corresponding source line

getStartPC

public final int getStartPC()
Returns:
PC in code

setLineNumber

public final void setLineNumber(int line_number)
Parameters:
line_number - the source line number

setStartPC

public final void setStartPC(int start_pc)
Parameters:
start_pc - the pc for this line number

toString

public final java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
String representation

copy

public LineNumber copy()
Returns:
deep copy of this object