1 c$=Clazz.decorateAsClass(function(){
\r
2 this.detailMessage=null;
\r
4 this.stackTrace=null;
\r
5 Clazz.instantialize(this,arguments);
\r
6 },java.lang,"Throwable",null,java.io.Serializable);
\r
7 Clazz.prepareFields(c$,function(){
\r
10 Clazz.makeConstructor(c$,
\r
12 this.fillInStackTrace();
\r
14 Clazz.makeConstructor(c$,
\r
16 this.fillInStackTrace();
\r
17 this.detailMessage=message;
\r
19 Clazz.makeConstructor(c$,
\r
20 function(message,cause){
\r
21 this.fillInStackTrace();
\r
22 this.detailMessage=message;
\r
25 Clazz.makeConstructor(c$,
\r
27 this.fillInStackTrace();
\r
28 this.detailMessage=(cause==null?null:cause.toString());
\r
31 Clazz.defineMethod(c$,"getMessage",
\r
34 if(typeof this.message!="undefined"){
\r
35 return this.message;
\r
37 }return this.detailMessage;
\r
39 Clazz.defineMethod(c$,"getLocalizedMessage",
\r
41 return this.getMessage();
\r
43 Clazz.defineMethod(c$,"getCause",
\r
45 return(this.cause===this?null:this.cause);
\r
47 Clazz.defineMethod(c$,"initCause",
\r
49 if(this.cause!==this)throw new IllegalStateException("Can't overwrite cause");
\r
50 if(cause===this)throw new IllegalArgumentException("Self-causation not permitted");
\r
54 Clazz.overrideMethod(c$,"toString",
\r
56 var s=this.getClass().getName();
\r
57 var message=this.getLocalizedMessage();
\r
58 return(message!=null)?(s+": "+message):s;
\r
60 Clazz.defineMethod(c$,"printStackTrace",
\r
62 System.err.println(this);
\r
63 for(var i=0;i<this.stackTrace.length;i++){
\r
64 var t=this.stackTrace[i];
\r
65 var x=t.methodName.indexOf("(");
\r
66 var n=t.methodName.substring(0,x).replace(/\s+/g,"");
\r
67 if(n!="construct"||t.nativeClazz==null
\r
68 ||Clazz.getInheritedLevel(t.nativeClazz,Throwable)<0){
\r
69 System.err.println(t);
\r
73 Clazz.defineMethod(c$,"printStackTrace",
\r
75 this.printStackTrace();
\r
76 },"java.io.PrintStream");
\r
77 Clazz.defineMethod(c$,"printStackTrace",
\r
79 this.printStackTrace();
\r
80 },"java.io.PrintWriter");
\r
81 Clazz.defineMethod(c$,"fillInStackTrace",
\r
83 this.stackTrace=new Array();
\r
84 var caller=arguments.callee.caller;
\r
85 var superCaller=null;
\r
86 var callerList=new Array();
\r
87 var index=Clazz.callingStackTraces.length-1;
\r
89 while(index>-1||caller!=null){
\r
91 var nativeClazz=null;
\r
92 if(!noLooping||caller==Clazz.tryToSearchAndExecute||caller==Clazz.superCall||caller==null){
\r
97 superCaller=Clazz.callingStackTraces[index].caller;
\r
98 nativeClazz=Clazz.callingStackTraces[index].owner;
\r
101 superCaller=caller;
\r
102 if(superCaller.claxxOwner!=null){
\r
103 nativeClazz=superCaller.claxxOwner;
\r
104 }else if(superCaller.exClazz!=null){
\r
105 nativeClazz=superCaller.exClazz;
\r
108 var st=new StackTraceElement(
\r
109 ((nativeClazz!=null&&nativeClazz.__CLASS_NAME__.length!=0)?
\r
110 nativeClazz.__CLASS_NAME__:"anonymous"),
\r
111 ((superCaller.exName==null)?"anonymous":superCaller.exName)
\r
112 +" ("+Clazz.getParamsType(superCaller.arguments)+")",
\r
114 st.nativeClazz=nativeClazz;
\r
115 this.stackTrace[this.stackTrace.length]=st;
\r
116 for(var i=0;i<callerList.length;i++){
\r
117 if(callerList[i]==superCaller){
\r
119 var st=new StackTraceElement("lost","missing",null,-3);
\r
120 st.nativeClazz=null;
\r
121 this.stackTrace[this.stackTrace.length]=st;
\r
126 if(superCaller!=null){
\r
127 callerList[callerList.length]=superCaller;
\r
129 caller=superCaller.arguments.callee.caller;
\r
131 Clazz.initializingException=false;
\r
134 Clazz.defineMethod(c$,"setStackTrace",
\r
135 function(stackTrace){
\r
136 var defensiveCopy=stackTrace.clone();
\r
137 for(var i=0;i<defensiveCopy.length;i++)if(defensiveCopy[i]==null)throw new NullPointerException("stackTrace["+i+"]");
\r
139 this.stackTrace=defensiveCopy;
\r
142 c$=Clazz.decorateAsClass(function(){
\r
143 this.declaringClass=null;
\r
144 this.methodName=null;
\r
145 this.fileName=null;
\r
147 Clazz.instantialize(this,arguments);
\r
148 },java.lang,"StackTraceElement",null,java.io.Serializable);
\r
149 Clazz.makeConstructor(c$,
\r
150 function(cls,method,file,line){
\r
151 if(cls==null||method==null){
\r
152 throw new NullPointerException();
\r
153 }this.declaringClass=cls;
\r
154 this.methodName=method;
\r
155 this.fileName=file;
\r
156 this.lineNumber=line;
\r
158 Clazz.overrideMethod(c$,"equals",
\r
160 if(!(Clazz.instanceOf(obj,StackTraceElement))){
\r
163 if((this.methodName==null)||(castObj.methodName==null)){
\r
165 }if(!this.getMethodName().equals(castObj.getMethodName())){
\r
167 }if(!this.getClassName().equals(castObj.getClassName())){
\r
169 }var localFileName=this.getFileName();
\r
170 if(localFileName==null){
\r
171 if(castObj.getFileName()!=null){
\r
174 if(!localFileName.equals(castObj.getFileName())){
\r
176 }}if(this.getLineNumber()!=castObj.getLineNumber()){
\r
180 Clazz.defineMethod(c$,"getClassName",
\r
182 return(this.declaringClass==null)?"<unknown class>":this.declaringClass;
\r
184 Clazz.defineMethod(c$,"getFileName",
\r
186 return this.fileName;
\r
188 Clazz.defineMethod(c$,"getLineNumber",
\r
190 return this.lineNumber;
\r
192 Clazz.defineMethod(c$,"getMethodName",
\r
194 return(this.methodName==null)?"<unknown method>":this.methodName;
\r
196 Clazz.overrideMethod(c$,"hashCode",
\r
198 if(this.methodName==null){
\r
200 }return this.methodName.hashCode()^this.declaringClass.hashCode();
\r
202 Clazz.defineMethod(c$,"isNativeMethod",
\r
204 return this.lineNumber==-2;
\r
206 Clazz.overrideMethod(c$,"toString",
\r
208 var buf=new StringBuilder(80);
\r
209 buf.append(this.getClassName());
\r
211 buf.append(this.getMethodName());
\r
212 if(this.isNativeMethod()){
\r
213 buf.append("(Native Method)");
\r
215 var fName=this.getFileName();
\r
217 buf.append("(Unknown Source)");
\r
219 var lineNum=this.getLineNumber();
\r
224 buf.append(lineNum);
\r
226 }}return buf.toString();
\r
229 c$=Clazz.declareType(java.lang,"Error",Throwable);
\r
231 c$=Clazz.declareType(java.lang,"LinkageError",Error);
\r
233 c$=Clazz.declareType(java.lang,"IncompatibleClassChangeError",LinkageError);
\r
235 c$=Clazz.declareType(java.lang,"AbstractMethodError",IncompatibleClassChangeError);
\r
237 c$=Clazz.declareType(java.lang,"AssertionError",Error);
\r
238 Clazz.makeConstructor(c$,
\r
239 function(detailMessage){
\r
240 Clazz.superConstructor(this,AssertionError,[String.valueOf(detailMessage),(Clazz.instanceOf(detailMessage,Throwable)?detailMessage:null)]);
\r
242 Clazz.makeConstructor(c$,
\r
243 function(detailMessage){
\r
244 this.construct(String.valueOf(detailMessage));
\r
246 Clazz.makeConstructor(c$,
\r
247 function(detailMessage){
\r
248 this.construct(String.valueOf(detailMessage));
\r
250 Clazz.makeConstructor(c$,
\r
251 function(detailMessage){
\r
252 this.construct(Integer.toString(detailMessage));
\r
254 Clazz.makeConstructor(c$,
\r
255 function(detailMessage){
\r
256 this.construct(Long.toString(detailMessage));
\r
258 Clazz.makeConstructor(c$,
\r
259 function(detailMessage){
\r
260 this.construct(Float.toString(detailMessage));
\r
262 Clazz.makeConstructor(c$,
\r
263 function(detailMessage){
\r
264 this.construct(Double.toString(detailMessage));
\r
267 c$=Clazz.declareType(java.lang,"ClassCircularityError",LinkageError);
\r
269 c$=Clazz.declareType(java.lang,"ClassFormatError",LinkageError);
\r
271 c$=Clazz.decorateAsClass(function(){
\r
272 this.exception=null;
\r
273 Clazz.instantialize(this,arguments);
\r
274 },java.lang,"ExceptionInInitializerError",LinkageError);
\r
275 Clazz.makeConstructor(c$,
\r
277 Clazz.superConstructor(this,ExceptionInInitializerError);
\r
278 this.initCause(null);
\r
280 Clazz.makeConstructor(c$,
\r
281 function(detailMessage){
\r
282 Clazz.superConstructor(this,ExceptionInInitializerError,[detailMessage]);
\r
283 this.initCause(null);
\r
285 Clazz.makeConstructor(c$,
\r
286 function(exception){
\r
287 Clazz.superConstructor(this,ExceptionInInitializerError);
\r
288 this.exception=exception;
\r
289 this.initCause(exception);
\r
291 Clazz.defineMethod(c$,"getException",
\r
293 return this.exception;
\r
295 Clazz.overrideMethod(c$,"getCause",
\r
297 return this.exception;
\r
300 c$=Clazz.declareType(java.lang,"IllegalAccessError",IncompatibleClassChangeError);
\r
302 c$=Clazz.declareType(java.lang,"InstantiationError",IncompatibleClassChangeError);
\r
304 c$=Clazz.declareType(java.lang,"VirtualMachineError",Error);
\r
306 c$=Clazz.declareType(java.lang,"InternalError",VirtualMachineError);
\r
308 c$=Clazz.declareType(java.lang,"NoClassDefFoundError",LinkageError);
\r
310 c$=Clazz.declareType(java.lang,"NoSuchFieldError",IncompatibleClassChangeError);
\r
312 c$=Clazz.declareType(java.lang,"NoSuchMethodError",IncompatibleClassChangeError);
\r
314 c$=Clazz.declareType(java.lang,"OutOfMemoryError",VirtualMachineError);
\r
316 c$=Clazz.declareType(java.lang,"StackOverflowError",VirtualMachineError);
\r
318 c$=Clazz.declareType(java.lang,"UnknownError",VirtualMachineError);
\r
320 c$=Clazz.declareType(java.lang,"UnsatisfiedLinkError",LinkageError);
\r
322 c$=Clazz.declareType(java.lang,"UnsupportedClassVersionError",ClassFormatError);
\r
324 c$=Clazz.declareType(java.lang,"VerifyError",LinkageError);
\r
326 c$=Clazz.declareType(java.lang,"ThreadDeath",Error);
\r
327 Clazz.makeConstructor(c$,
\r
329 Clazz.superConstructor(this,ThreadDeath,[]);
\r
332 c$=Clazz.declareType(java.lang,"Exception",Throwable);
\r
334 c$=Clazz.declareType(java.lang,"RuntimeException",Exception);
\r
336 c$=Clazz.declareType(java.lang,"ArithmeticException",RuntimeException);
\r
338 c$=Clazz.declareType(java.lang,"IndexOutOfBoundsException",RuntimeException);
\r
340 c$=Clazz.declareType(java.lang,"ArrayIndexOutOfBoundsException",IndexOutOfBoundsException);
\r
341 Clazz.makeConstructor(c$,
\r
343 Clazz.superConstructor(this,ArrayIndexOutOfBoundsException,["Array index out of range: "+index]);
\r
346 c$=Clazz.declareType(java.lang,"ArrayStoreException",RuntimeException);
\r
348 c$=Clazz.declareType(java.lang,"ClassCastException",RuntimeException);
\r
350 c$=Clazz.decorateAsClass(function(){
\r
352 Clazz.instantialize(this,arguments);
\r
353 },java.lang,"ClassNotFoundException",Exception);
\r
354 Clazz.makeConstructor(c$,
\r
356 Clazz.superConstructor(this,ClassNotFoundException,[Clazz.castNullAs("Throwable")]);
\r
358 Clazz.makeConstructor(c$,
\r
359 function(detailMessage){
\r
360 Clazz.superConstructor(this,ClassNotFoundException,[detailMessage,null]);
\r
362 Clazz.makeConstructor(c$,
\r
363 function(detailMessage,exception){
\r
364 Clazz.superConstructor(this,ClassNotFoundException,[detailMessage]);
\r
367 Clazz.defineMethod(c$,"getException",
\r
371 Clazz.overrideMethod(c$,"getCause",
\r
376 c$=Clazz.declareType(java.lang,"CloneNotSupportedException",Exception);
\r
378 c$=Clazz.declareType(java.lang,"IllegalAccessException",Exception);
\r
380 c$=Clazz.declareType(java.lang,"IllegalArgumentException",RuntimeException);
\r
381 Clazz.makeConstructor(c$,
\r
383 Clazz.superConstructor(this,IllegalArgumentException,[(cause==null?null:cause.toString()),cause]);
\r
386 c$=Clazz.declareType(java.lang,"IllegalMonitorStateException",RuntimeException);
\r
388 c$=Clazz.declareType(java.lang,"IllegalStateException",RuntimeException);
\r
389 Clazz.makeConstructor(c$,
\r
391 Clazz.superConstructor(this,IllegalStateException,[(cause==null?null:cause.toString()),cause]);
\r
394 c$=Clazz.declareType(java.lang,"IllegalThreadStateException",IllegalArgumentException);
\r
396 c$=Clazz.declareType(java.lang,"InstantiationException",Exception);
\r
398 c$=Clazz.declareType(java.lang,"InterruptedException",Exception);
\r
400 c$=Clazz.declareType(java.lang,"NegativeArraySizeException",RuntimeException);
\r
402 c$=Clazz.declareType(java.lang,"NoSuchFieldException",Exception);
\r
404 c$=Clazz.declareType(java.lang,"NoSuchMethodException",Exception);
\r
406 c$=Clazz.declareType(java.lang,"NullPointerException",RuntimeException);
\r
408 c$=Clazz.declareType(java.lang,"NumberFormatException",IllegalArgumentException);
\r
410 c$=Clazz.declareType(java.lang,"SecurityException",RuntimeException);
\r
411 Clazz.makeConstructor(c$,
\r
413 Clazz.superConstructor(this,SecurityException,[(cause==null?null:cause.toString()),cause]);
\r
416 c$=Clazz.declareType(java.lang,"StringIndexOutOfBoundsException",IndexOutOfBoundsException);
\r
417 Clazz.makeConstructor(c$,
\r
419 Clazz.superConstructor(this,StringIndexOutOfBoundsException,["String index out of range: "+index]);
\r
422 c$=Clazz.declareType(java.lang,"UnsupportedOperationException",RuntimeException);
\r
423 Clazz.makeConstructor(c$,
\r
425 Clazz.superConstructor(this,UnsupportedOperationException,[]);
\r
427 Clazz.makeConstructor(c$,
\r
429 Clazz.superConstructor(this,UnsupportedOperationException,[(cause==null?null:cause.toString()),cause]);
\r
432 c$=Clazz.decorateAsClass(function(){
\r
434 Clazz.instantialize(this,arguments);
\r
435 },java.lang.reflect,"InvocationTargetException",Exception);
\r
436 Clazz.makeConstructor(c$,
\r
438 Clazz.superConstructor(this,java.lang.reflect.InvocationTargetException,[Clazz.castNullAs("Throwable")]);
\r
440 Clazz.makeConstructor(c$,
\r
441 function(exception){
\r
442 Clazz.superConstructor(this,java.lang.reflect.InvocationTargetException,[null,exception]);
\r
443 this.target=exception;
\r
445 Clazz.makeConstructor(c$,
\r
446 function(exception,detailMessage){
\r
447 Clazz.superConstructor(this,java.lang.reflect.InvocationTargetException,[detailMessage,exception]);
\r
448 this.target=exception;
\r
450 Clazz.defineMethod(c$,"getTargetException",
\r
452 return this.target;
\r
454 Clazz.overrideMethod(c$,"getCause",
\r
456 return this.target;
\r
459 c$=Clazz.decorateAsClass(function(){
\r
460 this.undeclaredThrowable=null;
\r
461 Clazz.instantialize(this,arguments);
\r
462 },java.lang.reflect,"UndeclaredThrowableException",RuntimeException);
\r
463 Clazz.makeConstructor(c$,
\r
464 function(exception){
\r
465 Clazz.superConstructor(this,java.lang.reflect.UndeclaredThrowableException);
\r
466 this.undeclaredThrowable=exception;
\r
467 this.initCause(exception);
\r
469 Clazz.makeConstructor(c$,
\r
470 function(exception,detailMessage){
\r
471 Clazz.superConstructor(this,java.lang.reflect.UndeclaredThrowableException,[detailMessage]);
\r
472 this.undeclaredThrowable=exception;
\r
473 this.initCause(exception);
\r
475 Clazz.defineMethod(c$,"getUndeclaredThrowable",
\r
477 return this.undeclaredThrowable;
\r
479 Clazz.overrideMethod(c$,"getCause",
\r
481 return this.undeclaredThrowable;
\r
484 c$=Clazz.declareType(java.io,"IOException",Exception);
\r
486 c$=Clazz.declareType(java.io,"CharConversionException",java.io.IOException);
\r
488 c$=Clazz.declareType(java.io,"EOFException",java.io.IOException);
\r
490 c$=Clazz.declareType(java.io,"FileNotFoundException",java.io.IOException);
\r
492 c$=Clazz.decorateAsClass(function(){
\r
493 this.bytesTransferred=0;
\r
494 Clazz.instantialize(this,arguments);
\r
495 },java.io,"InterruptedIOException",java.io.IOException);
\r
497 c$=Clazz.declareType(java.io,"ObjectStreamException",java.io.IOException);
\r
499 c$=Clazz.decorateAsClass(function(){
\r
500 this.classname=null;
\r
501 Clazz.instantialize(this,arguments);
\r
502 },java.io,"InvalidClassException",java.io.ObjectStreamException);
\r
503 Clazz.makeConstructor(c$,
\r
504 function(className,detailMessage){
\r
505 Clazz.superConstructor(this,java.io.InvalidClassException,[detailMessage]);
\r
506 this.classname=className;
\r
508 Clazz.defineMethod(c$,"getMessage",
\r
510 var msg=Clazz.superCall(this,java.io.InvalidClassException,"getMessage",[]);
\r
511 if(this.classname!=null){
\r
512 msg=this.classname+';' + ' '+msg;
\r
516 c$=Clazz.declareType(java.io,"InvalidObjectException",java.io.ObjectStreamException);
\r
518 c$=Clazz.declareType(java.io,"NotActiveException",java.io.ObjectStreamException);
\r
520 c$=Clazz.declareType(java.io,"NotSerializableException",java.io.ObjectStreamException);
\r
522 c$=Clazz.decorateAsClass(function(){
\r
525 Clazz.instantialize(this,arguments);
\r
526 },java.io,"OptionalDataException",java.io.ObjectStreamException);
\r
528 c$=Clazz.declareType(java.io,"StreamCorruptedException",java.io.ObjectStreamException);
\r
530 c$=Clazz.declareType(java.io,"SyncFailedException",java.io.IOException);
\r
532 c$=Clazz.declareType(java.io,"UnsupportedEncodingException",java.io.IOException);
\r
534 c$=Clazz.declareType(java.io,"UTFDataFormatException",java.io.IOException);
\r
536 c$=Clazz.decorateAsClass(function(){
\r
538 Clazz.instantialize(this,arguments);
\r
539 },java.io,"WriteAbortedException",java.io.ObjectStreamException);
\r
540 Clazz.makeConstructor(c$,
\r
541 function(detailMessage,rootCause){
\r
542 Clazz.superConstructor(this,java.io.WriteAbortedException,[detailMessage]);
\r
543 this.detail=rootCause;
\r
544 this.initCause(rootCause);
\r
546 Clazz.defineMethod(c$,"getMessage",
\r
548 var msg=Clazz.superCall(this,java.io.WriteAbortedException,"getMessage",[]);
\r
549 if(this.detail!=null){
\r
550 msg=msg+"; "+this.detail.toString();
\r
553 Clazz.overrideMethod(c$,"getCause",
\r
555 return this.detail;
\r
558 c$=Clazz.declareType(java.util,"ConcurrentModificationException",RuntimeException);
\r
559 Clazz.makeConstructor(c$,
\r
561 Clazz.superConstructor(this,java.util.ConcurrentModificationException,[]);
\r
564 c$=Clazz.declareType(java.util,"EmptyStackException",RuntimeException);
\r
566 c$=Clazz.decorateAsClass(function(){
\r
567 this.className=null;
\r
569 Clazz.instantialize(this,arguments);
\r
570 },java.util,"MissingResourceException",RuntimeException);
\r
571 Clazz.makeConstructor(c$,
\r
572 function(detailMessage,className,resourceName){
\r
573 Clazz.superConstructor(this,java.util.MissingResourceException,[detailMessage]);
\r
574 this.className=className;
\r
575 this.key=resourceName;
\r
577 Clazz.defineMethod(c$,"getClassName",
\r
579 return this.className;
\r
581 Clazz.defineMethod(c$,"getKey",
\r
586 c$=Clazz.declareType(java.util,"NoSuchElementException",RuntimeException);
\r
588 c$=Clazz.declareType(java.util,"TooManyListenersException",Exception);
\r