Package kala.compress.harmony.pack200
Class AttributeDefinitionBands
- java.lang.Object
-
- kala.compress.harmony.pack200.BandSet
-
- kala.compress.harmony.pack200.AttributeDefinitionBands
-
public class AttributeDefinitionBands extends BandSet
Attribute Definition bands define how any unknown attributes should be read by the decompressor.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAttributeDefinitionBands.AttributeDefinition-
Nested classes/interfaces inherited from class kala.compress.harmony.pack200.BandSet
BandSet.BandAnalysisResults, BandSet.BandData
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<AttributeDefinitionBands.AttributeDefinition>attributeDefinitionsprivate java.util.List<AttributeDefinitionBands.AttributeDefinition>classAttributeLayoutsprivate java.util.List<AttributeDefinitionBands.AttributeDefinition>codeAttributeLayoutsstatic intCONTEXT_CLASS0static intCONTEXT_CODE3static intCONTEXT_FIELD1static intCONTEXT_METHOD2private CpBandscpBandsprivate java.util.List<AttributeDefinitionBands.AttributeDefinition>fieldAttributeLayoutsprivate java.util.List<AttributeDefinitionBands.AttributeDefinition>methodAttributeLayoutsprivate Segmentsegment-
Fields inherited from class kala.compress.harmony.pack200.BandSet
effort, segmentHeader
-
-
Constructor Summary
Constructors Constructor Description AttributeDefinitionBands(Segment segment, int effort, org.objectweb.asm.Attribute[] attributePrototypes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddAttributeDefinitions(java.util.Map<java.lang.String,java.lang.String> layoutMap, int[] availableIndices, int contextType)private int[]addHighIndices(int[] availableIndices)private voidaddSyntheticDefinitions()voidfinaliseBands()All input classes for the segment have now been read in, so this method is called so that this class can calculate/complete anything it could not do while classes were being read.java.util.List<AttributeDefinitionBands.AttributeDefinition>getClassAttributeLayouts()java.util.List<AttributeDefinitionBands.AttributeDefinition>getCodeAttributeLayouts()java.util.List<AttributeDefinitionBands.AttributeDefinition>getFieldAttributeLayouts()java.util.List<AttributeDefinitionBands.AttributeDefinition>getMethodAttributeLayouts()voidpack(java.io.OutputStream out)Write the packed set of bands to the given output stream-
Methods inherited from class kala.compress.harmony.pack200.BandSet
cpEntryListToArray, cpEntryOrNullListToArray, encodeBandInt, encodeFlags, encodeFlags, encodeScalar, encodeScalar, integerListToArray, longListToArray
-
-
-
-
Field Detail
-
CONTEXT_CLASS
public static final int CONTEXT_CLASS
0- See Also:
- Constant Field Values
-
CONTEXT_CODE
public static final int CONTEXT_CODE
3- See Also:
- Constant Field Values
-
CONTEXT_FIELD
public static final int CONTEXT_FIELD
1- See Also:
- Constant Field Values
-
CONTEXT_METHOD
public static final int CONTEXT_METHOD
2- See Also:
- Constant Field Values
-
classAttributeLayouts
private final java.util.List<AttributeDefinitionBands.AttributeDefinition> classAttributeLayouts
-
methodAttributeLayouts
private final java.util.List<AttributeDefinitionBands.AttributeDefinition> methodAttributeLayouts
-
fieldAttributeLayouts
private final java.util.List<AttributeDefinitionBands.AttributeDefinition> fieldAttributeLayouts
-
codeAttributeLayouts
private final java.util.List<AttributeDefinitionBands.AttributeDefinition> codeAttributeLayouts
-
attributeDefinitions
private final java.util.List<AttributeDefinitionBands.AttributeDefinition> attributeDefinitions
-
cpBands
private final CpBands cpBands
-
segment
private final Segment segment
-
-
Constructor Detail
-
AttributeDefinitionBands
public AttributeDefinitionBands(Segment segment, int effort, org.objectweb.asm.Attribute[] attributePrototypes)
-
-
Method Detail
-
addAttributeDefinitions
private void addAttributeDefinitions(java.util.Map<java.lang.String,java.lang.String> layoutMap, int[] availableIndices, int contextType)
-
addHighIndices
private int[] addHighIndices(int[] availableIndices)
-
addSyntheticDefinitions
private void addSyntheticDefinitions()
-
finaliseBands
public void finaliseBands()
All input classes for the segment have now been read in, so this method is called so that this class can calculate/complete anything it could not do while classes were being read.
-
getClassAttributeLayouts
public java.util.List<AttributeDefinitionBands.AttributeDefinition> getClassAttributeLayouts()
-
getCodeAttributeLayouts
public java.util.List<AttributeDefinitionBands.AttributeDefinition> getCodeAttributeLayouts()
-
getFieldAttributeLayouts
public java.util.List<AttributeDefinitionBands.AttributeDefinition> getFieldAttributeLayouts()
-
getMethodAttributeLayouts
public java.util.List<AttributeDefinitionBands.AttributeDefinition> getMethodAttributeLayouts()
-
pack
public void pack(java.io.OutputStream out) throws java.io.IOException, Pack200ExceptionDescription copied from class:BandSetWrite the packed set of bands to the given output stream- Specified by:
packin classBandSet- Parameters:
out- TODO- Throws:
java.io.IOException- If an I/O error occurs.Pack200Exception- TODO
-
-