From bf71a94e9ae7874cd0d4b1f8811c7bc547c9ac8a Mon Sep 17 00:00:00 2001
From: Zbynek Slajchrt <zbynek.slajchrt@oracle.com>
Date: Mon, 5 Jun 2017 20:31:46 +0200
Subject: [PATCH] enabling polyglot SDK tests

---
 .../r/engine/interop/RAbstractVectorAccessFactory.java       | 5 +++++
 .../truffle/r/nodes/access/vector/PositionCastNode.java      | 5 +++++
 2 files changed, 10 insertions(+)

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 37cdb01ee3..b21cd2e410 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
@@ -90,6 +90,11 @@ public final class RAbstractVectorAccessFactory implements Factory26 {
             return extract.apply(frame, receiver, new Object[]{label + 1}, RLogical.TRUE, RLogical.TRUE);
         }
 
+        @Specialization
+        protected Object readIndexed(VirtualFrame frame, Object receiver, long label) {
+            return extract.apply(frame, receiver, new Object[]{label + 1}, RLogical.TRUE, RLogical.TRUE);
+        }
+
         @Specialization
         protected Object readProperty(VirtualFrame frame, Object receiver, String label) {
             return extract.applyAccessField(frame, receiver, label);
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/PositionCastNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/PositionCastNode.java
index 32f9f06404..85fd7dccbb 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/PositionCastNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/PositionCastNode.java
@@ -74,6 +74,11 @@ abstract class PositionCastNode extends RBaseNode {
         return RInteger.valueOf(position);
     }
 
+    @Specialization
+    protected RAbstractVector doLong(long position, @Cached("create()") NACheck check) {
+        return doDouble(position, check);
+    }
+
     @Specialization
     protected RAbstractVector doString(String position) {
         return RString.valueOf(position);
-- 
GitLab