From dd4fdf1f579cf9e0df4e688ca812a71c1b135f5a Mon Sep 17 00:00:00 2001
From: Lukas Stadler <lukas.stadler@oracle.com>
Date: Mon, 17 Oct 2016 09:59:24 +0200
Subject: [PATCH] return null instead of throwing RInternalErrors on unknown
 interop messages

---
 .../engine/interop/RAbstractVectorAccessFactory.java | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RAbstractVectorAccessFactory.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RAbstractVectorAccessFactory.java
index 751f3de92a..3cb4647f51 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RAbstractVectorAccessFactory.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RAbstractVectorAccessFactory.java
@@ -36,7 +36,6 @@ import com.oracle.truffle.r.engine.interop.RAbstractVectorAccessFactoryFactory.V
 import com.oracle.truffle.r.nodes.access.vector.ElementAccessMode;
 import com.oracle.truffle.r.nodes.access.vector.ExtractVectorNode;
 import com.oracle.truffle.r.nodes.control.RLengthNode;
-import com.oracle.truffle.r.runtime.RInternalError;
 import com.oracle.truffle.r.runtime.data.RLogical;
 import com.oracle.truffle.r.runtime.data.model.RAbstractVector;
 
@@ -105,7 +104,7 @@ public final class RAbstractVectorAccessFactory implements Factory18 {
 
     @Override
     public CallTarget accessIsExecutable() {
-        throw RInternalError.shouldNotReachHere("message: accessIsExecutable");
+        return null;
     }
 
     @Override
@@ -152,26 +151,25 @@ public final class RAbstractVectorAccessFactory implements Factory18 {
 
     @Override
     public CallTarget accessWrite() {
-        throw RInternalError.shouldNotReachHere("message: accessWrite");
+        return null;
     }
 
     @Override
     public CallTarget accessExecute(int argumentsLength) {
-        throw RInternalError.shouldNotReachHere("message: accessExecute");
+        return null;
     }
 
     @Override
     public CallTarget accessInvoke(int argumentsLength) {
-        throw RInternalError.shouldNotReachHere("message: accessInvoke");
+        return null;
     }
 
     @Override
     public CallTarget accessMessage(Message unknown) {
-        throw RInternalError.shouldNotReachHere("message: " + unknown);
+        return null;
     }
 
     @Override
-    @SuppressWarnings("all")
     public CallTarget accessNew(int argumentsLength) {
         return null;
     }
-- 
GitLab