|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.InputStream java.io.ByteArrayInputStream org.apache.axis2.description.java2wsdl.bytecode.ClassReader
public class ClassReader
This is the class file reader for obtaining the parameter names for declared methods in a class. The class must have debugging attributes for us to obtain this information.
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.
don't get tricky, it's the bare minimum. Instances of this class are not threadsafe -- don't share them.
Field Summary |
---|
Fields inherited from class java.io.ByteArrayInputStream |
---|
buf, count, mark, pos |
Constructor Summary | |
---|---|
protected |
ClassReader(byte[] buf,
java.util.Map attrMethods)
|
Method Summary | |
---|---|
protected static java.util.Map |
findAttributeReaders(java.lang.Class c)
|
protected static byte[] |
getBytes(java.lang.Class c)
Loads 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()
Reads an attributes array. |
void |
readCode()
Reads 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 org.apache.axis2.description.java2wsdl.bytecode.ClassReader.NameAndType |
resolveNameAndType(int i)
|
protected java.lang.String |
resolveUtf8(int i)
|
protected void |
skipAttributes()
|
protected void |
skipFully(int n)
Skips n bytes in the input stream. |
Methods inherited from class java.io.ByteArrayInputStream |
---|
available, close, mark, markSupported, read, read, reset, skip |
Methods inherited from class java.io.InputStream |
---|
read |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected ClassReader(byte[] buf, java.util.Map attrMethods)
Method Detail |
---|
protected static byte[] getBytes(java.lang.Class c) throws java.io.IOException
c
- the class of interest
java.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 org.apache.axis2.description.java2wsdl.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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |