Class LocalVariableTableAttribute
- java.lang.Object
-
- org.apache.commons.compress.harmony.unpack200.bytecode.ClassFileEntry
-
- org.apache.commons.compress.harmony.unpack200.bytecode.Attribute
-
- org.apache.commons.compress.harmony.unpack200.bytecode.BCIRenumberedAttribute
-
- org.apache.commons.compress.harmony.unpack200.bytecode.LocalVariableTableAttribute
-
public class LocalVariableTableAttribute extends BCIRenumberedAttribute
Local variable table
-
-
Field Summary
-
Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.BCIRenumberedAttribute
renumbered
-
Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.ClassFileEntry
NONE
-
-
Constructor Summary
Constructors Constructor Description LocalVariableTableAttribute(int local_variable_table_length, int[] start_pcs, int[] lengths, CPUTF8[] names, CPUTF8[] descriptors, int[] indexes)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
getLength()
protected ClassFileEntry[]
getNestedClassFileEntries()
protected int[]
getStartPCs()
void
renumber(java.util.List byteCodeOffsets)
In Pack200, line number tables are BCI renumbered.protected void
resolve(ClassConstantPool pool)
Allows the constant pool entries to resolve their nested entries.static void
setAttributeName(CPUTF8 cpUTF8Value)
void
setCodeLength(int length)
java.lang.String
toString()
protected void
writeBody(java.io.DataOutputStream dos)
-
Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.BCIRenumberedAttribute
hasBCIRenumbering
-
Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.Attribute
doWrite, equals, getAttributeName, getLengthIncludingHeader, hashCode, isSourceFileAttribute
-
Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.ClassFileEntry
objectHashCode, write
-
-
-
-
Constructor Detail
-
LocalVariableTableAttribute
public LocalVariableTableAttribute(int local_variable_table_length, int[] start_pcs, int[] lengths, CPUTF8[] names, CPUTF8[] descriptors, int[] indexes)
-
-
Method Detail
-
setAttributeName
public static void setAttributeName(CPUTF8 cpUTF8Value)
-
setCodeLength
public void setCodeLength(int length)
-
getLength
protected int getLength()
- Specified by:
getLength
in classBCIRenumberedAttribute
-
writeBody
protected void writeBody(java.io.DataOutputStream dos) throws java.io.IOException
- Specified by:
writeBody
in classBCIRenumberedAttribute
- Throws:
java.io.IOException
-
getNestedClassFileEntries
protected ClassFileEntry[] getNestedClassFileEntries()
- Overrides:
getNestedClassFileEntries
in classAttribute
-
resolve
protected void resolve(ClassConstantPool pool)
Description copied from class:ClassFileEntry
Allows the constant pool entries to resolve their nested entries.
-
toString
public java.lang.String toString()
- Specified by:
toString
in classBCIRenumberedAttribute
-
getStartPCs
protected int[] getStartPCs()
- Specified by:
getStartPCs
in classBCIRenumberedAttribute
-
renumber
public void renumber(java.util.List byteCodeOffsets) throws Pack200Exception
Description copied from class:BCIRenumberedAttribute
In Pack200, line number tables are BCI renumbered. This method takes the byteCodeOffsets (which is a List of Integers specifying the offset in the byte code array of each instruction) and updates the start_pcs so that it points to the instruction index itself, not the BCI renumbering of the instruction.- Overrides:
renumber
in classBCIRenumberedAttribute
- Parameters:
byteCodeOffsets
- List of Integer offsets of the bytecode array- Throws:
Pack200Exception
- TODO
-
-