public class ClassBands extends BandSet
class_bands
set of bands in the
pack200 specification)BandSet.BandAnalysisResults, BandSet.BandData
segmentHeader
Constructor and Description |
---|
ClassBands(Segment segment,
int numClasses,
int effort,
boolean stripDebug) |
Modifier and Type | Method and Description |
---|---|
void |
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) |
void |
addCode() |
void |
addCodeAttribute(NewAttribute attribute) |
void |
addEnclosingMethod(String owner,
String name,
String desc) |
void |
addField(int flags,
String name,
String desc,
String signature,
Object value) |
void |
addFieldAttribute(NewAttribute 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 |
addMethod(int flags,
String name,
String desc,
String signature,
String[] exceptions) |
void |
addMethodAttribute(NewAttribute 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) |
protected static int |
countArgs(String descriptor) |
void |
currentClassReferencesInnerClass(CPClass inner) |
void |
doBciRenumbering(IntList bciRenumbering,
Map<org.objectweb.asm.Label,Integer> 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(OutputStream out)
Write the packed set of bands to the given output stream
|
void |
removeCurrentClass()
Remove all entries for the current class
|
cpEntryListToArray, cpEntryOrNullListToArray, encodeBandInt, encodeFlags, encodeFlags, encodeScalar, encodeScalar, integerListToArray, longListToArray
public ClassBands(Segment segment, int numClasses, int effort, boolean stripDebug) throws IOException
IOException
public void 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)
public void addAnnotationDefault(List<String> nameRU, List<String> tags, List<Object> values, List<Integer> caseArrayN, List<String> nestTypeRS, List<String> nestNameRU, List<Integer> nestPairN)
public void addClass(int major, int flags, String className, String signature, String superName, String[] interfaces)
public void addClassAttribute(NewAttribute attribute)
public void addCode()
public void addCodeAttribute(NewAttribute attribute)
public void addEnclosingMethod(String owner, String name, String desc)
public void addFieldAttribute(NewAttribute attribute)
public void addHandler(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, String type)
public void addLineNumber(int line, org.objectweb.asm.Label start)
public void addLocalVariable(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int indx)
public void addMaxStack(int maxStack, int maxLocals)
public void addMethod(int flags, String name, String desc, String signature, String[] exceptions)
public void addMethodAttribute(NewAttribute attribute)
public 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)
public void addSourceFile(String source)
public void currentClassReferencesInnerClass(CPClass inner)
public void doBciRenumbering(IntList bciRenumbering, Map<org.objectweb.asm.Label,Integer> labelsToOffsets)
public void endOfClass()
public void endOfMethod()
public void finaliseBands()
public boolean isAnySyntheticClasses()
public boolean isAnySyntheticFields()
public boolean isAnySyntheticMethods()
public int numClassesProcessed()
public void pack(OutputStream out) throws IOException, Pack200Exception
BandSet
pack
in class BandSet
out
- TODOIOException
- If an I/O error occurs.Pack200Exception
- TODOpublic void removeCurrentClass()
Copyright © 2002–2022 The Apache Software Foundation. All rights reserved.