java.lang.Object
kala.compress.harmony.pack200.BandSet
kala.compress.harmony.pack200.BcBands
Bytecode bands (corresponds to the
bc_bands set of bands in the pack200 specification)-
Nested Class Summary
Nested classes/interfaces inherited from class kala.compress.harmony.pack200.BandSet
BandSet.BandAnalysisResults, BandSet.BandData -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intprivate final IntListprivate final IntListprivate final IntListprivate final IntListprivate final List<CPMethodOrField> private final List<CPMethodOrField> private Listprivate final IntListprivate final Listprivate final IntListprivate final IntListprivate final List<CPMethodOrField> private final IntListprivate final Listprivate Listprivate Listprivate Listprivate intprivate final CpBandsprivate Stringprivate Stringprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate intprivate final Segmentprivate Stringprivate static final intprivate static final intFields inherited from class kala.compress.harmony.pack200.BandSet
effort, segmentHeader -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAll 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.getIndexInClass(List<CPMethodOrField> cPMethodOrFieldList) getIndexInClassForConstructor(List<CPMethodOrField> cPMethodList) voidpack(OutputStream out) Write the packed set of bands to the given output streamvoidsetCurrentClass(String name, String superName) private voidvoidvisitEnd()voidvisitFieldInsn(int opcode, String owner, String name, String desc) voidvisitIincInsn(int var, int increment) voidvisitInsn(int opcode) voidvisitIntInsn(int opcode, int operand) voidvisitJumpInsn(int opcode, org.objectweb.asm.Label label) voidvisitLabel(org.objectweb.asm.Label label) voidvisitLdcInsn(Object cst) voidvisitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) voidvisitMethodInsn(int opcode, String owner, String name, String desc) voidvisitMultiANewArrayInsn(String desc, int dimensions) voidvisitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels) voidvisitTypeInsn(int opcode, String type) voidvisitVarInsn(int opcode, int var) Methods inherited from class kala.compress.harmony.pack200.BandSet
cpEntryListToArray, cpEntryOrNullListToArray, encodeBandInt, encodeFlags, encodeFlags, encodeScalar, encodeScalar, integerListToArray, longListToArray
-
Field Details
-
MULTIANEWARRAY
private static final int MULTIANEWARRAY- See Also:
-
ALOAD_0
private static final int ALOAD_0- See Also:
-
WIDE
private static final int WIDE- See Also:
-
INVOKEINTERFACE
private static final int INVOKEINTERFACE- See Also:
-
TABLESWITCH
private static final int TABLESWITCH- See Also:
-
IINC
private static final int IINC- See Also:
-
LOOKUPSWITCH
private static final int LOOKUPSWITCH- See Also:
-
endMarker
private static final int endMarker- See Also:
-
cpBands
-
segment
-
bcCodes
-
bcCaseCount
-
bcCaseValue
-
bcByte
-
bcShort
-
bcLocal
-
bcLabel
-
bcIntref
-
bcFloatRef
-
bcLongRef
-
bcDoubleRef
-
bcStringRef
-
bcClassRef
-
bcFieldRef
-
bcMethodRef
-
bcIMethodRef
-
bcThisField
-
bcSuperField
-
bcThisMethod
-
bcSuperMethod
-
bcInitRef
-
currentClass
-
superClass
-
currentNewClass
-
bciRenumbering
-
labelsToOffsets
-
byteCodeOffset
private int byteCodeOffset -
renumberedOffset
private int renumberedOffset -
bcLabelRelativeOffsets
-
-
Constructor Details
-
BcBands
-
-
Method Details
-
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. -
getIndexInClass
-
getIndexInClassForConstructor
-
pack
Description copied from class:BandSetWrite the packed set of bands to the given output stream- Specified by:
packin classBandSet- Parameters:
out- TODO- Throws:
IOException- If an I/O error occurs.Pack200Exception- TODO
-
setCurrentClass
-
updateRenumbering
private void updateRenumbering() -
visitEnd
public void visitEnd() -
visitFieldInsn
-
visitIincInsn
public void visitIincInsn(int var, int increment) -
visitInsn
public void visitInsn(int opcode) -
visitIntInsn
public void visitIntInsn(int opcode, int operand) -
visitJumpInsn
public void visitJumpInsn(int opcode, org.objectweb.asm.Label label) -
visitLabel
public void visitLabel(org.objectweb.asm.Label label) -
visitLdcInsn
-
visitLookupSwitchInsn
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) -
visitMethodInsn
-
visitMultiANewArrayInsn
-
visitTableSwitchInsn
public void visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels) -
visitTypeInsn
-
visitVarInsn
public void visitVarInsn(int opcode, int var)
-