home *** CD-ROM | disk | FTP | other *** search
- package java.lang.reflect;
-
- public final class Method implements Member {
- private Class clazz;
- private int slot;
- private String name;
- private Class returnType;
- private Class[] parameterTypes;
- private Class[] exceptionTypes;
-
- private Method() {
- }
-
- public Class getDeclaringClass() {
- return this.clazz;
- }
-
- public String getName() {
- return this.name;
- }
-
- public native int getModifiers();
-
- public Class getReturnType() {
- return this.returnType;
- }
-
- public Class[] getParameterTypes() {
- return copy(this.parameterTypes);
- }
-
- public Class[] getExceptionTypes() {
- return copy(this.exceptionTypes);
- }
-
- public boolean equals(Object var1) {
- if (var1 != null && var1 instanceof Method) {
- Method var2 = (Method)var1;
- if (this.getDeclaringClass() == var2.getDeclaringClass() && this.getName().equals(var2.getName())) {
- Class[] var3 = this.parameterTypes;
- Class[] var4 = var2.parameterTypes;
- if (var3.length == var4.length) {
- for(int var5 = 0; var5 < var3.length; ++var5) {
- if (var3[var5] != var4[var5]) {
- return false;
- }
- }
-
- return true;
- }
- }
- }
-
- return false;
- }
-
- public int hashCode() {
- return this.getDeclaringClass().getName().hashCode() ^ this.getName().hashCode();
- }
-
- public String toString() {
- try {
- StringBuffer var1 = new StringBuffer();
- int var2 = this.getModifiers();
- if (var2 != 0) {
- var1.append(Modifier.toString(var2) + " ");
- }
-
- var1.append(Field.getTypeName(this.getReturnType()) + " ");
- var1.append(Field.getTypeName(this.getDeclaringClass()) + ".");
- var1.append(this.getName() + "(");
- Class[] var3 = this.parameterTypes;
-
- for(int var4 = 0; var4 < var3.length; ++var4) {
- var1.append(Field.getTypeName(var3[var4]));
- if (var4 < var3.length - 1) {
- var1.append(",");
- }
- }
-
- var1.append(")");
- Class[] var5 = this.exceptionTypes;
- if (var5.length > 0) {
- var1.append(" throws ");
-
- for(int var6 = 0; var6 < var5.length; ++var6) {
- var1.append(var5[var6].getName());
- if (var6 < var5.length - 1) {
- var1.append(",");
- }
- }
- }
-
- return var1.toString();
- } catch (Exception var7) {
- return "<" + var7 + ">";
- }
- }
-
- public native Object invoke(Object var1, Object[] var2) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException;
-
- static Class[] copy(Class[] var0) {
- int var1 = var0.length;
- if (var1 == 0) {
- return var0;
- } else {
- Class[] var2 = new Class[var1];
-
- for(int var3 = 0; var3 < var1; ++var3) {
- var2[var3] = var0[var3];
- }
-
- return var2;
- }
- }
- }
-