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_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 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 void
addAnnotation(int context, java.lang.String desc, boolean visible, java.util.List nameRU, java.util.List t, java.util.List values, java.util.List caseArrayN, java.util.List nestTypeRS, java.util.List nestNameRU, java.util.List nestPairN)
void
addAnnotationDefault(java.util.List nameRU, java.util.List t, java.util.List values, java.util.List caseArrayN, java.util.List nestTypeRS, java.util.List nestNameRU, java.util.List nestPairN)
void
addClass(int major, int flags, java.lang.String className, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
void
addClassAttribute(NewAttribute attribute)
void
addCode()
void
addCodeAttribute(NewAttribute attribute)
void
addEnclosingMethod(java.lang.String owner, java.lang.String name, java.lang.String desc)
void
addField(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
void
addFieldAttribute(NewAttribute attribute)
void
addHandler(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, java.lang.String type)
void
addLineNumber(int line, org.objectweb.asm.Label start)
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)
void
addMaxStack(int maxStack, int maxLocals)
void
addMethod(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
void
addMethodAttribute(NewAttribute attribute)
void
addParameterAnnotation(int parameter, java.lang.String desc, boolean visible, java.util.List nameRU, java.util.List t, java.util.List values, java.util.List caseArrayN, java.util.List nestTypeRS, java.util.List nestNameRU, java.util.List nestPairN)
void
addSourceFile(java.lang.String source)
protected static int
countArgs(java.lang.String descriptor)
void
currentClassReferencesInnerClass(CPClass inner)
void
doBciRenumbering(IntList bciRenumbering, java.util.Map labelsToOffsets)
void
endOfClass()
void
endOfMethod()
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.boolean
isAnySyntheticClasses()
boolean
isAnySyntheticFields()
boolean
isAnySyntheticMethods()
int
numClassesProcessed()
void
pack(java.io.OutputStream out)
Write the packed set of bands to the given output streamvoid
removeCurrentClass()
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
-
addClass
public void addClass(int major, int flags, java.lang.String className, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
-
currentClassReferencesInnerClass
public void currentClassReferencesInnerClass(CPClass inner)
-
addField
public void addField(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
-
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.
-
pack
public void pack(java.io.OutputStream out) throws java.io.IOException, Pack200Exception
Description copied from class:BandSet
Write the packed set of bands to the given output stream- Specified by:
pack
in classBandSet
- Parameters:
out
- TODO- Throws:
java.io.IOException
- If an I/O error occurs.Pack200Exception
- TODO
-
addMethod
public void addMethod(int flags, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
-
endOfMethod
public void endOfMethod()
-
countArgs
protected static int countArgs(java.lang.String descriptor)
-
endOfClass
public void endOfClass()
-
addSourceFile
public void addSourceFile(java.lang.String source)
-
addEnclosingMethod
public void addEnclosingMethod(java.lang.String owner, java.lang.String name, java.lang.String desc)
-
addClassAttribute
public void addClassAttribute(NewAttribute attribute)
-
addFieldAttribute
public void addFieldAttribute(NewAttribute attribute)
-
addMethodAttribute
public void addMethodAttribute(NewAttribute attribute)
-
addCodeAttribute
public void addCodeAttribute(NewAttribute attribute)
-
addMaxStack
public void addMaxStack(int maxStack, int maxLocals)
-
addCode
public void addCode()
-
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)
-
doBciRenumbering
public void doBciRenumbering(IntList bciRenumbering, java.util.Map labelsToOffsets)
-
isAnySyntheticClasses
public boolean isAnySyntheticClasses()
-
isAnySyntheticFields
public boolean isAnySyntheticFields()
-
isAnySyntheticMethods
public boolean isAnySyntheticMethods()
-
addParameterAnnotation
public void addParameterAnnotation(int parameter, java.lang.String desc, boolean visible, java.util.List nameRU, java.util.List t, java.util.List values, java.util.List caseArrayN, java.util.List nestTypeRS, java.util.List nestNameRU, java.util.List nestPairN)
-
addAnnotation
public void addAnnotation(int context, java.lang.String desc, boolean visible, java.util.List nameRU, java.util.List t, java.util.List values, java.util.List caseArrayN, java.util.List nestTypeRS, java.util.List nestNameRU, java.util.List nestPairN)
-
addAnnotationDefault
public void addAnnotationDefault(java.util.List nameRU, java.util.List t, java.util.List values, java.util.List caseArrayN, java.util.List nestTypeRS, java.util.List nestNameRU, java.util.List nestPairN)
-
removeCurrentClass
public void removeCurrentClass()
Remove all entries for the current class
-
numClassesProcessed
public int numClassesProcessed()
-
-