class ClassData extends MemberData
Modifier and Type | Class and Description |
---|---|
private static class |
ClassData.CDOutputStream
This is a wrapper for DataOutputStream, used for debugging purposes.
|
Modifier and Type | Field and Description |
---|---|
(package private) DataVectorAttr<BootstrapMethodData> |
bootstrapMethodsAttr |
ClassData.CDOutputStream |
cdos |
(package private) CFVersion |
cfv |
(package private) MethodData |
curMethod |
private static java.lang.String |
DEFAULT_EXTENSION |
(package private) Environment |
env |
(package private) ConstantPool.ConstCell |
father |
(package private) java.util.ArrayList<FieldData> |
fields |
(package private) java.lang.String |
fileExtension |
(package private) static char |
fileSeparator |
(package private) DataVectorAttr<InnerClassData> |
innerClasses |
(package private) java.util.ArrayList<Argument> |
interfaces |
(package private) ConstantPool.ConstCell |
me |
(package private) java.util.ArrayList<MethodData> |
methods |
(package private) ModuleAttr |
moduleAttribute |
(package private) java.lang.String |
myClassName |
(package private) CPXAttr |
nestHostAttr |
(package private) NestMembersAttr |
nestMembersAttr |
private PermittedSubclassesAttr |
permittedSubclassesAttr |
protected ConstantPool |
pool |
private RecordData |
recordData |
(package private) AttrData |
sourceFileNameAttr |
access, annotAttrInv, annotAttrVis, cls, deprecatedAttr, signatureAttr, syntheticAttr, type_annotAttrInv, type_annotAttrVis
Constructor and Description |
---|
ClassData(Environment env,
CFVersion cfv)
canonical default constructor
|
addAnnotations, createPseudoMod, getDataVector, init, setSignatureAttr
CFVersion cfv
ConstantPool.ConstCell me
ConstantPool.ConstCell father
java.lang.String myClassName
AttrData sourceFileNameAttr
java.util.ArrayList<Argument> interfaces
java.util.ArrayList<FieldData> fields
java.util.ArrayList<MethodData> methods
DataVectorAttr<InnerClassData> innerClasses
DataVectorAttr<BootstrapMethodData> bootstrapMethodsAttr
CPXAttr nestHostAttr
NestMembersAttr nestMembersAttr
private RecordData recordData
private PermittedSubclassesAttr permittedSubclassesAttr
ModuleAttr moduleAttribute
Environment env
protected ConstantPool pool
private static final java.lang.String DEFAULT_EXTENSION
java.lang.String fileExtension
public ClassData.CDOutputStream cdos
MethodData curMethod
static char fileSeparator
public ClassData(Environment env, CFVersion cfv)
env
- The error reporting environment.cfv
- The class file version that this class file supports.public final void init(int access, ConstantPool.ConstCell me, ConstantPool.ConstCell father, java.util.ArrayList<Argument> interfaces)
me
- The constant pool reference to this classfather
- The constant pool reference to the super classinterfaces
- A list of interfaces that this class implementspublic final void initAsModule()
public final boolean isInterface()
protected void relinkBootstrapMethods()
protected void numberBootstrapMethods()
public RecordData setRecord(int where)
public void rejectRecord()
public ConstantPool.ConstValue_Pair mkNape(ConstantPool.ConstCell name, ConstantPool.ConstCell sig)
public ConstantPool.ConstValue_Pair mkNape(java.lang.String name, java.lang.String sig)
public FieldData addFieldIfAbsent(int access, ConstantPool.ConstCell name, ConstantPool.ConstCell sig)
private FieldData getField(ConstantPool.ConstValue_Pair nape)
public FieldData addField(int access, ConstantPool.ConstValue_Pair nape)
public FieldData addField(int access, ConstantPool.ConstCell name, ConstantPool.ConstCell sig)
public FieldData addField(int access, java.lang.String name, java.lang.String type)
public ConstantPool.ConstCell LocalFieldRef(FieldData field)
public ConstantPool.ConstCell LocalFieldRef(ConstantPool.ConstValue nape)
public ConstantPool.ConstCell LocalFieldRef(ConstantPool.ConstCell name, ConstantPool.ConstCell sig)
public ConstantPool.ConstCell LocalFieldRef(java.lang.String name, java.lang.String sig)
public MethodData StartMethod(int access, ConstantPool.ConstCell name, ConstantPool.ConstCell sig, java.util.ArrayList exc_table)
public void EndMethod()
public ConstantPool.ConstCell LocalMethodRef(ConstantPool.ConstValue nape)
public ConstantPool.ConstCell LocalMethodRef(ConstantPool.ConstCell name, ConstantPool.ConstCell sig)
void addLocVarData(int opc, Argument arg)
public void addInnerClass(int access, ConstantPool.ConstCell name, ConstantPool.ConstCell innerClass, ConstantPool.ConstCell outerClass)
public void addBootstrapMethod(BootstrapMethodData bsmData)
public void addNestHost(ConstantPool.ConstCell hostClass)
public void addNestMembers(java.util.List<ConstantPool.ConstCell> classes)
public void addPermittedSubclasses(java.util.List<ConstantPool.ConstCell> classes)
public void endClass()
public void endModule(ModuleAttr moduleAttr)
private void printInnerClasses()
public void write(CheckedDataOutputStream out) throws java.io.IOException
java.io.IOException
protected DataVector getAttrVector()
getAttrVector
in class MemberData
public void write(java.io.File destdir) throws java.io.IOException
java.io.IOException
public void setByteLimit(int bytelimit)
public boolean nestHostAttributeExists()
public boolean nestMembersAttributesExist()
public boolean permittedSubclassesAttributesExist()
public boolean recordAttributeExists()