proguard.classfile.attribute
Class LineNumberTableAttribute

java.lang.Object
  extended by proguard.classfile.attribute.Attribute
      extended by proguard.classfile.attribute.LineNumberTableAttribute
All Implemented Interfaces:
VisitorAccepter

public class LineNumberTableAttribute
extends Attribute

This Attribute represents a line number table attribute.


Field Summary
 LineNumberInfo[] lineNumberTable
           
 int u2lineNumberTableLength
           
 
Fields inherited from class proguard.classfile.attribute.Attribute
u2attributeNameIndex, visitorInfo
 
Constructor Summary
LineNumberTableAttribute()
          Creates an uninitialized LineNumberTableAttribute.
LineNumberTableAttribute(int u2attributeNameIndex, int u2lineNumberTableLength, LineNumberInfo[] lineNumberTable)
          Creates an initialized LineNumberTableAttribute.
 
Method Summary
 void accept(Clazz clazz, Method method, CodeAttribute codeAttribute, AttributeVisitor attributeVisitor)
          Accepts the given visitor in the context of the given code attribute.
 int getLineNumber(int pc)
          Returns the line number corresponding to the given byte code program counter.
 void lineNumbersAccept(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberInfoVisitor lineNumberInfoVisitor)
          Applies the given visitor to all line numbers.
 
Methods inherited from class proguard.classfile.attribute.Attribute
accept, accept, accept, getAttributeName, getVisitorInfo, setVisitorInfo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

u2lineNumberTableLength

public int u2lineNumberTableLength

lineNumberTable

public LineNumberInfo[] lineNumberTable
Constructor Detail

LineNumberTableAttribute

public LineNumberTableAttribute()
Creates an uninitialized LineNumberTableAttribute.


LineNumberTableAttribute

public LineNumberTableAttribute(int u2attributeNameIndex,
                                int u2lineNumberTableLength,
                                LineNumberInfo[] lineNumberTable)
Creates an initialized LineNumberTableAttribute.

Method Detail

getLineNumber

public int getLineNumber(int pc)
Returns the line number corresponding to the given byte code program counter.


accept

public void accept(Clazz clazz,
                   Method method,
                   CodeAttribute codeAttribute,
                   AttributeVisitor attributeVisitor)
Description copied from class: Attribute
Accepts the given visitor in the context of the given code attribute.

Overrides:
accept in class Attribute

lineNumbersAccept

public void lineNumbersAccept(Clazz clazz,
                              Method method,
                              CodeAttribute codeAttribute,
                              LineNumberInfoVisitor lineNumberInfoVisitor)
Applies the given visitor to all line numbers.