|
Multivalent API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectphelps.lang.reflect.ClassFile
.class file reflection that reports more complete information than java.lang.reflect.
The JavaTM Virtual Machine Specification, Second Edition
by Tim Lindholm and Frank Yellin
STATUS: Doesn't read method exception table, inner classes.
Related work: BIT: Bytecode Instrumenting Tool by Han Lee and Ben Zorn. They determined basic blocks, supported insertion of calls (only; not arbitrary code), and implemented write().
java.lang.reflect
Field Summary | |
---|---|
short |
access_flags
|
Attribute_info[] |
attributes
|
ClassFile |
component
|
Cp_info[] |
constant_pool
|
int |
dimensions
|
Field_info[] |
fields
|
java.lang.String[] |
interfaces
|
static int |
MAGIC
|
short |
major_version
|
Method_info[] |
methods
|
short |
minor_version
|
java.lang.String |
pkg
|
java.lang.String |
super_class
|
java.lang.String |
this_class
|
Constructor Summary | |
---|---|
ClassFile(byte[] bytes)
|
|
ClassFile(ClassFile component,
int dimensions)
For arrays. |
|
ClassFile(java.io.File f)
|
|
ClassFile(java.io.InputStream is)
|
Method Summary | |
---|---|
static java.lang.String |
access2String(int access)
|
static ClassFile |
forName(java.lang.String name)
|
Attribute_info |
getAttribute(Attribute_info[] ai,
java.lang.String name)
|
Method_info[] |
getDeclaredMethods()
|
int |
getModifiers()
|
java.lang.String |
getName()
|
java.lang.String |
getPackage()
|
java.lang.String |
getSuperclass()
|
boolean |
isArray()
|
boolean |
isAssignableFrom(ClassFile subclass)
Returns true if this class is a subclass of superclass. |
boolean |
isPrimitive()
|
protected void |
load()
|
static void |
putPool(ClassFile cf)
Add ClassFile to pool of known classes, for better isAssignableFrom(). |
static int |
sizeof(java.lang.String type)
Don't know sizes of arrays and Objects statically. |
java.lang.String |
toString()
|
static java.lang.String |
type2String(java.lang.String type)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int MAGIC
public short minor_version
public short major_version
public Cp_info[] constant_pool
public short access_flags
public java.lang.String this_class
public java.lang.String super_class
public java.lang.String[] interfaces
public Field_info[] fields
public Method_info[] methods
public Attribute_info[] attributes
public ClassFile component
public int dimensions
public java.lang.String pkg
Constructor Detail |
---|
public ClassFile(ClassFile component, int dimensions)
public ClassFile(java.io.File f) throws java.io.IOException
java.io.IOException
public ClassFile(java.io.InputStream is) throws java.io.IOException
java.io.IOException
public ClassFile(byte[] bytes)
Method Detail |
---|
protected void load()
public int getModifiers()
public java.lang.String getSuperclass()
public java.lang.String getName()
public java.lang.String getPackage()
public Method_info[] getDeclaredMethods()
public static java.lang.String access2String(int access)
public static java.lang.String type2String(java.lang.String type)
public static int sizeof(java.lang.String type)
public Attribute_info getAttribute(Attribute_info[] ai, java.lang.String name)
public java.lang.String toString()
toString
in class java.lang.Object
public boolean isAssignableFrom(ClassFile subclass)
putPool(ClassFile)
.
public boolean isArray()
public boolean isPrimitive()
public static ClassFile forName(java.lang.String name)
public static void putPool(ClassFile cf)
|
Multivalent API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |