org.apache.bcel.classfile

## Class LineNumber

- java.lang.Object
- - org.apache.bcel.classfile.LineNumber

- All Implemented Interfaces:
    Cloneable, Node

      public final class LineNumber
      extends Object
      implements Cloneable, Node

  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 1806200 2017-08-25 16:33:06Z ggregory $
  See Also:
    `LineNumberTable`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LineNumber(int start_pc, int line_number)`
    `LineNumber(LineNumber c)` Initialize from another object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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(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)`
    `String` | `toString()`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### LineNumber

          public LineNumber(LineNumber c)

      Initialize from another object.
      Parameters:
        `c` - the object to copy

    - #### 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(DataOutputStream file)
                          throws IOException

      Dump line number/pc pair to file stream in binary format.
      Parameters:
        `file` - Output file stream
      Throws:
        `IOEXception` - if an I/O Exception occurs in writeShort
        `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

Copyright © 2004–2019 The Apache Software Foundation. All rights reserved.