java.lang.Object
kala.compress.harmony.unpack200.BandSet
kala.compress.harmony.unpack200.ClassBands
Class Bands
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AttributeLayoutMapprivate long[]private final intprivate int[]private long[]private int[][]private int[]private int[]private String[]private int[]private int[]private int[]private int[][]private int[][]private int[]private int[][]private int[][]private boolean[]private int[]private int[]private final CpBandsprivate long[][]private String[][]private int[][]private long[][]private IcTuple[][]private long[][]private int[]private String[][]private int[][]private long[][]private final SegmentOptions -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate intgetCallCount(int[][] methodAttrIndexes, long[][] flags, int context) int[]long[]int[][]int[]int[]int[]int[]Returns null if all classes should use the default major and minor version or an array of integers containing the major version numberss to use for each class in the segmentint[]Returns null if all classes should use the default major and minor version or an array of integers containing the minor version numberss to use for each class in the segmentint[][]int[][]int[]int[][]int[][]boolean[]int[]int[]int[][]long[][]IcTuple[][]String[][]int[][]long[][]Gets an ArrayList of ArrayLists which hold the code attributes corresponding to all classes in order.long[]private voidprivate intparseClassMetadataBands(InputStream in, int[] classAttrCalls) Parse the class metadata bands and return the number of backwards callables.private voidparseCodeAttrBands(InputStream in, int codeFlagsCount) private voidprivate voidprivate voidprivate intparseFieldMetadataBands(InputStream in, int[] fieldAttrCalls) private MetadataBandGroup[]parseMetadata(InputStream in, String[] RxA, int[] RxACount, int[] backwardsCallCounts, String contextName) private voidprivate voidprivate intparseMethodMetadataBands(InputStream in, int[] methodAttrCalls) voidread(InputStream in) voidunpack()Methods inherited from class kala.compress.harmony.unpack200.BandSet
decodeBandInt, decodeBandInt, getReferences, getReferences, parseCPClassReferences, parseCPDescriptorReferences, parseCPDoubleReferences, parseCPFieldRefReferences, parseCPFloatReferences, parseCPInterfaceMethodRefReferences, parseCPIntReferences, parseCPLongReferences, parseCPMethodRefReferences, parseCPSignatureReferences, parseCPSignatureReferences, parseCPStringReferences, parseCPUTF8References, parseCPUTF8References, parseFlags, parseFlags, parseFlags, parseFlags, parseReferences, parseReferences, unpack
-
Field Details
-
classFieldCount
private int[] classFieldCount -
classFlags
private long[] classFlags -
classAccessFlags
private long[] classAccessFlags -
classInterfacesInts
private int[][] classInterfacesInts -
classMethodCount
private int[] classMethodCount -
classSuperInts
private int[] classSuperInts -
classThis
-
classThisInts
private int[] classThisInts -
classAttributes
-
classVersionMajor
private int[] classVersionMajor -
classVersionMinor
private int[] classVersionMinor -
icLocal
-
codeAttributes
-
codeHandlerCount
private int[] codeHandlerCount -
codeMaxNALocals
private int[] codeMaxNALocals -
codeMaxStack
private int[] codeMaxStack -
fieldAttributes
-
fieldDescr
-
fieldDescrInts
private int[][] fieldDescrInts -
fieldFlags
private long[][] fieldFlags -
fieldAccessFlags
private long[][] fieldAccessFlags -
methodAttributes
-
methodDescr
-
methodDescrInts
private int[][] methodDescrInts -
methodFlags
private long[][] methodFlags -
methodAccessFlags
private long[][] methodAccessFlags -
attrMap
-
cpBands
-
options
-
classCount
private final int classCount -
methodAttrCalls
private int[] methodAttrCalls -
codeHandlerStartP
private int[][] codeHandlerStartP -
codeHandlerEndPO
private int[][] codeHandlerEndPO -
codeHandlerCatchPO
private int[][] codeHandlerCatchPO -
codeHandlerClassRCN
private int[][] codeHandlerClassRCN -
codeHasAttributes
private boolean[] codeHasAttributes
-
-
Constructor Details
-
ClassBands
- Parameters:
segment- TODO
-
-
Method Details
-
getCallCount
private int getCallCount(int[][] methodAttrIndexes, long[][] flags, int context) -
getClassAttributes
-
getClassFieldCount
public int[] getClassFieldCount() -
getClassFlags
public long[] getClassFlags() -
getClassInterfacesInts
public int[][] getClassInterfacesInts() -
getClassMethodCount
public int[] getClassMethodCount() -
getClassSuperInts
public int[] getClassSuperInts() -
getClassThisInts
public int[] getClassThisInts() -
getClassVersionMajor
public int[] getClassVersionMajor()Returns null if all classes should use the default major and minor version or an array of integers containing the major version numberss to use for each class in the segment- Returns:
- Class file major version numbers, or null if none specified
-
getClassVersionMinor
public int[] getClassVersionMinor()Returns null if all classes should use the default major and minor version or an array of integers containing the minor version numberss to use for each class in the segment- Returns:
- Class file minor version numbers, or null if none specified
-
getCodeHandlerCatchPO
public int[][] getCodeHandlerCatchPO() -
getCodeHandlerClassRCN
public int[][] getCodeHandlerClassRCN() -
getCodeHandlerCount
public int[] getCodeHandlerCount() -
getCodeHandlerEndPO
public int[][] getCodeHandlerEndPO() -
getCodeHandlerStartP
public int[][] getCodeHandlerStartP() -
getCodeHasAttributes
public boolean[] getCodeHasAttributes() -
getCodeMaxNALocals
public int[] getCodeMaxNALocals() -
getCodeMaxStack
public int[] getCodeMaxStack() -
getFieldAttributes
-
getFieldDescrInts
public int[][] getFieldDescrInts() -
getFieldFlags
public long[][] getFieldFlags() -
getIcLocal
-
getMethodAttributes
-
getMethodDescr
-
getMethodDescrInts
public int[][] getMethodDescrInts() -
getMethodFlags
public long[][] getMethodFlags() -
getOrderedCodeAttributes
Gets an ArrayList of ArrayLists which hold the code attributes corresponding to all classes in order. If a class doesn't have any attributes, the corresponding element in this list will be an empty ArrayList.- Returns:
- ArrayList
-
getRawClassFlags
public long[] getRawClassFlags() -
parseClassAttrBands
- Throws:
IOExceptionPack200Exception
-
parseClassMetadataBands
private int parseClassMetadataBands(InputStream in, int[] classAttrCalls) throws Pack200Exception, IOException Parse the class metadata bands and return the number of backwards callables.- Parameters:
in- TODOclassAttrCalls- TODO- Returns:
- the number of backwards callables.
- Throws:
Pack200Exception- TODOIOException- If an I/O error occurs.
-
parseCodeAttrBands
private void parseCodeAttrBands(InputStream in, int codeFlagsCount) throws IOException, Pack200Exception - Throws:
IOExceptionPack200Exception
-
parseCodeBands
- Throws:
Pack200ExceptionIOException
-
parseFieldAttrBands
- Throws:
IOExceptionPack200Exception
-
parseFieldBands
- Throws:
IOExceptionPack200Exception
-
parseFieldMetadataBands
private int parseFieldMetadataBands(InputStream in, int[] fieldAttrCalls) throws Pack200Exception, IOException - Throws:
Pack200ExceptionIOException
-
parseMetadata
private MetadataBandGroup[] parseMetadata(InputStream in, String[] RxA, int[] RxACount, int[] backwardsCallCounts, String contextName) throws IOException, Pack200Exception - Throws:
IOExceptionPack200Exception
-
parseMethodAttrBands
- Throws:
IOExceptionPack200Exception
-
parseMethodBands
- Throws:
IOExceptionPack200Exception
-
parseMethodMetadataBands
private int parseMethodMetadataBands(InputStream in, int[] methodAttrCalls) throws Pack200Exception, IOException - Throws:
Pack200ExceptionIOException
-
read
- Specified by:
readin classBandSet- Throws:
IOExceptionPack200Exception
-
unpack
public void unpack()
-