attr
Class lineNumTabAttr

java.lang.Object
  |
  +--util.dataRead
        |
        +--attr.attrInfo
              |
              +--attr.lineNumTabAttr

public class lineNumTabAttr
extends attrInfo

This class represents the line number table attribute.

The line number table attribute may be assocated with a code attribute (see codeAttr object).

The JVM Spec (4.7.6) states:

It [the line number table attribute] may be used by debuggers to determine which part of the Java Virtual Machine code array corresponds to a given line number in the original Java source file. If LineNumberTable attributes are present in the attributes table of a given Code attribute, then they may appear in any order. Furthermore, multiple LineNumberTable attributes may together represent a given line of a Java source file; that is, LineNumberTable attributes need not be one-to-one with source line

The LineNumberTable attribute has the format

LineNumberTable_attribute {
u2 attribute_name_index;
u4 attribute_length;
u2 line_number_table_length;
lineEntry line_number_table[line_number_table_length];
}

The attribute_name_index and attribute length are read by the attrFactory.allocAttr method. These values are passed into the class constructor.

The line number entries have the format:

lineEntry {
u2 start_pc;
u2 line_number;
}

Author:
Ian Kaplan

Inner Class Summary
(package private)  class lineNumTabAttr.lineEntry
           
 
Field Summary
(package private)  lineNumTabAttr.lineEntry[] lineNumTab
           
 
Fields inherited from class attr.attrInfo
attrName, len
 
Fields inherited from class util.dataRead
bytesRead
 
Constructor Summary
lineNumTabAttr(java.lang.String name, int length, java.io.DataInputStream dStream)
           
 
Methods inherited from class attr.attrInfo
getName, pr
 
Methods inherited from class util.dataRead
getBytesRead, readU1, readU2, readU4
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

lineNumTab

lineNumTabAttr.lineEntry[] lineNumTab
Constructor Detail

lineNumTabAttr

public lineNumTabAttr(java.lang.String name,
                      int length,
                      java.io.DataInputStream dStream)