Top Description Inners Fields Constructors Methods
org.apache.commons.compress.harmony.pack200

public Class ClassBands

extends BandSet
Class Inheritance
Imports
java.io.IOException, .OutputStream, java.util.ArrayList, .Arrays, .Comparator, .HashMap, .HashSet, .List, .Map, .Set, org.apache.commons.compress.harmony.pack200.AttributeDefinitionBands.AttributeDefinition, .IcBands.IcTuple, org.objectweb.asm.Label, .Opcodes

Class bands (corresponds to the class_bands set of bands in the pack200 specification)

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private boolean
private boolean
private boolean
private final AttributeDefinitionBands
private int[]
private final int[]
private final long[]
private int[]
private int[]
private CPClass[]
private final CPClass[][]
private final int[]
private final int[]
private final MetadataBandGroup
private final MetadataBandGroup
private final CPClass[]
private final CPClass[]
private final List<NewAttributeBands>
private final List<ConstantPoolEntry>
private final List<ConstantPoolEntry>
private final IntList
private final IntList
private List<CPUTF8>
private List<CPClass>
private final Map<CPClass, Set<CPClass>>
private final List<CPSignature>
private final List<CPUTF8>
private int[]
private final List<NewAttributeBands>
private final List<Long>
private final List<E>
private final List<CPClass>
private final IntList
private final List<E>
private final List<E>
private int[]
private final List<E>
private final IntList
private final IntList
private final List<E>
private final IntList
private final List<ConstantPoolEntry>
private final IntList
private final List<E>
private final List<ConstantPoolEntry>
private final List<E>
private final IntList
private final List<ConstantPoolEntry>
private final IntList
private final List<E>
private final List<ConstantPoolEntry>
private final IntList
private final IntList
private final CpBands
private static final long[]
private int[]
private final CPNameAndType[][]
private final long[][]
private final MetadataBandGroup
private final MetadataBandGroup
private final List<NewAttributeBands>
private final List<CPConstant<?>>
private final List<CPSignature>
private int
private final int[]
private final MetadataBandGroup
private int[]
private final CPNameAndType[][]
private final long[][]
private final MetadataBandGroup
private final MetadataBandGroup
private final MetadataBandGroup
private final MetadataBandGroup
private final List<NewAttributeBands>
private final List<CPClass>
private final IntList
private final List<CPSignature>
private int
private final Segment
private final boolean
private final List<CPNameAndType>
private final List<Long>
private final List<CPNameAndType>
private final List<Long>
private ClassBands.TempParamAnnotation
private ClassBands.TempParamAnnotation
Inherited from org.apache.commons.compress.harmony.pack200.BandSet:
effortsegmentHeader

Constructor Summary

AccessConstructor and Description
public
ClassBands(final Segment segment, final int numClasses, final int effort, final boolean stripDebug)

Method Summary

Modifier and TypeMethod and Description
public void
addAnnotation(final int context, final String desc, final boolean visible, final List<String> nameRU, final List<String> tags, final List<Object> values, final List<Integer> caseArrayN, final List<String> nestTypeRS, final List<String> nestNameRU, final List<Integer> nestPairN)

public void
addAnnotationDefault(final List<String> nameRU, final List<String> tags, final List<Object> values, final List<Integer> caseArrayN, final List<String> nestTypeRS, final List<String> nestNameRU, final List<Integer> nestPairN)

public void
addClass(final int major, final int flags, final String className, final String signature, final String superName, final String[] interfaces)

public void
public void
public void
addCodeAttribute(final NewAttribute attribute)

public void
addEnclosingMethod(final String owner, final String name, final String desc)

public void
addField(int flags, final String name, final String desc, final String signature, final Object value)

public void
public void
addHandler(final Label start, final Label end, final Label handler, final String type)

public void
addLineNumber(final int line, final Label start)

public void
addLocalVariable(final String name, final String desc, final String signature, final Label start, final Label end, final int indx)

public void
addMaxStack(final int maxStack, int maxLocals)

public void
addMethod(int flags, final String name, final String desc, final String signature, final String[] exceptions)

public void
public void
addParameterAnnotation(final int parameter, final String desc, final boolean visible, final List<String> nameRU, final List<String> tags, final List<Object> values, final List<Integer> caseArrayN, final List<String> nestTypeRS, final List<String> nestNameRU, final List<Integer> nestPairN)

public void
addSourceFile(final String source)

protected static int
countArgs(final String descriptor)

private void
public void
public void
doBciRenumbering(final IntList bciRenumbering, final Map<Label, Integer> labelsToOffsets)

public void
public void
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.

private int[]
getInts(final CPClass[] cpClasses)

public boolean
public boolean
public boolean
private boolean
isInnerClass(final String possibleInner)

private boolean
isInnerClassOf(final String possibleInner, final CPClass possibleOuter)

public int
public void
pack(final OutputStream
TODO
out
)

Implements abstract org.apache.commons.compress.harmony.pack200.BandSet.pack.

Write the packed set of bands to the given output stream
public void
removeCurrentClass()

Remove all entries for the current class

private void
renumberBci(final List<Integer> list, final IntList bciRenumbering, final Map<Label, Integer> labelsToOffsets)

private void
renumberDoubleOffsetBci(final List<Integer> relative, final List<Integer> firstOffset, final List<Object> list, final IntList bciRenumbering, final Map<Label, Integer> labelsToOffsets)

private void
renumberOffsetBci(final List<Integer> relative, final List<Integer> list, final IntList bciRenumbering, final Map<Label, Integer> labelsToOffsets)

private int
sum(final int[] ints)

private void
private void
private void
private void
private void
Inherited from org.apache.commons.compress.harmony.pack200.BandSet:
cpEntryListToArraycpEntryOrNullListToArrayencodeBandIntencodeFlagsencodeFlagsencodeScalarencodeScalarintegerListToArraylongListToArray