Class NewAttributeBands
- java.lang.Object
-
- org.apache.commons.compress.harmony.pack200.BandSet
-
- org.apache.commons.compress.harmony.pack200.NewAttributeBands
-
public class NewAttributeBands extends BandSet
Sets of bands relating to a non-predefined attribute that has had a layout definition given to pack200 (for example via one of the -C, -M, -F or -D command line options)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceNewAttributeBands.AttributeLayoutElementAn AttributeLayoutElement is a part of an attribute layout and has one or more bands associated with it, which transmit the AttributeElement data for successive Attributes of this type.classNewAttributeBands.CallclassNewAttributeBands.CallableclassNewAttributeBands.IntegralclassNewAttributeBands.LayoutElementclassNewAttributeBands.ReferenceConstant Pool ReferenceclassNewAttributeBands.ReplicationA replication is an array of layout elements, with an associated countclassNewAttributeBands.UnionA Union is a type of layout element where the tag value acts as a selector for one of the union casesclassNewAttributeBands.UnionCaseA Union case-
Nested classes/interfaces inherited from class org.apache.commons.compress.harmony.pack200.BandSet
BandSet.BandAnalysisResults, BandSet.BandData
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<NewAttributeBands.AttributeLayoutElement>attributeLayoutElements-
Fields inherited from class org.apache.commons.compress.harmony.pack200.BandSet
segmentHeader
-
-
Constructor Summary
Constructors Constructor Description NewAttributeBands(int effort, CpBands cpBands, SegmentHeader header, AttributeDefinitionBands.AttributeDefinition def)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAttribute(NewAttribute attribute)java.lang.StringgetAttributeName()intgetFlagIndex()booleanisUsedAtLeastOnce()int[]numBackwardsCalls()voidpack(java.io.OutputStream outputStream)Writes the packed set of bands to the given output stream.voidrenumberBci(IntList bciRenumbering, java.util.Map<org.objectweb.asm.Label,java.lang.Integer> labelsToOffsets)Renumber any bytecode indexes or offsets as described in section 5.5.2 of the pack200 specification-
Methods inherited from class org.apache.commons.compress.harmony.pack200.BandSet
cpEntryListToArray, cpEntryOrNullListToArray, encodeBandInt, encodeFlags, encodeFlags, encodeScalar, encodeScalar, integerListToArray, longListToArray
-
-
-
-
Field Detail
-
attributeLayoutElements
protected java.util.List<NewAttributeBands.AttributeLayoutElement> attributeLayoutElements
-
-
Constructor Detail
-
NewAttributeBands
public NewAttributeBands(int effort, CpBands cpBands, SegmentHeader header, AttributeDefinitionBands.AttributeDefinition def) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
addAttribute
public void addAttribute(NewAttribute attribute)
-
getAttributeName
public java.lang.String getAttributeName()
-
getFlagIndex
public int getFlagIndex()
-
isUsedAtLeastOnce
public boolean isUsedAtLeastOnce()
-
numBackwardsCalls
public int[] numBackwardsCalls()
-
pack
public void pack(java.io.OutputStream outputStream) throws java.io.IOException, Pack200Exception
Description copied from class:BandSetWrites the packed set of bands to the given output stream.- Specified by:
packin classBandSet- Parameters:
outputStream- TODO- Throws:
java.io.IOException- If an I/O error occurs.Pack200Exception- If a Pack200 semantic error occurs.
-
renumberBci
public void renumberBci(IntList bciRenumbering, java.util.Map<org.objectweb.asm.Label,java.lang.Integer> labelsToOffsets)
Renumber any bytecode indexes or offsets as described in section 5.5.2 of the pack200 specification- Parameters:
bciRenumbering- TODOlabelsToOffsets- TODO
-
-