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