Package proguard.classfile.attribute
Class LineNumberTableAttribute
- java.lang.Object
-
- proguard.util.SimpleProcessable
-
- proguard.classfile.attribute.Attribute
-
- proguard.classfile.attribute.LineNumberTableAttribute
-
- All Implemented Interfaces:
java.io.Serializable
,Processable
public class LineNumberTableAttribute extends Attribute
ThisAttribute
represents a line number table attribute.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description LineNumberInfo[]
lineNumberTable
int
u2lineNumberTableLength
-
Fields inherited from class proguard.classfile.attribute.Attribute
ANNOTATION_DEFAULT, BOOTSTRAP_METHODS, CHARACTER_RANGE_TABLE, CODE, COMPILATION_I_D, CONSTANT_VALUE, DEPRECATED, ENCLOSING_METHOD, EXCEPTIONS, INNER_CLASSES, LINE_NUMBER_TABLE, LOCAL_VARIABLE_TABLE, LOCAL_VARIABLE_TYPE_TABLE, METHOD_PARAMETERS, MODULE, MODULE_MAIN_CLASS, MODULE_PACKAGES, NEST_HOST, NEST_MEMBERS, PERMITTED_SUBCLASSES, RECORD, RUNTIME_INVISIBLE_ANNOTATIONS, RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS, RUNTIME_INVISIBLE_TYPE_ANNOTATIONS, RUNTIME_VISIBLE_ANNOTATIONS, RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS, RUNTIME_VISIBLE_TYPE_ANNOTATIONS, SIGNATURE, SOURCE_DEBUG_EXTENSION, SOURCE_DIR, SOURCE_FILE, SOURCE_I_D, STACK_MAP, STACK_MAP_TABLE, SYNTHETIC, u2attributeNameIndex
-
Fields inherited from class proguard.util.SimpleProcessable
processingFlags, processingInfo
-
-
Constructor Summary
Constructors Constructor Description LineNumberTableAttribute()
Creates an uninitialized LineNumberTableAttribute.LineNumberTableAttribute(int u2attributeNameIndex, int u2lineNumberTableLength, LineNumberInfo[] lineNumberTable)
Creates an initialized LineNumberTableAttribute.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Clazz clazz, Method method, CodeAttribute codeAttribute, AttributeVisitor attributeVisitor)
Accepts the given visitor in the context of the given code attribute.int
getHighestLineNumber()
Returns the highest line number with the default null source, or 0 if there aren't any such line numbers.int
getLineNumber(int pc)
Returns the line number corresponding to the given byte code program counter.LineNumberInfo
getLineNumberInfo(int pc)
Returns the line number info corresponding to the given byte code program counter.int
getLowestLineNumber()
Returns the lowest line number with the default null source, or 0 if there aren't any such line numbers.java.lang.String
getSource(int pc)
Returns the source 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, accept, getAttributeName
-
Methods inherited from class proguard.util.SimpleProcessable
addProcessingFlags, getProcessingFlags, getProcessingInfo, hasProcessingFlags, removeProcessingFlags, setProcessingFlags, setProcessingInfo
-
-
-
-
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.
-
getSource
public java.lang.String getSource(int pc)
Returns the source corresponding to the given byte code program counter.
-
getLineNumberInfo
public LineNumberInfo getLineNumberInfo(int pc)
Returns the line number info corresponding to the given byte code program counter.
-
getLowestLineNumber
public int getLowestLineNumber()
Returns the lowest line number with the default null source, or 0 if there aren't any such line numbers.
-
getHighestLineNumber
public int getHighestLineNumber()
Returns the highest line number with the default null source, or 0 if there aren't any such line numbers.
-
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.
-
lineNumbersAccept
public void lineNumbersAccept(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberInfoVisitor lineNumberInfoVisitor)
Applies the given visitor to all line numbers.
-
-