java.lang.Object
kala.compress.harmony.pack200.BandSet
kala.compress.harmony.pack200.ClassBands
Class bands (corresponds to the
class_bands set of bands in the pack200 specification)-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class kala.compress.harmony.pack200.BandSet
BandSet.BandAnalysisResults, BandSet.BandData -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate booleanprivate booleanprivate final AttributeDefinitionBandsprivate int[]private final int[]private final long[]private int[]private int[]private CPClass[]private final CPClass[][]private final int[]private final int[]private final MetadataBandGroupprivate final MetadataBandGroupprivate final CPClass[]private final CPClass[]private final List<NewAttributeBands> private final List<ConstantPoolEntry> private final List<ConstantPoolEntry> private final IntListprivate final IntListprivate final List<CPSignature> private int[]private final List<NewAttributeBands> private final Listprivate final IntListprivate final Listprivate final Listprivate int[]private final Listprivate final IntListprivate final IntListprivate final Listprivate final IntListprivate final List<ConstantPoolEntry> private final IntListprivate final Listprivate final List<ConstantPoolEntry> private final Listprivate final IntListprivate final List<ConstantPoolEntry> private final IntListprivate final Listprivate final List<ConstantPoolEntry> private final IntListprivate final IntListprivate final CpBandsprivate static final long[]private int[]private final CPNameAndType[][]private final long[][]private final MetadataBandGroupprivate final MetadataBandGroupprivate final List<NewAttributeBands> private final List<CPConstant<?>> private final List<CPSignature> private intprivate final int[]private final MetadataBandGroupprivate int[]private final CPNameAndType[][]private final long[][]private final MetadataBandGroupprivate final MetadataBandGroupprivate final MetadataBandGroupprivate final MetadataBandGroupprivate final List<NewAttributeBands> private final IntListprivate final List<CPSignature> private intprivate final Segmentprivate final booleanprivate final List<CPNameAndType> private final List<CPNameAndType> private ClassBands.TempParamAnnotationprivate ClassBands.TempParamAnnotationFields inherited from class kala.compress.harmony.pack200.BandSet
effort, segmentHeader -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAnnotation(int context, String desc, boolean visible, List<String> nameRU, List<String> tags, List<Object> values, List<Integer> caseArrayN, List<String> nestTypeRS, List<String> nestNameRU, List<Integer> nestPairN) voidaddAnnotationDefault(List<String> nameRU, List<String> tags, List<Object> values, List<Integer> caseArrayN, List<String> nestTypeRS, List<String> nestNameRU, List<Integer> nestPairN) voidaddClass(int major, int flags, String className, String signature, String superName, String[] interfaces) voidaddClassAttribute(NewAttribute attribute) voidaddCode()voidaddCodeAttribute(NewAttribute attribute) voidaddEnclosingMethod(String owner, String name, String desc) voidvoidaddFieldAttribute(NewAttribute attribute) voidaddHandler(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, String type) voidaddLineNumber(int line, org.objectweb.asm.Label start) voidaddLocalVariable(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int indx) voidaddMaxStack(int maxStack, int maxLocals) voidvoidaddMethodAttribute(NewAttribute attribute) voidaddParameterAnnotation(int parameter, String desc, boolean visible, List<String> nameRU, List<String> tags, List<Object> values, List<Integer> caseArrayN, List<String> nestTypeRS, List<String> nestNameRU, List<Integer> nestPairN) voidaddSourceFile(String source) protected static intprivate voidvoidvoiddoBciRenumbering(IntList bciRenumbering, Map<org.objectweb.asm.Label, Integer> labelsToOffsets) voidvoidvoidAll 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[]booleanbooleanbooleanprivate booleanisInnerClass(String possibleInner) private booleanisInnerClassOf(String possibleInner, CPClass possibleOuter) intvoidpack(OutputStream out) Write the packed set of bands to the given output streamvoidRemove all entries for the current classprivate voidrenumberBci(List<Integer> list, IntList bciRenumbering, Map<org.objectweb.asm.Label, Integer> labelsToOffsets) private voidrenumberDoubleOffsetBci(List<Integer> relative, List<Integer> firstOffset, List<Object> list, IntList bciRenumbering, Map<org.objectweb.asm.Label, Integer> labelsToOffsets) private voidrenumberOffsetBci(List<Integer> relative, List<Integer> list, IntList bciRenumbering, Map<org.objectweb.asm.Label, Integer> labelsToOffsets) private intsum(int[] ints) private voidprivate voidprivate voidprivate voidprivate voidMethods inherited from class kala.compress.harmony.pack200.BandSet
cpEntryListToArray, cpEntryOrNullListToArray, encodeBandInt, encodeFlags, encodeFlags, encodeScalar, encodeScalar, integerListToArray, longListToArray
-
Field Details
-
EMPTY_LONG_ARRAY
private static final long[] EMPTY_LONG_ARRAY -
cpBands
-
attrBands
-
class_this
-
class_super
-
class_interface
-
class_interface_count
private final int[] class_interface_count -
major_versions
private final int[] major_versions -
class_flags
private final long[] class_flags -
class_attr_calls
private int[] class_attr_calls -
classSourceFile
-
classEnclosingMethodClass
-
classEnclosingMethodDesc
-
classSignature
-
classFileVersionMinor
-
classFileVersionMajor
-
class_field_count
private final int[] class_field_count -
field_descr
-
field_flags
private final long[][] field_flags -
field_attr_calls
private int[] field_attr_calls -
fieldConstantValueKQ
-
fieldSignature
-
class_method_count
private final int[] class_method_count -
method_descr
-
method_flags
private final long[][] method_flags -
method_attr_calls
private int[] method_attr_calls -
methodSignature
-
methodExceptionNumber
-
methodExceptionClasses
-
codeHeaders
private int[] codeHeaders -
codeMaxStack
-
codeMaxLocals
-
codeHandlerCount
-
codeHandlerStartP
-
codeHandlerEndPO
-
codeHandlerCatchPO
-
codeHandlerClass
-
codeFlags
-
code_attr_calls
private int[] code_attr_calls -
codeLineNumberTableN
-
codeLineNumberTableBciP
-
codeLineNumberTableLine
-
codeLocalVariableTableN
-
codeLocalVariableTableBciP
-
codeLocalVariableTableSpanO
-
codeLocalVariableTableNameRU
-
codeLocalVariableTableTypeRS
-
codeLocalVariableTableSlot
-
codeLocalVariableTypeTableN
-
codeLocalVariableTypeTableBciP
-
codeLocalVariableTypeTableSpanO
-
codeLocalVariableTypeTableNameRU
-
codeLocalVariableTypeTableTypeRS
-
codeLocalVariableTypeTableSlot
-
class_RVA_bands
-
class_RIA_bands
-
field_RVA_bands
-
field_RIA_bands
-
method_RVA_bands
-
method_RIA_bands
-
method_RVPA_bands
-
method_RIPA_bands
-
method_AD_bands
-
classAttributeBands
-
methodAttributeBands
-
fieldAttributeBands
-
codeAttributeBands
-
tempFieldFlags
-
tempFieldDesc
-
tempMethodFlags
-
tempMethodDesc
-
tempMethodRVPA
-
tempMethodRIPA
-
anySyntheticClasses
private boolean anySyntheticClasses -
anySyntheticFields
private boolean anySyntheticFields -
anySyntheticMethods
private boolean anySyntheticMethods -
segment
-
classReferencesInnerClass
-
stripDebug
private final boolean stripDebug -
index
private int index -
numMethodArgs
private int numMethodArgs -
class_InnerClasses_N
private int[] class_InnerClasses_N -
class_InnerClasses_RC
-
class_InnerClasses_F
private int[] class_InnerClasses_F -
classInnerClassesOuterRCN
-
classInnerClassesNameRUN
-
-
Constructor Details
-
ClassBands
public ClassBands(Segment segment, int numClasses, int effort, boolean stripDebug) throws IOException - Throws:
IOException
-
-
Method Details
-
countArgs
-
addAnnotation
-
addAnnotationDefault
-
addClass
-
addClassAttribute
-
addCode
public void addCode() -
addCodeAttribute
-
addEnclosingMethod
-
addField
-
addFieldAttribute
-
addHandler
public void addHandler(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, String type) -
addLineNumber
public void addLineNumber(int line, org.objectweb.asm.Label start) -
addLocalVariable
-
addMaxStack
public void addMaxStack(int maxStack, int maxLocals) -
addMethod
-
addMethodAttribute
-
addParameterAnnotation
-
addSourceFile
-
createNewAttributeBands
- Throws:
IOException
-
currentClassReferencesInnerClass
-
doBciRenumbering
-
endOfClass
public void endOfClass() -
endOfMethod
public void endOfMethod() -
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. -
getInts
-
isAnySyntheticClasses
public boolean isAnySyntheticClasses() -
isAnySyntheticFields
public boolean isAnySyntheticFields() -
isAnySyntheticMethods
public boolean isAnySyntheticMethods() -
isInnerClass
-
isInnerClassOf
-
numClassesProcessed
public int numClassesProcessed() -
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
-
removeCurrentClass
public void removeCurrentClass()Remove all entries for the current class -
renumberBci
-
renumberDoubleOffsetBci
-
renumberOffsetBci
-
sum
private int sum(int[] ints) -
writeClassAttributeBands
- Throws:
IOExceptionPack200Exception
-
writeCodeAttributeBands
- Throws:
IOExceptionPack200Exception
-
writeCodeBands
- Throws:
IOExceptionPack200Exception
-
writeFieldAttributeBands
- Throws:
IOExceptionPack200Exception
-
writeMethodAttributeBands
- Throws:
IOExceptionPack200Exception
-