ej-technologies

org.gjt.jclasslib.structures.attributes
Class LineNumberTableEntry

java.lang.Object
  extended byorg.gjt.jclasslib.structures.AbstractStructure
      extended byorg.gjt.jclasslib.structures.attributes.LineNumberTableEntry

public class LineNumberTableEntry
extends AbstractStructure

Describes an entry in a LineNumberTable attribute structure.

Version:
$Revision: 1.3 $ $Date: 2003/08/18 07:52:05 $
Author:
Ingo Kegel

Field Summary
static int LENGTH
          Length in bytes of a line number association.
 
Fields inherited from class org.gjt.jclasslib.structures.AbstractStructure
classFile, debug, SYSTEM_PROPERTY_DEBUG
 
Constructor Summary
LineNumberTableEntry()
           
 
Method Summary
static LineNumberTableEntry create(DataInput in, ClassFile classFile)
          Factory method for creating LineNumberTableEntry structures.
protected  void debug(String message)
          Utility method for derived structures.
 int getLineNumber()
          Get the line number of this line number association.
 int getStartPc()
          Get the start_pc of this line number association.
 void read(DataInput in)
          Read this structure from the given DataInput.
 void setLineNumber(int lineNumber)
          Set the line number of this line number association.
 void setStartPc(int startPc)
          Set the start_pc of this line number association.
 void write(DataOutput out)
          Write this structure to the given DataOutput.
 
Methods inherited from class org.gjt.jclasslib.structures.AbstractStructure
getClassFile, getDebug, getLength, printAccessFlags, printAccessFlagsVerbose, printBytes, setClassFile, setDebug
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LENGTH

public static final int LENGTH
Length in bytes of a line number association.

See Also:
Constant Field Values
Constructor Detail

LineNumberTableEntry

public LineNumberTableEntry()
Method Detail

create

public static LineNumberTableEntry create(DataInput in,
                                          ClassFile classFile)
                                   throws InvalidByteCodeException,
                                          IOException
Factory method for creating LineNumberTableEntry structures.

Parameters:
in - the DataInput from which to read the LineNumberTableEntry structure
classFile - the parent class file of the structure to be created
Returns:
the new LineNumberTableEntry structure
Throws:
InvalidByteCodeException - if the byte code is invalid
IOException - if an exception occurs with the DataInput

getStartPc

public int getStartPc()
Get the start_pc of this line number association.

Returns:
the start_pc

setStartPc

public void setStartPc(int startPc)
Set the start_pc of this line number association.

Parameters:
startPc - the start_pc

getLineNumber

public int getLineNumber()
Get the line number of this line number association.

Returns:
the line number

setLineNumber

public void setLineNumber(int lineNumber)
Set the line number of this line number association.

Parameters:
lineNumber - the line number

read

public void read(DataInput in)
          throws InvalidByteCodeException,
                 IOException
Description copied from class: AbstractStructure
Read this structure from the given DataInput.

Excpects DataInput to be in JVM class file format and just before a structure of this kind. No look ahead parsing since the class file format is deterministic.

Overrides:
read in class AbstractStructure
Parameters:
in - the DataInput from which to read
Throws:
InvalidByteCodeException - if the byte code is invalid
IOException - if an exception occurs with the DataInput

write

public void write(DataOutput out)
           throws InvalidByteCodeException,
                  IOException
Description copied from class: AbstractStructure
Write this structure to the given DataOutput.

The written bytes are in JVM class file format.

Overrides:
write in class AbstractStructure
Parameters:
out - the DataOutput to which to write
Throws:
InvalidByteCodeException - if the structure is internally inconsistent
IOException - if an exception occurs with the DataOutput

debug

protected void debug(String message)
Description copied from class: AbstractStructure
Utility method for derived structures. Dump a specific debug message.

Overrides:
debug in class AbstractStructure
Parameters:
message - the debug message

ej-technologies