pnuts.compiler
Class ClassFile
java.lang.Object
|
+--pnuts.compiler.ClassFile
- All Implemented Interfaces:
- Constants
- public class ClassFile
- extends java.lang.Object
- implements Constants
This class provides a way of making Java class file image.
Fields inherited from interface pnuts.compiler.Constants |
ACC_ABSTRACT, ACC_FINAL, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_Class, CONSTANT_Double, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_Long, CONSTANT_Methodref, CONSTANT_NameAndType, CONSTANT_String, CONSTANT_Utf8 |
Constructor Summary |
ClassFile(java.lang.String thisClass,
java.lang.String superClass,
java.lang.String sourceFile,
short accessFlags)
|
Method Summary |
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)
|
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 |
addInterface(java.lang.String interfaceName)
|
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 |
push()
|
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
parent
public ClassFile parent
ClassFile
public ClassFile(java.lang.String thisClass,
java.lang.String superClass,
java.lang.String sourceFile,
short accessFlags)
getClassName
public java.lang.String getClassName()
codeSize
public int codeSize()
addInterface
public void addInterface(java.lang.String interfaceName)
addField
public void addField(java.lang.String fieldName,
java.lang.String type,
short accessFlags)
addConstant
public short addConstant(java.lang.String value)
addConstant
public void addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
short valueIndex)
addConstant
public void addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
int value)
addConstant
public void addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
long value)
addConstant
public void addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
double value)
addConstant
public void addConstant(java.lang.String fieldName,
java.lang.String type,
short flags,
java.lang.String value)
openMethod
public void openMethod(java.lang.String methodName,
java.lang.String type,
short flag)
closeMethod
public void closeMethod()
add
public void add(byte opcode)
getLabel
public Label getLabel()
getLabel
public Label getLabel(boolean fixed)
declareLocal
public int declareLocal()
getLocal
public int getLocal()
freeLocal
public void freeLocal(int index)
istoreLocal
public void istoreLocal(int index)
iloadLocal
public void iloadLocal(int index)
lloadLocal
public void lloadLocal(int index)
floadLocal
public void floadLocal(int index)
dloadLocal
public void dloadLocal(int index)
loadLocal
public void loadLocal(int index)
storeLocal
public void storeLocal(int index)
add
public void add(byte opcode,
Label label)
add
public void add(byte opcode,
int operand)
add
public void add(byte opcode,
int operand1,
int operand2)
add
public void add(byte opcode,
java.lang.String className)
add
public void add(byte opcode,
java.lang.String className,
java.lang.String fieldName,
java.lang.String fieldType)
add
public void add(byte opcode,
java.lang.String className,
java.lang.String methodName,
java.lang.String parametersType,
java.lang.String returnType)
push
public void push()
sizeOfReturn
public static final int sizeOfReturn(java.lang.String sig)
sizeOfParameters
public static final int sizeOfParameters(java.lang.String sig)
addExceptionHandler
public void addExceptionHandler(Label startLabel,
Label endLabel,
Label handlerLabel,
java.lang.String catchClassName)
write
public void write(java.io.OutputStream stream)
throws java.io.IOException
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object