77 |
* |
* |
78 |
* @serial the enclosing class, if known |
* @serial the enclosing class, if known |
79 |
*/ |
*/ |
80 |
private final String className; |
private final String declaringClass; |
81 |
|
|
82 |
/** |
/** |
83 |
* The method name in the class, null if unknown. |
* The method name in the class, null if unknown. |
106 |
{ |
{ |
107 |
this.fileName = fileName; |
this.fileName = fileName; |
108 |
this.lineNumber = lineNumber; |
this.lineNumber = lineNumber; |
109 |
this.className = className; |
this.declaringClass = className; |
110 |
this.methodName = methodName; |
this.methodName = methodName; |
111 |
this.isNative = isNative; |
this.isNative = isNative; |
112 |
} |
} |
142 |
*/ |
*/ |
143 |
public String getClassName() |
public String getClassName() |
144 |
{ |
{ |
145 |
return className; |
return declaringClass; |
146 |
} |
} |
147 |
|
|
148 |
/** |
/** |
183 |
public String toString() |
public String toString() |
184 |
{ |
{ |
185 |
StringBuffer sb = new StringBuffer(); |
StringBuffer sb = new StringBuffer(); |
186 |
if (className != null) |
if (declaringClass != null) |
187 |
{ |
{ |
188 |
sb.append(className); |
sb.append(declaringClass); |
189 |
if (methodName != null) |
if (methodName != null) |
190 |
sb.append('.'); |
sb.append('.'); |
191 |
} |
} |
217 |
StackTraceElement e = (StackTraceElement) o; |
StackTraceElement e = (StackTraceElement) o; |
218 |
return equals(fileName, e.fileName) |
return equals(fileName, e.fileName) |
219 |
&& lineNumber == e.lineNumber |
&& lineNumber == e.lineNumber |
220 |
&& equals(className, e.className) |
&& equals(declaringClass, e.declaringClass) |
221 |
&& equals(methodName, e.methodName); |
&& equals(methodName, e.methodName); |
222 |
} |
} |
223 |
|
|
230 |
*/ |
*/ |
231 |
public int hashCode() |
public int hashCode() |
232 |
{ |
{ |
233 |
return hashCode(fileName) ^ lineNumber ^ hashCode(className) |
return hashCode(fileName) ^ lineNumber ^ hashCode(declaringClass) |
234 |
^ hashCode(methodName); |
^ hashCode(methodName); |
235 |
} |
} |
236 |
|
|