예제 #1
0
 @Specialization
 @TruffleBoundary
 protected RNull invokeRestart(RList restart, Object args) {
   checkLength(restart);
   if (RErrorHandling.invokeRestart(restart, args) == null) {
     throw RError.error(this, RError.Message.RESTART_NOT_ON_STACK);
   } else {
     return RNull.instance; // not reached
   }
 }
예제 #2
0
 @Specialization
 @TruffleBoundary
 protected Object addCondHands(
     RAbstractStringVector classes,
     RList handlers,
     REnvironment parentEnv,
     Object target,
     byte calling) {
   if (classes.getLength() != handlers.getLength()) {
     throw RError.error(this, RError.Message.BAD_HANDLER_DATA);
   }
   return RErrorHandling.createHandlers(classes, handlers, parentEnv, target, calling);
 }
예제 #3
0
 @Specialization
 @TruffleBoundary
 protected RNull printDeferredWarnings() {
   RErrorHandling.printDeferredWarnings();
   return RNull.instance;
 }
예제 #4
0
 @Specialization
 protected Object dfltStop(String message, Object call) {
   RErrorHandling.dfltStop(message, call);
   return RNull.instance;
 }
예제 #5
0
 @Specialization
 protected RNull dfltWarn(String msg, Object call) {
   RErrorHandling.dfltWarn(msg, call);
   return RNull.instance;
 }
예제 #6
0
 @Specialization
 protected RNull seterrmessage(String msg) {
   RErrorHandling.seterrmessage(msg);
   return RNull.instance;
 }
예제 #7
0
 @Specialization
 protected String geterrmessage() {
   return RErrorHandling.geterrmessage();
 }
예제 #8
0
 @Specialization
 protected RNull signalCondition(RList condition, RAbstractStringVector msg, Object call) {
   RErrorHandling.signalCondition(condition, msg.getDataAt(0), call);
   return RNull.instance;
 }
예제 #9
0
 @Specialization
 protected Object getRestart(int index) {
   Object result = RErrorHandling.getRestart(index);
   return result;
 }
예제 #10
0
 @Specialization
 protected Object addRestart(RList restart) {
   checkLength(restart);
   RErrorHandling.addRestart(restart);
   return RNull.instance;
 }