src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
open Cdiff src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java
src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java
Print this page
*** 47,66 ****
@Override
public Throwable fillInStackTrace() {
return this;
}
! @Override
! public String toString() {
! return getMessage();
}
- private static TranslatedException create(String className, String message) {
if (className.equals(TranslatedException.class.getName())) {
// Chop the class name when boxing another TranslatedException
return new TranslatedException(message);
}
if (message == null) {
return new TranslatedException(className);
}
return new TranslatedException(className + ": " + message);
}
--- 47,73 ----
@Override
public Throwable fillInStackTrace() {
return this;
}
! private static Throwable create(String className, String message) {
! // Try create with reflection first.
! try {
! Class<?> cls = Class.forName(className);
! if (message == null) {
! return (Throwable) cls.getConstructor().newInstance();
! }
! cls.getDeclaredConstructor(String.class);
! return (Throwable) cls.getConstructor(String.class).newInstance(message);
! } catch (Throwable ignore) {
}
if (className.equals(TranslatedException.class.getName())) {
// Chop the class name when boxing another TranslatedException
return new TranslatedException(message);
}
+
if (message == null) {
return new TranslatedException(className);
}
return new TranslatedException(className + ": " + message);
}
*** 145,155 ****
String exceptionClassName = parts[i++];
String exceptionMessage = parts[i++];
Throwable throwable = create(exceptionClassName, exceptionMessage);
int stackTraceDepth = Integer.parseInt(parts[i++]);
! StackTraceElement[] suffix = parent == null ? new StackTraceElement[0] : getStackTraceSuffix();
StackTraceElement[] stackTrace = new StackTraceElement[stackTraceDepth + suffix.length];
for (int j = 0; j < stackTraceDepth; j++) {
String className = parts[i++];
String methodName = parts[i++];
String fileName = parts[i++];
--- 152,162 ----
String exceptionClassName = parts[i++];
String exceptionMessage = parts[i++];
Throwable throwable = create(exceptionClassName, exceptionMessage);
int stackTraceDepth = Integer.parseInt(parts[i++]);
! StackTraceElement[] suffix = getStackTraceSuffix();
StackTraceElement[] stackTrace = new StackTraceElement[stackTraceDepth + suffix.length];
for (int j = 0; j < stackTraceDepth; j++) {
String className = parts[i++];
String methodName = parts[i++];
String fileName = parts[i++];
src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File