Skip to content

Commit 965a0b9

Browse files
committed
Cleanup translation of InteropException, reuse getMessage() when possible
1 parent 9ec4930 commit 965a0b9

File tree

1 file changed

+15
-26
lines changed

1 file changed

+15
-26
lines changed

src/main/java/org/truffleruby/core/exception/CoreExceptions.java

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -302,8 +302,7 @@ public RubyException frozenError(Object object, Node currentNode) {
302302
@TruffleBoundary
303303
public RubyException frozenError(String message, Node currentNode, Object receiver) {
304304
RubyClass exceptionClass = context.getCoreLibrary().frozenErrorClass;
305-
RubyString errorMessage = StringOperations
306-
.createUTF8String(context, language, message);
305+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
307306
final Backtrace backtrace = context.getCallStack().getBacktrace(currentNode);
308307
final Object cause = ThreadGetExceptionNode.getLastException(language);
309308
showExceptionIfDebug(exceptionClass, errorMessage, backtrace);
@@ -329,25 +328,22 @@ public RubyException runtimeErrorCoverageNotEnabled(Node currentNode) {
329328
@TruffleBoundary
330329
public RubyException runtimeError(String message, Node currentNode) {
331330
RubyClass exceptionClass = context.getCoreLibrary().runtimeErrorClass;
332-
RubyString errorMessage = StringOperations
333-
.createUTF8String(context, language, message);
331+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
334332
return ExceptionOperations.createRubyException(context, exceptionClass, errorMessage, currentNode, null);
335333
}
336334

337335
@TruffleBoundary
338336
public RubyException runtimeError(String message, Node currentNode, Throwable javaThrowable) {
339337
RubyClass exceptionClass = context.getCoreLibrary().runtimeErrorClass;
340-
RubyString errorMessage = StringOperations
341-
.createUTF8String(context, language, message);
338+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
342339
return ExceptionOperations
343340
.createRubyException(context, exceptionClass, errorMessage, currentNode, javaThrowable);
344341
}
345342

346343
@TruffleBoundary
347344
public RubyException runtimeError(String message, Backtrace backtrace) {
348345
RubyClass exceptionClass = context.getCoreLibrary().runtimeErrorClass;
349-
RubyString errorMessage = StringOperations
350-
.createUTF8String(context, language, message);
346+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
351347
return ExceptionOperations.createRubyException(context, exceptionClass, errorMessage, backtrace);
352348
}
353349

@@ -362,8 +358,7 @@ public RubyException systemStackErrorStackLevelTooDeep(Node currentNode, StackOv
362358
: "<empty Java stacktrace>";
363359
final String message = coreStrings().STACK_LEVEL_TOO_DEEP + "\n\tfrom " + topOfTheStack;
364360
final Backtrace backtrace = context.getCallStack().getBacktrace(currentNode, 0, javaThrowable);
365-
final RubyString messageString = StringOperations
366-
.createUTF8String(context, language, message);
361+
final RubyString messageString = StringOperations.createUTF8String(context, language, message);
367362
return ExceptionOperations.createSystemStackError(context, messageString, backtrace, showExceptionIfDebug);
368363
}
369364

@@ -452,8 +447,7 @@ public RubyException mathDomainError(String method, Node currentNode) {
452447
@TruffleBoundary
453448
public RubyException indexError(String message, Node currentNode) {
454449
RubyClass exceptionClass = context.getCoreLibrary().indexErrorClass;
455-
RubyString errorMessage = StringOperations
456-
.createUTF8String(context, language, message);
450+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
457451
return ExceptionOperations.createRubyException(context, exceptionClass, errorMessage, currentNode, null);
458452
}
459453

@@ -497,8 +491,7 @@ public RubyException indexErrorInvalidBufferOffsetException(InvalidBufferOffsetE
497491
@TruffleBoundary
498492
public RubyException keyError(String message, Node currentNode) {
499493
RubyClass exceptionClass = context.getCoreLibrary().keyErrorClass;
500-
RubyString errorMessage = StringOperations
501-
.createUTF8String(context, language, message);
494+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
502495
return ExceptionOperations.createRubyException(context, exceptionClass, errorMessage, currentNode, null);
503496
}
504497

@@ -512,8 +505,7 @@ public RubyException keyError(UnknownKeyException exception, Node currentNode) {
512505
@TruffleBoundary
513506
public RubyException stopIteration(String message, Node currentNode) {
514507
RubyClass exceptionClass = context.getCoreLibrary().stopIterationClass;
515-
RubyString errorMessage = StringOperations
516-
.createUTF8String(context, language, message);
508+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
517509
return ExceptionOperations.createRubyException(context, exceptionClass, errorMessage, currentNode, null);
518510
}
519511

@@ -522,8 +514,7 @@ public RubyException stopIteration(String message, Node currentNode) {
522514
@TruffleBoundary
523515
public RubyException localJumpError(String message, Node currentNode) {
524516
RubyClass exceptionClass = context.getCoreLibrary().localJumpErrorClass;
525-
RubyString errorMessage = StringOperations
526-
.createUTF8String(context, language, message);
517+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
527518
return ExceptionOperations.createRubyException(context, exceptionClass, errorMessage, currentNode, null);
528519
}
529520

@@ -690,8 +681,7 @@ public RubyException typeErrorExpectedProcOrMethodOrUnboundMethod(Object object,
690681
@TruffleBoundary
691682
public RubyException typeError(String message, Node currentNode, Throwable javaThrowable) {
692683
RubyClass exceptionClass = context.getCoreLibrary().typeErrorClass;
693-
RubyString errorMessage = StringOperations
694-
.createUTF8String(context, language, message);
684+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
695685
return ExceptionOperations
696686
.createRubyException(context, exceptionClass, errorMessage, currentNode, javaThrowable);
697687
}
@@ -830,16 +820,15 @@ public RubyNameError nameErrorImportNotFound(String name, Node currentNode) {
830820
public RubyNameError nameErrorUnknownIdentifierException(
831821
UnknownIdentifierException exception, Object receiver, Node currentNode) {
832822
return nameError(
833-
"Unknown identifier: " + exception.getUnknownIdentifier(),
823+
exception.getMessage(),
834824
receiver,
835825
exception.getUnknownIdentifier(),
836826
currentNode);
837827
}
838828

839829
@TruffleBoundary
840830
public RubyNameError nameError(String message, Object receiver, String name, Node currentNode) {
841-
final RubyString messageString = StringOperations
842-
.createUTF8String(context, language, message);
831+
final RubyString messageString = StringOperations.createUTF8String(context, language, message);
843832
final RubyClass exceptionClass = context.getCoreLibrary().nameErrorClass;
844833
final Backtrace backtrace = context.getCallStack().getBacktrace(currentNode);
845834
final Object cause = ThreadGetExceptionNode.getLastException(language);
@@ -948,9 +937,10 @@ public RubyNoMethodError noSuperMethodOutsideMethodError(Node currentNode) {
948937
Nil.INSTANCE);
949938
}
950939

940+
@TruffleBoundary
951941
public RubyNoMethodError noMethodErrorUnknownIdentifier(Object receiver, String name, Object[] args,
952942
UnknownIdentifierException exception, Node currentNode) {
953-
return noMethodError(ExceptionOperations.getMessage(exception), receiver, name, args, currentNode);
943+
return noMethodError(exception.getMessage(), receiver, name, args, currentNode);
954944
}
955945

956946
// LoadError
@@ -1239,8 +1229,7 @@ public RubyException securityError(String message, Node currentNode) {
12391229
@TruffleBoundary
12401230
public RubyException ffiNullPointerError(String message, Node currentNode) {
12411231
RubyClass exceptionClass = context.getCoreLibrary().truffleFFINullPointerErrorClass;
1242-
RubyString errorMessage = StringOperations
1243-
.createUTF8String(context, language, message);
1232+
RubyString errorMessage = StringOperations.createUTF8String(context, language, message);
12441233
return ExceptionOperations.createRubyException(context, exceptionClass, errorMessage, currentNode, null);
12451234
}
12461235

0 commit comments

Comments
 (0)