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

public Class BcBands

extends BandSet
Class Inheritance
Imports
java.io.IOException, .OutputStream, java.util.ArrayList, .HashMap, .List, .Map, java.util.stream.Collectors, org.objectweb.asm.Label

Bytecode bands (corresponds to the bc_bands set of bands in the pack200 specification)

Field Summary

Modifier and TypeField and Description
private static final int
private final IntList
private final IntList
private final IntList
private final List<CPClass>
private final IntList
private final List<CPDouble>
private final List<CPMethodOrField>
private final List<CPFloat>
private final List<CPMethodOrField>
private List<E>
private final List<CPInt>
private final IntList
private final List<E>
private final IntList
private final IntList
private final List<CPLong>
private final List<CPMethodOrField>
private final IntList
private final List<CPString>
private final List<E>
private List<E>
private List<E>
private List<E>
private int
private final CpBands
private String
private String
private static final int
private static final int
private static final int
private final Map<Label, Integer>
private static final int
private static final int
private int
private final Segment
private String
private static final int
private static final int
Inherited from org.apache.commons.compress.harmony.pack200.BandSet:
effortsegmentHeader

Constructor Summary

AccessConstructor and Description
public
BcBands(final CpBands cpBands, final Segment segment, final int effort)

Method Summary

Modifier and TypeMethod and Description
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 List<Integer>
getIndexInClass(final List<CPMethodOrField> cPMethodOrFieldList)

private List<Integer>
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
setCurrentClass(final String name, final String superName)

private void
public void
public void
visitFieldInsn(int opcode, final String owner, final String name, final String desc)

public void
visitIincInsn(final int var, final int increment)

public void
visitInsn(final int opcode)

public void
visitIntInsn(final int opcode, final int operand)

public void
visitJumpInsn(final int opcode, final Label label)

public void
visitLabel(final Label label)

public void
visitLdcInsn(final Object cst)

public void
visitLookupSwitchInsn(final Label dflt, final int[] keys, final Label[] labels)

public void
visitMethodInsn(int opcode, final String owner, final String name, final String desc)

public void
visitMultiANewArrayInsn(final String desc, final int dimensions)

public void
visitTableSwitchInsn(final int min, final int max, final Label dflt, final Label... labels)

public void
visitTypeInsn(final int opcode, final String type)

public void
visitVarInsn(final int opcode, final int var)

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

Field Detail

ALOAD_0back to summary
private static final int ALOAD_0
bcByteback to summary
private final IntList bcByte
bcCaseCountback to summary
private final IntList bcCaseCount
bcCaseValueback to summary
private final IntList bcCaseValue
bcClassRefback to summary
private final List<CPClass> bcClassRef
bcCodesback to summary
private final IntList bcCodes
bcDoubleRefback to summary
private final List<CPDouble> bcDoubleRef
bcFieldRefback to summary
private final List<CPMethodOrField> bcFieldRef
bcFloatRefback to summary
private final List<CPFloat> bcFloatRef
bcIMethodRefback to summary
private final List<CPMethodOrField> bcIMethodRef
bcInitRefback to summary
private List<E> bcInitRef
bcIntrefback to summary
private final List<CPInt> bcIntref
bciRenumberingback to summary
private final IntList bciRenumbering
bcLabelback to summary
private final List<E> bcLabel
bcLabelRelativeOffsetsback to summary
private final IntList bcLabelRelativeOffsets
bcLocalback to summary
private final IntList bcLocal
bcLongRefback to summary
private final List<CPLong> bcLongRef
bcMethodRefback to summary
private final List<CPMethodOrField> bcMethodRef
bcShortback to summary
private final IntList bcShort
bcStringRefback to summary
private final List<CPString> bcStringRef
bcSuperFieldback to summary
private final List<E> bcSuperField
bcSuperMethodback to summary
private List<E> bcSuperMethod
bcThisFieldback to summary
private List<E> bcThisField
bcThisMethodback to summary
private List<E> bcThisMethod
byteCodeOffsetback to summary
private int byteCodeOffset
cpBandsback to summary
private final CpBands cpBands
currentClassback to summary
private String currentClass
currentNewClassback to summary
private String currentNewClass
endMarkerback to summary
private static final int endMarker
IINCback to summary
private static final int IINC
INVOKEINTERFACEback to summary
private static final int INVOKEINTERFACE
labelsToOffsetsback to summary
private final Map<Label, Integer> labelsToOffsets
LOOKUPSWITCHback to summary
private static final int LOOKUPSWITCH
MULTIANEWARRAYback to summary
private static final int MULTIANEWARRAY
renumberedOffsetback to summary
private int renumberedOffset
segmentback to summary
private final Segment segment
superClassback to summary
private String superClass
TABLESWITCHback to summary
private static final int TABLESWITCH
WIDEback to summary
private static final int WIDE

Constructor Detail

BcBandsback to summary
public BcBands(final CpBands cpBands, final Segment segment, final int effort)

Method Detail

finaliseBandsback to summary
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.

getIndexInClassback to summary
private List<Integer> getIndexInClass(final List<CPMethodOrField> cPMethodOrFieldList)
getIndexInClassForConstructorback to summary
private List<Integer> getIndexInClassForConstructor(final List<CPMethodOrField> cPMethodList)
packback to summary
public void pack(final OutputStream out) throws IOException, Pack200Exception

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

Doc from org.apache.commons.compress.harmony.pack200.BandSet.pack.

Write the packed set of bands to the given output stream

Parameters
out:OutputStream

TODO

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs.
Pack200Exception:
TODO
setCurrentClassback to summary
public void setCurrentClass(final String name, final String superName)
updateRenumberingback to summary
private void updateRenumbering()
visitEndback to summary
public void visitEnd()
visitFieldInsnback to summary
public void visitFieldInsn(int opcode, final String owner, final String name, final String desc)
visitIincInsnback to summary
public void visitIincInsn(final int var, final int increment)
visitInsnback to summary
public void visitInsn(final int opcode)
visitIntInsnback to summary
public void visitIntInsn(final int opcode, final int operand)
visitJumpInsnback to summary
public void visitJumpInsn(final int opcode, final Label label)
visitLabelback to summary
public void visitLabel(final Label label)
visitLdcInsnback to summary
public void visitLdcInsn(final Object cst)
visitLookupSwitchInsnback to summary
public void visitLookupSwitchInsn(final Label dflt, final int[] keys, final Label[] labels)
visitMethodInsnback to summary
public void visitMethodInsn(int opcode, final String owner, final String name, final String desc)
visitMultiANewArrayInsnback to summary
public void visitMultiANewArrayInsn(final String desc, final int dimensions)
visitTableSwitchInsnback to summary
public void visitTableSwitchInsn(final int min, final int max, final Label dflt, final Label... labels)
visitTypeInsnback to summary
public void visitTypeInsn(final int opcode, final String type)
visitVarInsnback to summary
public void visitVarInsn(final int opcode, final int var)