Class ClassBands
- java.lang.Object
-
- org.apache.commons.compress.harmony.pack200.BandSet
-
- org.apache.commons.compress.harmony.pack200.ClassBands
-
public class ClassBands extends BandSet
Class bands (corresponds to theclass_bandsset 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 Constructor Description ClassBands(Segment segment, int numClasses, int effort, boolean stripDebug)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAnnotation(int context, java.lang.String desc, boolean visible, java.util.List<java.lang.String> nameRU, java.util.List<java.lang.String> tags, java.util.List<java.lang.Object> values, java.util.List<java.lang.Integer> caseArrayN, java.util.List<java.lang.String> nestTypeRS, java.util.List<java.lang.String> nestNameRU, java.util.List<java.lang.Integer> nestPairN)voidaddAnnotationDefault(java.util.List<java.lang.String> nameRU, java.util.List<java.lang.String> tags, java.util.List<java.lang.Object> values, java.util.List<java.lang.Integer> caseArrayN, java.util.List<java.lang.String> nestTypeRS, java.util.List<java.lang.String> nestNameRU, java.util.List<java.lang.Integer> nestPairN)voidaddClass(int major, int flags, java.lang.String className, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)voidaddClassAttribute(NewAttribute attribute)Adds a new class attribute.voidaddCode()voidaddCodeAttribute(NewAttribute attribute)Adds a new code attribute.voidaddEnclosingMethod(java.lang.String ownerClassName, java.lang.String name, java.lang.String signature)Adds an enclosing method.voidaddField(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)voidaddFieldAttribute(NewAttribute attribute)Adds a new field attribute.voidaddHandler(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, java.lang.String type)voidaddLineNumber(int line, org.objectweb.asm.Label start)voidaddLocalVariable(java.lang.String name, java.lang.String desc, java.lang.String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int indx)voidaddMaxStack(int maxStack, int maxLocals)voidaddMethod(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)voidaddMethodAttribute(NewAttribute attribute)Adds a new method attribute.voidaddParameterAnnotation(int parameter, java.lang.String desc, boolean visible, java.util.List<java.lang.String> nameRU, java.util.List<java.lang.String> tags, java.util.List<java.lang.Object> values, java.util.List<java.lang.Integer> caseArrayN, java.util.List<java.lang.String> nestTypeRS, java.util.List<java.lang.String> nestNameRU, java.util.List<java.lang.Integer> nestPairN)voidaddSourceFile(java.lang.String source)Adds a source file path.protected static intcountArgs(java.lang.String descriptor)Counts arguments in a descriptor.voidcurrentClassReferencesInnerClass(CPClass inner)voiddoBciRenumbering(IntList bciRenumbering, java.util.Map<org.objectweb.asm.Label,java.lang.Integer> labelsToOffsets)voidendOfClass()Called when all the data for the current class has been.voidendOfMethod()Called when all the data for the current method has been.voidfinaliseBands()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.booleanisAnySyntheticClasses()Tests whether there are any synthetic classes.booleanisAnySyntheticFields()Tests whether there are any synthetic fields.booleanisAnySyntheticMethods()Tests whether there are any synthetic methods.intnumClassesProcessed()Gets the number of classes processed.voidpack(java.io.OutputStream out)Writes the packed set of bands to the given output stream.voidremoveCurrentClass()Remove all entries for the current class-
Methods inherited from class org.apache.commons.compress.harmony.pack200.BandSet
cpEntryListToArray, cpEntryOrNullListToArray, encodeBandInt, encodeFlags, encodeFlags, encodeScalar, encodeScalar, integerListToArray, longListToArray
-
-
-
-
Constructor Detail
-
ClassBands
public ClassBands(Segment segment, int numClasses, int effort, boolean stripDebug) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
countArgs
protected static int countArgs(java.lang.String descriptor)
Counts arguments in a descriptor.- Parameters:
descriptor- the descriptor to parse.- Returns:
- the argument count.
-
addAnnotation
public void addAnnotation(int context, java.lang.String desc, boolean visible, java.util.List<java.lang.String> nameRU, java.util.List<java.lang.String> tags, java.util.List<java.lang.Object> values, java.util.List<java.lang.Integer> caseArrayN, java.util.List<java.lang.String> nestTypeRS, java.util.List<java.lang.String> nestNameRU, java.util.List<java.lang.Integer> nestPairN)
-
addAnnotationDefault
public void addAnnotationDefault(java.util.List<java.lang.String> nameRU, java.util.List<java.lang.String> tags, java.util.List<java.lang.Object> values, java.util.List<java.lang.Integer> caseArrayN, java.util.List<java.lang.String> nestTypeRS, java.util.List<java.lang.String> nestNameRU, java.util.List<java.lang.Integer> nestPairN)
-
addClass
public void addClass(int major, int flags, java.lang.String className, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
-
addClassAttribute
public void addClassAttribute(NewAttribute attribute)
Adds a new class attribute.- Parameters:
attribute- the new class attribute.
-
addCode
public void addCode()
-
addCodeAttribute
public void addCodeAttribute(NewAttribute attribute)
Adds a new code attribute.- Parameters:
attribute- the new code attribute.
-
addEnclosingMethod
public void addEnclosingMethod(java.lang.String ownerClassName, java.lang.String name, java.lang.String signature)
Adds an enclosing method.- Parameters:
ownerClassName- a fully-qualifed class name.name- a method name.signature- a signature in the constant pool.
-
addField
public void addField(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
-
addFieldAttribute
public void addFieldAttribute(NewAttribute attribute)
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, java.lang.String type)
-
addLineNumber
public void addLineNumber(int line, org.objectweb.asm.Label start)
-
addLocalVariable
public void addLocalVariable(java.lang.String name, java.lang.String desc, java.lang.String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int indx)
-
addMaxStack
public void addMaxStack(int maxStack, int maxLocals)
-
addMethod
public void addMethod(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
-
addMethodAttribute
public void addMethodAttribute(NewAttribute attribute)
Adds a new method attribute.- Parameters:
attribute- the new method attribute.
-
addParameterAnnotation
public void addParameterAnnotation(int parameter, java.lang.String desc, boolean visible, java.util.List<java.lang.String> nameRU, java.util.List<java.lang.String> tags, java.util.List<java.lang.Object> values, java.util.List<java.lang.Integer> caseArrayN, java.util.List<java.lang.String> nestTypeRS, java.util.List<java.lang.String> nestNameRU, java.util.List<java.lang.Integer> nestPairN)
-
addSourceFile
public void addSourceFile(java.lang.String source)
Adds a source file path.- Parameters:
source- a source file path.
-
currentClassReferencesInnerClass
public void currentClassReferencesInnerClass(CPClass inner)
-
doBciRenumbering
public void doBciRenumbering(IntList bciRenumbering, java.util.Map<org.objectweb.asm.Label,java.lang.Integer> labelsToOffsets)
-
endOfClass
public void endOfClass()
Called when all the data for the current class has been.- See Also:
Segment.visitEnd()
-
endOfMethod
public void endOfMethod()
Called when all the data for the current method has been.- See Also:
Segment.SegmentMethodVisitor.visitEnd()
-
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.
-
isAnySyntheticClasses
public boolean isAnySyntheticClasses()
Tests whether there are any synthetic classes.- Returns:
- whether there are any synthetic classes.
-
isAnySyntheticFields
public boolean isAnySyntheticFields()
Tests whether there are any synthetic fields.- Returns:
- whether there are any synthetic fields.
-
isAnySyntheticMethods
public boolean isAnySyntheticMethods()
Tests whether there are any synthetic methods.- Returns:
- whether there are any synthetic methods.
-
numClassesProcessed
public int numClassesProcessed()
Gets the number of classes processed.- Returns:
- the number of classes processed.
-
pack
public void pack(java.io.OutputStream out) throws java.io.IOException, Pack200Exception
Description copied from class:BandSetWrites the packed set of bands to the given output stream.- Specified by:
packin classBandSet- Parameters:
out- TODO- Throws:
java.io.IOException- If an I/O error occurs.Pack200Exception- If a Pack200 semantic error occurs.
-
removeCurrentClass
public void removeCurrentClass()
Remove all entries for the current class
-
-