Package org.apache.bcel.classfile
Class LineNumber
- java.lang.Object
-
- org.apache.bcel.classfile.LineNumber
-
- All Implemented Interfaces:
java.lang.Cloneable
,Node
public final class LineNumber extends java.lang.Object implements java.lang.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.- See Also:
LineNumberTable
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static LineNumber[]
EMPTY_ARRAY
private int
lineNumber
Number in source fileprivate int
startPc
Program Counter (PC) corresponds to line
-
Constructor Summary
Constructors Constructor Description LineNumber(int startPc, int lineNumber)
LineNumber(java.io.DataInput file)
Constructs object from file stream.LineNumber(LineNumber c)
Initialize from another object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly 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 lineNumber)
void
setStartPC(int startPc)
java.lang.String
toString()
-
-
-
Field Detail
-
EMPTY_ARRAY
static final LineNumber[] EMPTY_ARRAY
-
startPc
private int startPc
Program Counter (PC) corresponds to line
-
lineNumber
private int lineNumber
Number in source file
-
-
Constructor Detail
-
LineNumber
LineNumber(java.io.DataInput file) throws java.io.IOException
Constructs object from file stream.- Parameters:
file
- Input stream- Throws:
java.io.IOException
- if an I/O Exception occurs in readUnsignedShort
-
LineNumber
public LineNumber(int startPc, int lineNumber)
- Parameters:
startPc
- Program Counter (PC) corresponds tolineNumber
- line number in source file
-
LineNumber
public LineNumber(LineNumber c)
Initialize from another object.- Parameters:
c
- the object to copy
-
-
Method Detail
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
-
copy
public LineNumber copy()
- Returns:
- deep copy of this object
-
dump
public 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
- if an I/O Exception occurs in writeShort
-
getLineNumber
public int getLineNumber()
- Returns:
- Corresponding source line
-
getStartPC
public int getStartPC()
- Returns:
- PC in code
-
setLineNumber
public void setLineNumber(int lineNumber)
- Parameters:
lineNumber
- the source line number
-
setStartPC
public void setStartPC(int startPc)
- Parameters:
startPc
- the pc for this line number
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
- Returns:
- String representation
-
-