From f8c7fded2ab53d954504056f482484abe4baacd2 Mon Sep 17 00:00:00 2001
From: Tomas Stupka <tomas.stupka@oracle.com>
Date: Thu, 8 Dec 2016 19:05:30 +0100
Subject: [PATCH] changed parameter type to RAbstractRawVector

---
 .../com/oracle/truffle/r/nodes/builtin/base/RawToBits.java    | 2 +-
 .../src/com/oracle/truffle/r/test/ExpectedTestOutput.test     | 4 ++++
 .../oracle/truffle/r/test/builtins/TestBuiltin_rawToBits.java | 2 ++
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RawToBits.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RawToBits.java
index d903415e93..79a168cc4d 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RawToBits.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RawToBits.java
@@ -45,7 +45,7 @@ public abstract class RawToBits extends RBuiltinNode {
     }
 
     @Specialization
-    protected RAbstractRawVector rawToBits(RRawVector x) {
+    protected RAbstractRawVector rawToBits(RAbstractRawVector x) {
         byte[] result = new byte[8 * x.getLength()];
         int pos = 0;
         for (int j = 0; j < x.getLength(); j++) {
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
index d027e62bba..ecdb2a0dbe 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
@@ -41279,6 +41279,10 @@ Error in rawToBits(NULL) : argument 'x' must be a raw vector
 #rawToBits(as.raw(1))
 [1] 01 00 00 00 00 00 00 00
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_rawToBits.testRawToBits#
+#rawToBits(as.raw(1)[1])
+[1] 01 00 00 00 00 00 00 00
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_rawToBits.testRawToBits#
 #rawToBits(as.raw(255))
 [1] 01 01 01 01 01 01 01 01
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rawToBits.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rawToBits.java
index 34a5538dbb..c8f0a4c56f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rawToBits.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rawToBits.java
@@ -41,6 +41,8 @@ public class TestBuiltin_rawToBits extends TestBase {
         assertEval("rawToBits(as.raw(0:255))");
         assertEval("rawToBits(as.raw(c(0,1,255)))");
 
+        assertEval("rawToBits(as.raw(1)[1])");
+
         assertEval("rawToBits(0:255)");
         assertEval("rawToBits(NA)");
         assertEval("rawToBits(NULL)");
-- 
GitLab