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