org.apache.bcel.generic

Class LineNumberGen

Implemented Interfaces:
Cloneable, InstructionTargeter, java.io.Serializable

public class LineNumberGen
extends java.lang.Object
implements InstructionTargeter, Cloneable, java.io.Serializable

This class represents a line number within a method, i.e., give an instruction a line number corresponding to the source code line.
Version:
$Id: LineNumberGen.java,v 1.3 2002/07/11 19:39:04 mdahm Exp $
Author:
M. Dahm
See Also:
LineNumber, MethodGen, Serialized Form

Constructor Summary

LineNumberGen(InstructionHandle ih, int src_line)
Create a line number.

Method Summary

Object
clone()
boolean
containsTarget(InstructionHandle ih)
InstructionHandle
getInstruction()
LineNumber
getLineNumber()
Get LineNumber attribute .
int
getSourceLine()
void
setInstruction(InstructionHandle ih)
void
setSourceLine(int src_line)
void
updateTarget(InstructionHandle old_ih, InstructionHandle new_ih)

Constructor Details

LineNumberGen

public LineNumberGen(InstructionHandle ih,
                     int src_line)
Create a line number.
Parameters:
ih - instruction handle to reference

Method Details

clone

public Object clone()

containsTarget

public boolean containsTarget(InstructionHandle ih)
Specified by:
containsTarget in interface InstructionTargeter
Returns:
true, if ih is target of this line number

getInstruction

public InstructionHandle getInstruction()

getLineNumber

public LineNumber getLineNumber()
Get LineNumber attribute . This relies on that the instruction list has already been dumped to byte code or or that the `setPositions' methods has been called for the instruction list.

getSourceLine

public int getSourceLine()

setInstruction

public void setInstruction(InstructionHandle ih)

setSourceLine

public void setSourceLine(int src_line)

updateTarget

public void updateTarget(InstructionHandle old_ih,
                         InstructionHandle new_ih)
Specified by:
updateTarget in interface InstructionTargeter
Parameters:
old_ih - old target
new_ih - new target