public class ClassFile
extends java.lang.Object
Constructor and Description |
---|
ClassFile(java.lang.String thisClass,
java.lang.String superClass,
java.lang.String sourceFile,
short accessFlags) |
Modifier and Type | Method and Description |
---|---|
void |
add(byte opcode) |
void |
add(byte opcode,
int operand) |
void |
add(byte opcode,
int operand1,
int operand2) |
void |
add(byte opcode,
Label label) |
void |
add(byte opcode,
java.lang.String className) |
void |
add(byte opcode,
java.lang.String className,
java.lang.String fieldName,
java.lang.String fieldType) |
void |
add(byte opcode,
java.lang.String className,
java.lang.String methodName,
java.lang.String parametersType,
java.lang.String returnType) |
void |
addByte(byte val) |
short |
addConstant(java.lang.String value) |
void |
addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
double value) |
void |
addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
int value) |
void |
addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
long value) |
void |
addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
short valueIndex) |
void |
addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
java.lang.String value) |
void |
addExceptionHandler(Label startLabel,
Label endLabel,
Label handlerLabel,
java.lang.String catchClassName) |
void |
addField(java.lang.String fieldName,
java.lang.String type,
short accessFlags) |
void |
addInt(int ival) |
void |
addInterface(java.lang.String interfaceName) |
void |
addLineNumber(int line) |
void |
closeMethod() |
int |
codeSize() |
int |
declareLocal() |
void |
dloadLocal(int index) |
void |
floadLocal(int index) |
void |
freeLocal(int index) |
java.lang.String |
getClassName() |
Label |
getLabel() |
Label |
getLabel(boolean fixed) |
int |
getLocal() |
void |
iloadLocal(int index) |
void |
istoreLocal(int index) |
void |
lloadLocal(int index) |
void |
loadLocal(int index) |
void |
openMethod(java.lang.String methodName,
java.lang.String type,
short flag) |
void |
openMethod(java.lang.String methodName,
java.lang.String type,
short flag,
java.lang.String[] exceptions) |
void |
pushDouble(double number) |
void |
pushFloat(float number) |
void |
pushInteger(int number) |
void |
pushLong(long number) |
void |
pushString(java.lang.String str) |
void |
reserveStack(int size) |
void |
shift(int offset) |
static java.lang.String |
signature(java.lang.Class clazz) |
static java.lang.String |
signature(java.lang.Class[] paramTypes) |
static int |
sizeOfParameters(java.lang.String sig) |
static int |
sizeOfReturn(java.lang.String sig) |
void |
storeLocal(int index) |
java.lang.String |
toString() |
void |
write(java.io.OutputStream stream) |
public ClassFile parent
public ClassFile(java.lang.String thisClass, java.lang.String superClass, java.lang.String sourceFile, short accessFlags)
public java.lang.String getClassName()
public int codeSize()
public void addInterface(java.lang.String interfaceName)
public void addField(java.lang.String fieldName, java.lang.String type, short accessFlags)
public short addConstant(java.lang.String value)
public void addConstant(java.lang.String fieldName, java.lang.String type, short flags, short valueIndex)
public void addConstant(java.lang.String fieldName, java.lang.String type, short flags, int value)
public void addConstant(java.lang.String fieldName, java.lang.String type, short flags, long value)
public void addConstant(java.lang.String fieldName, java.lang.String type, short flags, double value)
public void addConstant(java.lang.String fieldName, java.lang.String type, short flags, java.lang.String value)
public void openMethod(java.lang.String methodName, java.lang.String type, short flag)
public void openMethod(java.lang.String methodName, java.lang.String type, short flag, java.lang.String[] exceptions)
public void closeMethod()
public void shift(int offset)
public void add(byte opcode)
public void addByte(byte val)
public void addInt(int ival)
public Label getLabel()
public Label getLabel(boolean fixed)
public int declareLocal()
public int getLocal()
public void freeLocal(int index)
public void istoreLocal(int index)
public void iloadLocal(int index)
public void lloadLocal(int index)
public void floadLocal(int index)
public void dloadLocal(int index)
public void loadLocal(int index)
public void storeLocal(int index)
public void add(byte opcode, Label label)
public void pushInteger(int number)
public void pushLong(long number)
public void pushFloat(float number)
public void pushDouble(double number)
public void pushString(java.lang.String str)
public void add(byte opcode, int operand)
public void add(byte opcode, int operand1, int operand2)
public void add(byte opcode, java.lang.String className)
public void add(byte opcode, java.lang.String className, java.lang.String fieldName, java.lang.String fieldType)
public void add(byte opcode, java.lang.String className, java.lang.String methodName, java.lang.String parametersType, java.lang.String returnType)
public void reserveStack(int size)
public static final int sizeOfReturn(java.lang.String sig)
public static final int sizeOfParameters(java.lang.String sig)
public void addExceptionHandler(Label startLabel, Label endLabel, Label handlerLabel, java.lang.String catchClassName)
public void write(java.io.OutputStream stream) throws java.io.IOException
java.io.IOException
public static java.lang.String signature(java.lang.Class[] paramTypes)
public static java.lang.String signature(java.lang.Class clazz)
public void addLineNumber(int line)
public java.lang.String toString()
toString
in class java.lang.Object