1 Clazz.load(["java.lang.reflect.AccessibleObject","$.GenericDeclaration","$.Member","java.lang.Void"],"java.lang.reflect.Method",null,function(){
2 c$=Clazz.decorateAsClass(function(){
6 this.parameterTypes=null;
7 this.exceptionTypes=null;
9 Clazz.instantialize(this,arguments);
10 },java.lang.reflect,"Method",java.lang.reflect.AccessibleObject,[java.lang.reflect.GenericDeclaration,java.lang.reflect.Member]);
11 Clazz.makeConstructor(c$,
12 function(declaringClass,name,parameterTypes,returnType,checkedExceptions,modifiers){
13 Clazz.superConstructor(this,java.lang.reflect.Method,[]);
14 this.clazz=declaringClass;
16 this.parameterTypes=parameterTypes;
17 this.returnType=returnType;
18 this.exceptionTypes=checkedExceptions;
19 this.modifiers=modifiers;
20 },"Class,~S,~A,Class,~A,~N");
21 Clazz.overrideMethod(c$,"getTypeParameters",
25 Clazz.defineMethod(c$,"toGenericString",
29 Clazz.defineMethod(c$,"getGenericParameterTypes",
33 Clazz.defineMethod(c$,"getGenericExceptionTypes",
37 Clazz.defineMethod(c$,"getGenericReturnType",
41 Clazz.defineMethod(c$,"getParameterAnnotations",
45 Clazz.defineMethod(c$,"isVarArgs",
49 Clazz.defineMethod(c$,"isBridge",
53 Clazz.overrideMethod(c$,"isSynthetic",
57 Clazz.defineMethod(c$,"getDefaultValue",
61 Clazz.overrideMethod(c$,"equals",
63 if(object!=null&&Clazz.instanceOf(object,java.lang.reflect.Method)){
65 if((this.getDeclaringClass()===other.getDeclaringClass())&&(this.getName()===other.getName())){
66 var params1=this.parameterTypes;
67 var params2=other.parameterTypes;
68 if(params1.length==params2.length){
69 for(var i=0;i<params1.length;i++){
70 if(params1[i]!==params2[i])return false;
75 Clazz.overrideMethod(c$,"getDeclaringClass",
79 Clazz.defineMethod(c$,"getExceptionTypes",
81 return this.exceptionTypes;
83 Clazz.overrideMethod(c$,"getModifiers",
85 return this.modifiers;
87 Clazz.overrideMethod(c$,"getName",
91 Clazz.defineMethod(c$,"getParameterTypes",
93 return this.parameterTypes;
95 Clazz.defineMethod(c$,"getReturnType",
97 return this.returnType;
99 Clazz.overrideMethod(c$,"hashCode",
101 return this.getDeclaringClass().getName().hashCode()^this.getName().hashCode();
103 Clazz.defineMethod(c$,"invoke",
104 function(receiver,args){
105 var m=this.clazz.prototype[this.getName()];
107 m=this.clazz[this.getName()];
110 m.apply(receiver,args);
115 Clazz.overrideMethod(c$,"toString",