Class ClassBands
java.lang.Object
org.apache.commons.compress.harmony.pack200.BandSet
org.apache.commons.compress.harmony.pack200.ClassBands
Class bands (corresponds to the
class_bands
set of bands in the pack200 specification)-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.commons.compress.harmony.pack200.BandSet
BandSet.BandAnalysisResults, BandSet.BandData
-
Field Summary
Fields inherited from class org.apache.commons.compress.harmony.pack200.BandSet
segmentHeader
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAnnotation
(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) void
addAnnotationDefault
(List<String> nameRU, List<String> tags, List<Object> values, List<Integer> caseArrayN, List<String> nestTypeRS, List<String> nestNameRU, List<Integer> nestPairN) void
addClass
(int major, int flags, String className, String signature, String superName, String[] interfaces) void
addClassAttribute
(NewAttribute attribute) Adds a new class attribute.void
addCode()
void
addCodeAttribute
(NewAttribute attribute) Adds a new code attribute.void
addEnclosingMethod
(String ownerClassName, String name, String signature) Adds an enclosing method.void
void
addFieldAttribute
(NewAttribute attribute) Adds a new field attribute.void
addHandler
(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, String type) void
addLineNumber
(int line, org.objectweb.asm.Label start) void
addLocalVariable
(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int indx) void
addMaxStack
(int maxStack, int maxLocals) void
void
addMethodAttribute
(NewAttribute attribute) Adds a new method attribute.void
addParameterAnnotation
(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) void
addSourceFile
(String source) Adds a source file path.protected static int
Counts arguments in a descriptor.void
void
doBciRenumbering
(IntList bciRenumbering, Map<org.objectweb.asm.Label, Integer> labelsToOffsets) void
Called when all the data for the current class has been.void
Called when all the data for the current method has been.void
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.boolean
Tests whether there are any synthetic classes.boolean
Tests whether there are any synthetic fields.boolean
Tests whether there are any synthetic methods.int
Gets the number of classes processed.void
pack
(OutputStream out) Writes the packed set of bands to the given output stream.void
Remove all entries for the current classMethods inherited from class org.apache.commons.compress.harmony.pack200.BandSet
cpEntryListToArray, cpEntryOrNullListToArray, encodeBandInt, encodeFlags, encodeFlags, encodeScalar, encodeScalar, integerListToArray, longListToArray
-
Constructor Details
-
ClassBands
public ClassBands(Segment segment, int numClasses, int effort, boolean stripDebug) throws IOException - Throws:
IOException
-
-
Method Details
-
countArgs
Counts arguments in a descriptor.- Parameters:
descriptor
- the descriptor to parse.- Returns:
- the argument count.
-
addAnnotation
-
addAnnotationDefault
-
addClass
-
addClassAttribute
Adds a new class attribute.- Parameters:
attribute
- the new class attribute.
-
addCode
-
addCodeAttribute
Adds a new code attribute.- Parameters:
attribute
- the new code attribute.
-
addEnclosingMethod
Adds an enclosing method.- Parameters:
ownerClassName
- a fully-qualifed class name.name
- a method name.signature
- a signature in the constant pool.
-
addField
-
addFieldAttribute
Adds a new field attribute.- Parameters:
attribute
- the new field attribute.
-
addHandler
public void addHandler(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, String type) -
addLineNumber
-
addLocalVariable
public void addLocalVariable(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int indx) -
addMaxStack
-
addMethod
-
addMethodAttribute
Adds a new method attribute.- Parameters:
attribute
- the new method attribute.
-
addParameterAnnotation
-
addSourceFile
Adds a source file path.- Parameters:
source
- a source file path.
-
currentClassReferencesInnerClass
-
doBciRenumbering
public void doBciRenumbering(IntList bciRenumbering, Map<org.objectweb.asm.Label, Integer> labelsToOffsets) -
endOfClass
Called when all the data for the current class has been.- See Also:
-
endOfMethod
Called when all the data for the current method has been.- See Also:
-
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. -
isAnySyntheticClasses
Tests whether there are any synthetic classes.- Returns:
- whether there are any synthetic classes.
-
isAnySyntheticFields
Tests whether there are any synthetic fields.- Returns:
- whether there are any synthetic fields.
-
isAnySyntheticMethods
Tests whether there are any synthetic methods.- Returns:
- whether there are any synthetic methods.
-
numClassesProcessed
Gets the number of classes processed.- Returns:
- the number of classes processed.
-
pack
Description copied from class:BandSet
Writes the packed set of bands to the given output stream.- Specified by:
pack
in classBandSet
- Parameters:
out
- TODO- Throws:
IOException
- If an I/O error occurs.Pack200Exception
- If a Pack200 semantic error occurs.
-
removeCurrentClass
Remove all entries for the current class
-