Class LineNumber

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

public final class LineNumber extends Object implements Cloneable, Node, 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:
  • Constructor Details

    • LineNumber

      public LineNumber(LineNumber c)
      Initialize from another object.
    • 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 Details

    • 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(DataOutputStream file) throws IOException
      Dump line number/pc pair to file stream in binary format.
      Parameters:
      file - Output file stream
      Throws:
      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 String toString()
      Overrides:
      toString in class Object
      Returns:
      String representation
    • copy

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