public final class ClassFile extends Object implements VMConstants
Modifier and Type | Field and Description |
---|---|
static short[][] |
jdkMajorMinorVersions |
static List |
jdkVersions |
static int |
magic |
static String |
supportedVersions |
ACCAbstract, ACCFinal, ACCInterface, ACCNative, ACCPrivate, ACCProtected, ACCPublic, ACCStatic, ACCSuper, ACCSynchronized, ACCTransient, ACCVolatile, CONSTANTClass, CONSTANTDouble, CONSTANTFieldRef, CONSTANTFloat, CONSTANTInteger, CONSTANTInterfaceMethodRef, CONSTANTLong, CONSTANTMethodRef, CONSTANTNameAndType, CONSTANTString, CONSTANTUnicode, CONSTANTUtf8, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, T_TWOWORD, T_UNKNOWN, T_WORD, TC_INTERFACE, TC_OBJECT, TC_STRING
Constructor and Description |
---|
ClassFile(DataInputStream data)
Construct a ClassFile from an input stream
|
ClassFile(String cname,
String supername)
Construct a bare bones class, ready for additions
|
Modifier and Type | Method and Description |
---|---|
int |
access()
Return the access flags for the class - see VMConstants
|
void |
addField(ClassField field)
Add a field to the list of the fields which the class contains
|
void |
addField(ClassField field,
int index)
Add a field to the list of the fields which the class contains,
at the index'th position.
|
void |
addInterface(ConstClass iface)
Add an interface to the list of the interfaces which the class implements
|
void |
addMethod(ClassMethod method)
Add a method to the list of the methods which the class defines
|
AttributeVector |
attributes()
Return the list of the attributes associated with the class
|
ConstClass |
className()
Return the name of the class
|
Vector |
fields()
Return the list of the fields which the class contains
The contents are ClassField objects
|
ClassField |
findField(String fieldName)
Look for a field with the specified name
|
ClassMethod |
findMethod(String methodName,
String methodSig)
Look for a method with the specified name and type signature
|
byte[] |
getBytes()
Returns a byte array representation of this class.
|
Vector |
interfaces()
Return the list of the interfaces which the class implements
The contents are ConstClass objects
|
boolean |
isAbstract()
Is the class abstract?
|
boolean |
isFinal()
Is the class final?
|
boolean |
isInterface()
Is the class an interface?
|
boolean |
isPublic()
Is the class public?
|
Vector |
methods()
Return the list of the methods which the class defines
The contents are ClassMethod objects
|
ConstantPool |
pool()
Return the constant pool for the class file
|
void |
print(PrintStream out) |
static String |
printSupportedVersions() |
void |
setAccessFlags(int flags)
Set the access flags for the class - see VMConstants
|
void |
setSuperName(ConstClass superCl)
Set the name of the super class
|
void |
summarize() |
ConstClass |
superName()
Return the name of the super class
|
String |
superNameString()
Return the name of the super class as a string
|
void |
write(DataOutputStream buff)
Write the Class file to the data output stream
|
public static final int magic
public static final short[][] jdkMajorMinorVersions
public static final List jdkVersions
public static final String supportedVersions
public ClassFile(DataInputStream data) throws ClassFormatError
ClassFormatError
public ConstantPool pool()
public int access()
public final boolean isFinal()
public final boolean isInterface()
public final boolean isPublic()
public final boolean isAbstract()
public void setAccessFlags(int flags)
public ConstClass className()
public ConstClass superName()
public String superNameString()
public void setSuperName(ConstClass superCl)
public Vector interfaces()
public void addInterface(ConstClass iface)
public Vector fields()
public void addField(ClassField field)
public void addField(ClassField field, int index)
public Vector methods()
public ClassMethod findMethod(String methodName, String methodSig)
public void addMethod(ClassMethod method)
public ClassField findField(String fieldName)
public AttributeVector attributes()
public void write(DataOutputStream buff) throws IOException
IOException
public byte[] getBytes() throws IOException
IOException
public void print(PrintStream out)
public void summarize()
public static final String printSupportedVersions()
Copyright © 2021. All rights reserved.