Class NewAttribute
- 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.NewAttribute
-
public class NewAttribute extends BCIRenumberedAttribute
A compressor-defined class file attribute.
-
-
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.Attribute
attributeName
-
Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.ClassFileEntry
NONE
-
-
Constructor Summary
Constructors Constructor Description NewAttribute(CPUTF8 attributeName, int layoutIndex)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddBCIndex(int length, int value)voidaddBCLength(int length, int value)voidaddBCOffset(int length, int value)voidaddInteger(int length, long value)voidaddToBody(int length, java.lang.Object value)intgetLayoutIndex()protected intgetLength()Gets the length.protected ClassFileEntry[]getNestedClassFileEntries()Returns an empty array.protected int[]getStartPCs()Gets the array of indices for the start of line numbers.voidrenumber(java.util.List<java.lang.Integer> byteCodeOffsets)In Pack200, line number tables are BCI renumbered.protected voidresolve(ClassConstantPool pool)Allows the constant pool entries to resolve their nested entries.java.lang.StringtoString()protected voidwriteBody(java.io.DataOutputStream dos)Writes this body to the given output stream.-
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
-
NewAttribute
public NewAttribute(CPUTF8 attributeName, int layoutIndex)
-
-
Method Detail
-
addBCIndex
public void addBCIndex(int length, int value)
-
addBCLength
public void addBCLength(int length, int value)
-
addBCOffset
public void addBCOffset(int length, int value)
-
addInteger
public void addInteger(int length, long value)
-
addToBody
public void addToBody(int length, java.lang.Object value)
-
getLayoutIndex
public int getLayoutIndex()
-
getLength
protected int getLength()
Description copied from class:AttributeGets the length.- Specified by:
getLengthin classBCIRenumberedAttribute- Returns:
- the length.
-
getNestedClassFileEntries
protected ClassFileEntry[] getNestedClassFileEntries()
Description copied from class:ClassFileEntryReturns an empty array.- Overrides:
getNestedClassFileEntriesin classAttribute- Returns:
- an empty array.
-
getStartPCs
protected int[] getStartPCs()
Description copied from class:BCIRenumberedAttributeGets the array of indices for the start of line numbers.- Specified by:
getStartPCsin classBCIRenumberedAttribute- Returns:
- the array of indices for the start of line numbers.
-
renumber
public void renumber(java.util.List<java.lang.Integer> byteCodeOffsets)
Description copied from class:BCIRenumberedAttributeIn 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:
renumberin classBCIRenumberedAttribute- Parameters:
byteCodeOffsets- List of Integer offsets of the byte code array.
-
resolve
protected void resolve(ClassConstantPool pool)
Description copied from class:ClassFileEntryAllows the constant pool entries to resolve their nested entries.
-
toString
public java.lang.String toString()
- Specified by:
toStringin classBCIRenumberedAttribute
-
writeBody
protected void writeBody(java.io.DataOutputStream dos) throws java.io.IOException
Description copied from class:AttributeWrites this body to the given output stream.- Specified by:
writeBodyin classBCIRenumberedAttribute- Parameters:
dos- the output stream.- Throws:
java.io.IOException- if an I/O error occurs.
-
-