1 /* http://j2s.sf.net/ */Clazz.load(null,"java.lang.Void",["java.lang.RuntimeException"],function(){
\r
2 c$=Clazz.declareType(java.lang,"Void");
\r
3 Clazz.defineStatics(c$,
\r
6 java.lang.Void.TYPE=java.lang.Void;
\r
8 Clazz.declareInterface(java.lang.reflect,"GenericDeclaration");
\r
9 Clazz.declareInterface(java.lang.reflect,"AnnotatedElement");
\r
10 Clazz.load(["java.lang.reflect.AnnotatedElement"],"java.lang.reflect.AccessibleObject",null,function(){
\r
11 c$=Clazz.declareType(java.lang.reflect,"AccessibleObject",null,java.lang.reflect.AnnotatedElement);
\r
12 Clazz.makeConstructor(c$,
\r
15 Clazz.defineMethod(c$,"isAccessible",
\r
19 c$.setAccessible=Clazz.defineMethod(c$,"setAccessible",
\r
20 function(objects,flag){
\r
23 Clazz.defineMethod(c$,"setAccessible",
\r
27 Clazz.overrideMethod(c$,"isAnnotationPresent",
\r
28 function(annotationType){
\r
31 Clazz.overrideMethod(c$,"getDeclaredAnnotations",
\r
33 return new Array(0);
\r
35 Clazz.overrideMethod(c$,"getAnnotations",
\r
37 return new Array(0);
\r
39 Clazz.overrideMethod(c$,"getAnnotation",
\r
40 function(annotationType){
\r
43 c$.marshallArguments=Clazz.defineMethod(c$,"marshallArguments",
\r
44 function(parameterTypes,args){
\r
47 Clazz.defineMethod(c$,"invokeV",
\r
48 function(receiver,args){
\r
51 Clazz.defineMethod(c$,"invokeL",
\r
52 function(receiver,args){
\r
55 Clazz.defineMethod(c$,"invokeI",
\r
56 function(receiver,args){
\r
59 Clazz.defineMethod(c$,"invokeJ",
\r
60 function(receiver,args){
\r
63 Clazz.defineMethod(c$,"invokeF",
\r
64 function(receiver,args){
\r
67 Clazz.defineMethod(c$,"invokeD",
\r
68 function(receiver,args){
\r
71 c$.emptyArgs=c$.prototype.emptyArgs=new Array(0);
\r
73 Clazz.declareInterface(java.lang.reflect,"InvocationHandler");
\r
74 c$=Clazz.declareInterface(java.lang.reflect,"Member");
\r
75 Clazz.defineStatics(c$,
\r
78 Clazz.load(null,"java.lang.reflect.Modifier",["java.lang.reflect.Method"],function(){
\r
79 c$=Clazz.declareType(java.lang.reflect,"Modifier");
\r
80 Clazz.makeConstructor(c$,
\r
83 c$.isAbstract=Clazz.defineMethod(c$,"isAbstract",
\r
84 function(modifiers){
\r
85 return((modifiers&1024)!=0);
\r
87 c$.isFinal=Clazz.defineMethod(c$,"isFinal",
\r
88 function(modifiers){
\r
89 return((modifiers&16)!=0);
\r
91 c$.isInterface=Clazz.defineMethod(c$,"isInterface",
\r
92 function(modifiers){
\r
93 return((modifiers&512)!=0);
\r
95 c$.isNative=Clazz.defineMethod(c$,"isNative",
\r
96 function(modifiers){
\r
97 return((modifiers&256)!=0);
\r
99 c$.isPrivate=Clazz.defineMethod(c$,"isPrivate",
\r
100 function(modifiers){
\r
101 return((modifiers&2)!=0);
\r
103 c$.isProtected=Clazz.defineMethod(c$,"isProtected",
\r
104 function(modifiers){
\r
105 return((modifiers&4)!=0);
\r
107 c$.isPublic=Clazz.defineMethod(c$,"isPublic",
\r
108 function(modifiers){
\r
109 return((modifiers&1)!=0);
\r
111 c$.isStatic=Clazz.defineMethod(c$,"isStatic",
\r
112 function(modifiers){
\r
113 return((modifiers&8)!=0);
\r
115 c$.isStrict=Clazz.defineMethod(c$,"isStrict",
\r
116 function(modifiers){
\r
117 return((modifiers&2048)!=0);
\r
119 c$.isSynchronized=Clazz.defineMethod(c$,"isSynchronized",
\r
120 function(modifiers){
\r
121 return((modifiers&32)!=0);
\r
123 c$.isTransient=Clazz.defineMethod(c$,"isTransient",
\r
124 function(modifiers){
\r
125 return((modifiers&128)!=0);
\r
127 c$.isVolatile=Clazz.defineMethod(c$,"isVolatile",
\r
128 function(modifiers){
\r
129 return((modifiers&64)!=0);
\r
131 c$.toString=Clazz.defineMethod(c$,"toString",
\r
132 function(modifiers){
\r
133 var sb=new Array(0);
\r
134 if(java.lang.reflect.Modifier.isPublic(modifiers))sb[sb.length]="public";
\r
135 if(java.lang.reflect.Modifier.isProtected(modifiers))sb[sb.length]="protected";
\r
136 if(java.lang.reflect.Modifier.isPrivate(modifiers))sb[sb.length]="private";
\r
137 if(java.lang.reflect.Modifier.isAbstract(modifiers))sb[sb.length]="abstract";
\r
138 if(java.lang.reflect.Modifier.isStatic(modifiers))sb[sb.length]="static";
\r
139 if(java.lang.reflect.Modifier.isFinal(modifiers))sb[sb.length]="final";
\r
140 if(java.lang.reflect.Modifier.isTransient(modifiers))sb[sb.length]="transient";
\r
141 if(java.lang.reflect.Modifier.isVolatile(modifiers))sb[sb.length]="volatile";
\r
142 if(java.lang.reflect.Modifier.isSynchronized(modifiers))sb[sb.length]="synchronized";
\r
143 if(java.lang.reflect.Modifier.isNative(modifiers))sb[sb.length]="native";
\r
144 if(java.lang.reflect.Modifier.isStrict(modifiers))sb[sb.length]="strictfp";
\r
145 if(java.lang.reflect.Modifier.isInterface(modifiers))sb[sb.length]="interface";
\r
147 return sb.join(" ");
\r
150 Clazz.defineStatics(c$,
\r
156 "SYNCHRONIZED",0x20,
\r
165 "SYNTHETIC",0x1000,
\r
166 "ANNOTATION",0x2000,
\r
169 Clazz.load(["java.lang.reflect.AccessibleObject","$.GenericDeclaration","$.Member","java.lang.Void"],"java.lang.reflect.Constructor",null,function(){
\r
170 c$=Clazz.decorateAsClass(function(){
\r
172 this.parameterTypes=null;
\r
173 this.exceptionTypes=null;
\r
175 Clazz.instantialize(this,arguments);
\r
176 },java.lang.reflect,"Constructor",java.lang.reflect.AccessibleObject,[java.lang.reflect.GenericDeclaration,java.lang.reflect.Member]);
\r
177 Clazz.makeConstructor(c$,
\r
178 function(declaringClass,parameterTypes,checkedExceptions,modifiers){
\r
179 Clazz.superConstructor(this,java.lang.reflect.Constructor,[]);
\r
180 this.clazz=declaringClass;
\r
181 this.parameterTypes=parameterTypes;
\r
182 this.exceptionTypes=checkedExceptions;
\r
183 this.modifiers=modifiers;
\r
184 },"Class,~A,~A,~N");
\r
185 Clazz.overrideMethod(c$,"getTypeParameters",
\r
189 Clazz.defineMethod(c$,"toGenericString",
\r
193 Clazz.defineMethod(c$,"getGenericParameterTypes",
\r
197 Clazz.defineMethod(c$,"getGenericExceptionTypes",
\r
201 Clazz.defineMethod(c$,"getParameterAnnotations",
\r
205 Clazz.defineMethod(c$,"isVarArgs",
\r
209 Clazz.overrideMethod(c$,"isSynthetic",
\r
213 Clazz.overrideMethod(c$,"equals",
\r
215 if(object!=null&&Clazz.instanceOf(object,java.lang.reflect.Constructor)){
\r
217 if(this.getDeclaringClass()===other.getDeclaringClass()){
\r
218 var params1=this.parameterTypes;
\r
219 var params2=other.parameterTypes;
\r
220 if(params1.length==params2.length){
\r
221 for(var i=0;i<params1.length;i++){
\r
222 if(params1[i]!==params2[i])return false;
\r
227 Clazz.overrideMethod(c$,"getDeclaringClass",
\r
231 Clazz.defineMethod(c$,"getExceptionTypes",
\r
233 return this.exceptionTypes;
\r
235 Clazz.overrideMethod(c$,"getModifiers",
\r
237 return this.modifiers;
\r
239 Clazz.overrideMethod(c$,"getName",
\r
241 return this.getDeclaringClass().getName();
\r
243 Clazz.defineMethod(c$,"getParameterTypes",
\r
245 return this.parameterTypes;
\r
247 Clazz.overrideMethod(c$,"hashCode",
\r
249 return this.getDeclaringClass().getName().hashCode();
\r
251 Clazz.defineMethod(c$,"newInstance",
\r
253 var instance=new this.clazz(Clazz.inheritArgs);
\r
254 Clazz.instantialize(instance,args);
\r
257 Clazz.overrideMethod(c$,"toString",
\r
262 Clazz.load(["java.lang.reflect.AccessibleObject","$.Member"],"java.lang.reflect.Field",null,function(){
\r
263 c$=Clazz.declareType(java.lang.reflect,"Field",java.lang.reflect.AccessibleObject,java.lang.reflect.Member);
\r
264 Clazz.overrideMethod(c$,"isSynthetic",
\r
268 Clazz.defineMethod(c$,"toGenericString",
\r
272 Clazz.defineMethod(c$,"isEnumConstant",
\r
276 Clazz.defineMethod(c$,"getGenericType",
\r
280 Clazz.overrideMethod(c$,"equals",
\r
284 Clazz.overrideMethod(c$,"getDeclaringClass",
\r
288 Clazz.overrideMethod(c$,"getName",
\r
292 Clazz.defineMethod(c$,"getType",
\r
296 Clazz.overrideMethod(c$,"hashCode",
\r
300 Clazz.overrideMethod(c$,"toString",
\r
305 Clazz.load(["java.lang.reflect.AccessibleObject","$.GenericDeclaration","$.Member","java.lang.Void"],"java.lang.reflect.Method",null,function(){
\r
306 c$=Clazz.decorateAsClass(function(){
\r
309 this.returnType=null;
\r
310 this.parameterTypes=null;
\r
311 this.exceptionTypes=null;
\r
313 Clazz.instantialize(this,arguments);
\r
314 },java.lang.reflect,"Method",java.lang.reflect.AccessibleObject,[java.lang.reflect.GenericDeclaration,java.lang.reflect.Member]);
\r
315 Clazz.makeConstructor(c$,
\r
316 function(declaringClass,name,parameterTypes,returnType,checkedExceptions,modifiers){
\r
317 Clazz.superConstructor(this,java.lang.reflect.Method,[]);
\r
318 this.clazz=declaringClass;
\r
320 this.parameterTypes=parameterTypes;
\r
321 this.returnType=returnType;
\r
322 this.exceptionTypes=checkedExceptions;
\r
323 this.modifiers=modifiers;
\r
324 },"Class,~S,~A,Class,~A,~N");
\r
325 Clazz.overrideMethod(c$,"getTypeParameters",
\r
329 Clazz.defineMethod(c$,"toGenericString",
\r
333 Clazz.defineMethod(c$,"getGenericParameterTypes",
\r
337 Clazz.defineMethod(c$,"getGenericExceptionTypes",
\r
341 Clazz.defineMethod(c$,"getGenericReturnType",
\r
345 Clazz.defineMethod(c$,"getParameterAnnotations",
\r
349 Clazz.defineMethod(c$,"isVarArgs",
\r
353 Clazz.defineMethod(c$,"isBridge",
\r
357 Clazz.overrideMethod(c$,"isSynthetic",
\r
361 Clazz.defineMethod(c$,"getDefaultValue",
\r
365 Clazz.overrideMethod(c$,"equals",
\r
367 if(object!=null&&Clazz.instanceOf(object,java.lang.reflect.Method)){
\r
369 if((this.getDeclaringClass()===other.getDeclaringClass())&&(this.getName()===other.getName())){
\r
370 var params1=this.parameterTypes;
\r
371 var params2=other.parameterTypes;
\r
372 if(params1.length==params2.length){
\r
373 for(var i=0;i<params1.length;i++){
\r
374 if(params1[i]!==params2[i])return false;
\r
379 Clazz.overrideMethod(c$,"getDeclaringClass",
\r
383 Clazz.defineMethod(c$,"getExceptionTypes",
\r
385 return this.exceptionTypes;
\r
387 Clazz.overrideMethod(c$,"getModifiers",
\r
389 return this.modifiers;
\r
391 Clazz.overrideMethod(c$,"getName",
\r
395 Clazz.defineMethod(c$,"getParameterTypes",
\r
397 return this.parameterTypes;
\r
399 Clazz.defineMethod(c$,"getReturnType",
\r
401 return this.returnType;
\r
403 Clazz.overrideMethod(c$,"hashCode",
\r
405 return this.getDeclaringClass().getName().hashCode()^this.getName().hashCode();
\r
407 Clazz.defineMethod(c$,"invoke",
\r
408 function(receiver,args){
\r
409 var m=this.clazz.prototype[this.getName()];
\r
411 m=this.clazz[this.getName()];
\r
414 m.apply(receiver,args);
\r
419 Clazz.overrideMethod(c$,"toString",
\r