com.judoscript.util.classfile
Class ClassFileWriter
java.lang.Object
com.judoscript.util.classfile.ClassFileWriter
- All Implemented Interfaces:
- ClassFileConsts
public class ClassFileWriter
- extends java.lang.Object
- implements ClassFileConsts
Fields inherited from interface com.judoscript.util.classfile.ClassFileConsts |
CONSTANT_Class, CONSTANT_Double, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_Long, CONSTANT_Methodref, CONSTANT_NameAndType, CONSTANT_Names, CONSTANT_String, CONSTANT_Utf8, instructions, M_CLS, M_CLSVAL, M_FLD, M_IFS, M_ITF, M_JMP, M_LOD, M_MTD, M_NON, M_TYP, M_UNK, M_VAL, M_VAR, M_VARVAL, MAJOR, MINOR, OPCODE_aaload, OPCODE_aastore, OPCODE_aconst_null, OPCODE_aload, OPCODE_aload_0, OPCODE_aload_1, OPCODE_aload_2, OPCODE_aload_3, OPCODE_anewarray, OPCODE_anewarray_quick, OPCODE_areturn, OPCODE_arraylength, OPCODE_astore, OPCODE_astore_0, OPCODE_astore_1, OPCODE_astore_2, OPCODE_astore_3, OPCODE_athrow, OPCODE_baload, OPCODE_bastore, OPCODE_bipush, OPCODE_breakpoint, OPCODE_caload, OPCODE_castore, OPCODE_checkcast, OPCODE_checkcast_quick, OPCODE_d2f, OPCODE_d2i, OPCODE_d2l, OPCODE_dadd, OPCODE_daload, OPCODE_dastore, OPCODE_dcmpg, OPCODE_dcmpl, OPCODE_dconst_0, OPCODE_dconst_1, OPCODE_ddiv, OPCODE_dload, OPCODE_dload_0, OPCODE_dload_1, OPCODE_dload_2, OPCODE_dload_3, OPCODE_dmul, OPCODE_dneg, OPCODE_drem, OPCODE_dreturn, OPCODE_dstore, OPCODE_dstore_0, OPCODE_dstore_1, OPCODE_dstore_2, OPCODE_dstore_3, OPCODE_dsub, OPCODE_dup, OPCODE_dup_x1, OPCODE_dup_x2, OPCODE_dup2, OPCODE_dup2_x1, OPCODE_dup2_x2, OPCODE_f2d, OPCODE_f2i, OPCODE_f2l, OPCODE_fadd, OPCODE_faload, OPCODE_fastore, OPCODE_fcmpg, OPCODE_fcmpl, OPCODE_fconst_0, OPCODE_fconst_1, OPCODE_fconst_2, OPCODE_fdiv, OPCODE_fload, OPCODE_fload_0, OPCODE_fload_1, OPCODE_fload_2, OPCODE_fload_3, OPCODE_fmul, OPCODE_fneg, OPCODE_frem, OPCODE_freturn, OPCODE_fstore, OPCODE_fstore_0, OPCODE_fstore_1, OPCODE_fstore_2, OPCODE_fstore_3, OPCODE_fsub, OPCODE_getfield, OPCODE_getfield_quick, OPCODE_getfield_quick_w, OPCODE_getfield2_quick, OPCODE_getstatic, OPCODE_getstatic_quick, OPCODE_getstatic2_quick, OPCODE_goto, OPCODE_goto_w, OPCODE_i2b, OPCODE_i2c, OPCODE_i2d, OPCODE_i2f, OPCODE_i2l, OPCODE_i2s, OPCODE_iadd, OPCODE_iaload, OPCODE_iand, OPCODE_iastore, OPCODE_iconst_0, OPCODE_iconst_1, OPCODE_iconst_2, OPCODE_iconst_3, OPCODE_iconst_4, OPCODE_iconst_5, OPCODE_iconst_m1, OPCODE_idiv, OPCODE_if_acmpeq, OPCODE_if_acmpne, OPCODE_if_icmpeq, OPCODE_if_icmpge, OPCODE_if_icmpgt, OPCODE_if_icmple, OPCODE_if_icmplt, OPCODE_if_icmpne, OPCODE_ifeq, OPCODE_ifge, OPCODE_ifgt, OPCODE_ifle, OPCODE_iflt, OPCODE_ifne, OPCODE_ifnonnull, OPCODE_ifnull, OPCODE_iinc, OPCODE_iload, OPCODE_iload_0, OPCODE_iload_1, OPCODE_iload_2, OPCODE_iload_3, OPCODE_impdep1, OPCODE_impdep2, OPCODE_imul, OPCODE_ineg, OPCODE_instanceof, OPCODE_instanceof_quick, OPCODE_invokeinterface, OPCODE_invokeinterface_quick, OPCODE_invokenonvirtual_quick, OPCODE_invokespecial, OPCODE_invokestatic, OPCODE_invokestatic_quick, OPCODE_invokesuper_quick, OPCODE_invokevirtual, OPCODE_invokevirtual_quick, OPCODE_invokevirtual_quick_w, OPCODE_invokevirtualobject_quick, OPCODE_ior, OPCODE_irem, OPCODE_ireturn, OPCODE_ishl, OPCODE_ishr, OPCODE_istore, OPCODE_istore_0, OPCODE_istore_1, OPCODE_istore_2, OPCODE_istore_3, OPCODE_isub, OPCODE_iushr, OPCODE_ixor, OPCODE_jsr, OPCODE_jsr_w, OPCODE_l2d, OPCODE_l2f, OPCODE_l2i, OPCODE_ladd, OPCODE_laload, OPCODE_land, OPCODE_lastore, OPCODE_lcmp, OPCODE_lconst_0, OPCODE_lconst_1, OPCODE_ldc, OPCODE_ldc_quick, OPCODE_ldc_w, OPCODE_ldc_w_quick, OPCODE_ldc2_w, OPCODE_ldc2_w_quick, OPCODE_ldiv, OPCODE_lload, OPCODE_lload_0, OPCODE_lload_1, OPCODE_lload_2, OPCODE_lload_3, OPCODE_lmul, OPCODE_lneg, OPCODE_lookupswitch, OPCODE_lor, OPCODE_lrem, OPCODE_lreturn, OPCODE_lshl, OPCODE_lshr, OPCODE_lstore, OPCODE_lstore_0, OPCODE_lstore_1, OPCODE_lstore_2, OPCODE_lstore_3, OPCODE_lsub, OPCODE_lushr, OPCODE_lxor, OPCODE_monitorenter, OPCODE_monitorexit, OPCODE_multianewarray, OPCODE_multianewarray_quick, OPCODE_new, OPCODE_new_quick, OPCODE_newarray, OPCODE_nop, OPCODE_pop, OPCODE_pop2, OPCODE_putfield, OPCODE_putfield_quick, OPCODE_putfield_quick_w, OPCODE_putfield2_quick, OPCODE_putstatic, OPCODE_putstatic_quick, OPCODE_putstatic2_quick, OPCODE_ret, OPCODE_return, OPCODE_saload, OPCODE_sastore, OPCODE_sipush, OPCODE_swap, OPCODE_tableswitch, OPCODE_wide, OPTYPES_NONE, OPTYPES_S2, OPTYPES_S4, OPTYPES_U1, OPTYPES_U1U1, OPTYPES_U2, OPTYPES_U2U1, OPTYPES_U2U1U1, T_S1, T_S2, T_S4, T_U1, T_U2, T_U4, UNDEFINED, UNK, UNKNOWN |
Constructor Summary |
ClassFileWriter(int accesses,
java.lang.String thisclass,
java.lang.Class[] parents)
|
ClassFileWriter(int accesses,
java.lang.String thisclass,
java.lang.String parentclass,
java.lang.Class[] itfs)
|
ClassFileWriter(java.lang.String accesses,
java.lang.String thisclass,
java.lang.String parentclass,
java.lang.Class[] itfs)
|
Method Summary |
void |
addAttr(Attr attr)
|
Member |
addConstructor(int access,
java.lang.Class[] params,
java.lang.Class[] exceptions,
Attr.Code code)
|
Member |
addConstructor(int access,
java.lang.String desc,
java.lang.String[] exceptions,
Attr.Code code)
|
Member |
addConstructor(java.lang.String access,
java.lang.String desc,
java.lang.String[] exceptions,
Attr.Code code)
|
void |
addDefaultCtor()
|
Member |
addField(int access,
java.lang.String desc,
java.lang.String name,
Attr[] attrs)
|
Member |
addField(java.lang.String desc,
java.lang.String name)
|
Member |
addField(java.lang.String access,
java.lang.String desc,
java.lang.String name,
Attr[] attrs)
|
Member |
addMethod(int access,
java.lang.Class retType,
java.lang.Class[] paramTypes,
java.lang.String name,
java.lang.Class[] exceptions,
Attr.Code code)
|
Member |
addMethod(int access,
java.lang.String desc,
java.lang.String name,
java.lang.String[] exceptions,
Attr.Code code)
|
Member |
addMethod(java.lang.String access,
java.lang.String desc,
java.lang.String name,
java.lang.String[] exceptions,
Attr.Code code)
|
Member |
addStaticInit(Attr.Code code)
|
int |
cpClass(java.lang.String name)
|
int |
cpDouble(double d)
|
int |
cpFieldRef(java.lang.String className,
java.lang.String name,
java.lang.String type)
|
int |
cpFloat(float f)
|
int |
cpInt(int i)
|
int |
cpInterfaceMethodRef(java.lang.String className,
java.lang.String name,
java.lang.String type)
|
int |
cpLong(long l)
|
int |
cpMethodRef(java.lang.String className,
java.lang.String name,
java.lang.String type)
|
int |
cpNameAndType(java.lang.String name,
java.lang.String type)
|
int |
cpString(java.lang.String text)
|
int |
cpUtf8(java.lang.String text)
|
java.lang.String |
getCPClassName(int idx)
|
java.lang.String |
getCPString(int idx)
|
int |
getFieldRef(java.lang.String name)
|
void |
helloWorld()
|
java.lang.Class |
toClass()
|
void |
write(java.io.OutputStream os)
|
void |
write(java.lang.String fname)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
className
public java.lang.String className
ClassFileWriter
public ClassFileWriter(java.lang.String accesses,
java.lang.String thisclass,
java.lang.String parentclass,
java.lang.Class[] itfs)
ClassFileWriter
public ClassFileWriter(int accesses,
java.lang.String thisclass,
java.lang.String parentclass,
java.lang.Class[] itfs)
ClassFileWriter
public ClassFileWriter(int accesses,
java.lang.String thisclass,
java.lang.Class[] parents)
addField
public Member addField(java.lang.String desc,
java.lang.String name)
addField
public Member addField(int access,
java.lang.String desc,
java.lang.String name,
Attr[] attrs)
addField
public Member addField(java.lang.String access,
java.lang.String desc,
java.lang.String name,
Attr[] attrs)
getFieldRef
public int getFieldRef(java.lang.String name)
throws BadClassFormatException
- Throws:
BadClassFormatException
addMethod
public Member addMethod(java.lang.String access,
java.lang.String desc,
java.lang.String name,
java.lang.String[] exceptions,
Attr.Code code)
addMethod
public Member addMethod(int access,
java.lang.String desc,
java.lang.String name,
java.lang.String[] exceptions,
Attr.Code code)
addMethod
public Member addMethod(int access,
java.lang.Class retType,
java.lang.Class[] paramTypes,
java.lang.String name,
java.lang.Class[] exceptions,
Attr.Code code)
addConstructor
public Member addConstructor(int access,
java.lang.Class[] params,
java.lang.Class[] exceptions,
Attr.Code code)
addConstructor
public Member addConstructor(java.lang.String access,
java.lang.String desc,
java.lang.String[] exceptions,
Attr.Code code)
addConstructor
public Member addConstructor(int access,
java.lang.String desc,
java.lang.String[] exceptions,
Attr.Code code)
addStaticInit
public Member addStaticInit(Attr.Code code)
addAttr
public void addAttr(Attr attr)
toClass
public java.lang.Class toClass()
write
public void write(java.lang.String fname)
throws java.io.IOException
- Throws:
java.io.IOException
write
public void write(java.io.OutputStream os)
throws java.io.IOException
- Throws:
java.io.IOException
getCPString
public java.lang.String getCPString(int idx)
getCPClassName
public java.lang.String getCPClassName(int idx)
cpUtf8
public int cpUtf8(java.lang.String text)
cpInt
public int cpInt(int i)
cpLong
public int cpLong(long l)
cpFloat
public int cpFloat(float f)
cpDouble
public int cpDouble(double d)
cpString
public int cpString(java.lang.String text)
cpClass
public int cpClass(java.lang.String name)
cpNameAndType
public int cpNameAndType(java.lang.String name,
java.lang.String type)
cpFieldRef
public int cpFieldRef(java.lang.String className,
java.lang.String name,
java.lang.String type)
cpMethodRef
public int cpMethodRef(java.lang.String className,
java.lang.String name,
java.lang.String type)
cpInterfaceMethodRef
public int cpInterfaceMethodRef(java.lang.String className,
java.lang.String name,
java.lang.String type)
addDefaultCtor
public void addDefaultCtor()
helloWorld
public void helloWorld()