Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / lang / StackTraceElement.js
1 Clazz.load(null,"java.lang.StackTraceElement",["java.lang.NullPointerException","$.StringBuilder"],function(){
2 c$=Clazz.decorateAsClass(function(){
3 this.declaringClass=null;
4 this.methodName=null;
5 this.fileName=null;
6 this.lineNumber=0;
7 Clazz.instantialize(this,arguments);
8 },java.lang,"StackTraceElement",null,java.io.Serializable);
9 Clazz.makeConstructor(c$,
10 function(cls,method,file,line){
11 if(cls==null||method==null){
12 throw new NullPointerException();
13 }this.declaringClass=cls;
14 this.methodName=method;
15 this.fileName=file;
16 this.lineNumber=line;
17 },"~S,~S,~S,~N");
18 Clazz.overrideMethod(c$,"equals",
19 function(obj){
20 if(!(Clazz.instanceOf(obj,StackTraceElement))){
21 return false;
22 }var castObj=obj;
23 if((this.methodName==null)||(castObj.methodName==null)){
24 return false;
25 }if(!this.getMethodName().equals(castObj.getMethodName())){
26 return false;
27 }if(!this.getClassName().equals(castObj.getClassName())){
28 return false;
29 }var localFileName=this.getFileName();
30 if(localFileName==null){
31 if(castObj.getFileName()!=null){
32 return false;
33 }}else{
34 if(!localFileName.equals(castObj.getFileName())){
35 return false;
36 }}if(this.getLineNumber()!=castObj.getLineNumber()){
37 return false;
38 }return true;
39 },"~O");
40 Clazz.defineMethod(c$,"getClassName",
41 function(){
42 return(this.declaringClass==null)?"<unknown class>":this.declaringClass;
43 });
44 Clazz.defineMethod(c$,"getFileName",
45 function(){
46 return this.fileName;
47 });
48 Clazz.defineMethod(c$,"getLineNumber",
49 function(){
50 return this.lineNumber;
51 });
52 Clazz.defineMethod(c$,"getMethodName",
53 function(){
54 return(this.methodName==null)?"<unknown method>":this.methodName;
55 });
56 Clazz.overrideMethod(c$,"hashCode",
57 function(){
58 if(this.methodName==null){
59 return 0;
60 }return this.methodName.hashCode()^this.declaringClass.hashCode();
61 });
62 Clazz.defineMethod(c$,"isNativeMethod",
63 function(){
64 return this.lineNumber==-2;
65 });
66 Clazz.overrideMethod(c$,"toString",
67 function(){
68 var buf=new StringBuilder(80);
69 buf.append(this.getClassName());
70 buf.append('.');
71 buf.append(this.getMethodName());
72 if(this.isNativeMethod()){
73 buf.append("(Native Method)");
74 }else{
75 var fName=this.getFileName();
76 if(fName==null){
77 buf.append("(Unknown Source)");
78 }else{
79 var lineNum=this.getLineNumber();
80 buf.append('(');
81 buf.append(fName);
82 if(lineNum>=0){
83 buf.append(':');
84 buf.append(lineNum);
85 }buf.append(')');
86 }}return buf.toString();
87 });
88 });