public class ClassReader
extends java.io.ByteArrayInputStream
This does not work for inherited methods. To obtain parameter names for inherited methods, you must use a paramReader for the class that originally declared the method.
Modifier | Constructor and Description |
---|---|
protected |
ClassReader(byte[] buf,
java.util.Map attrMethods) |
Modifier and Type | Method and Description |
---|---|
protected static java.util.Map |
findAttributeReaders(java.lang.Class c) |
protected static byte[] |
getBytes(java.lang.Class c)
load the bytecode for a given class, by using the class's defining
classloader and assuming that for a class named P.C, the bytecodes are in
a resource named /P/C.class.
|
protected static java.lang.String |
getSignature(java.lang.reflect.Member method,
java.lang.Class[] paramTypes) |
protected void |
readAttributes()
read an attributes array.
|
void |
readCode()
read a code attribute
|
protected void |
readCpool() |
protected int |
readInt() |
protected int |
readShort() |
protected java.lang.Class |
resolveClass(int i) |
protected java.lang.reflect.Field |
resolveField(int i) |
protected java.lang.reflect.Member |
resolveMethod(int index) |
protected psdi.iface.webservices.action.bytecode.ClassReader.NameAndType |
resolveNameAndType(int i) |
protected java.lang.String |
resolveUtf8(int i) |
protected void |
skipAttributes() |
protected void |
skipFully(int n)
skip n bytes in the input stream.
|
protected static byte[] getBytes(java.lang.Class c) throws java.io.IOException
c
- the class of interestjava.io.IOException
protected static java.util.Map findAttributeReaders(java.lang.Class c)
protected static java.lang.String getSignature(java.lang.reflect.Member method, java.lang.Class[] paramTypes)
protected final int readShort()
protected final int readInt()
protected void skipFully(int n) throws java.io.IOException
java.io.IOException
protected final java.lang.reflect.Member resolveMethod(int index) throws java.io.IOException, java.lang.ClassNotFoundException, java.lang.NoSuchMethodException
java.io.IOException
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException
protected final java.lang.reflect.Field resolveField(int i) throws java.io.IOException, java.lang.ClassNotFoundException, java.lang.NoSuchFieldException
java.io.IOException
java.lang.ClassNotFoundException
java.lang.NoSuchFieldException
protected final psdi.iface.webservices.action.bytecode.ClassReader.NameAndType resolveNameAndType(int i) throws java.io.IOException
java.io.IOException
protected final java.lang.Class resolveClass(int i) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected final java.lang.String resolveUtf8(int i) throws java.io.IOException
java.io.IOException
protected final void readCpool() throws java.io.IOException
java.io.IOException
protected final void skipAttributes() throws java.io.IOException
java.io.IOException
protected final void readAttributes() throws java.io.IOException
java.io.IOException
public void readCode() throws java.io.IOException
java.io.IOException