From 3c80cf4f62d84381572f4b55a3789f7a0a0d26cc Mon Sep 17 00:00:00 2001
From: Tomas Stupka <tomas.stupka@oracle.com>
Date: Tue, 23 Jan 2018 11:31:39 +0100
Subject: [PATCH] fixed complete flag when converting foreign arrays

---
 .../oracle/truffle/r/runtime/interop/ForeignArray2R.java  | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/interop/ForeignArray2R.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/interop/ForeignArray2R.java
index e7a1170553..289be7b8b2 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/interop/ForeignArray2R.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/interop/ForeignArray2R.java
@@ -279,7 +279,7 @@ public abstract class ForeignArray2R extends RBaseNode {
             case BOOLEAN:
                 WriteArray<byte[]> wba = (byte[] array, int resultIdx, int sourceIdx, boolean[] complete) -> {
                     array[resultIdx] = ((Number) arrayData.elements.get(sourceIdx)).byteValue();
-                    complete[0] &= RRuntime.isNA(array[resultIdx]);
+                    complete[0] &= !RRuntime.isNA(array[resultIdx]);
                 };
                 byte[] byteArray = new byte[size];
                 if (dims != null) {
@@ -290,7 +290,7 @@ public abstract class ForeignArray2R extends RBaseNode {
             case DOUBLE:
                 WriteArray<double[]> wda = (array, resultIdx, sourceIdx, complete) -> {
                     array[resultIdx] = ((Number) arrayData.elements.get(sourceIdx)).doubleValue();
-                    complete[0] &= RRuntime.isNA(array[resultIdx]);
+                    complete[0] &= !RRuntime.isNA(array[resultIdx]);
                 };
                 double[] doubleArray = new double[size];
                 if (dims != null) {
@@ -301,7 +301,7 @@ public abstract class ForeignArray2R extends RBaseNode {
             case INTEGER:
                 WriteArray<int[]> wia = (array, resultIdx, sourceIdx, complete) -> {
                     array[resultIdx] = ((Number) arrayData.elements.get(sourceIdx)).intValue();
-                    complete[0] &= RRuntime.isNA(array[resultIdx]);
+                    complete[0] &= !RRuntime.isNA(array[resultIdx]);
                 };
                 int[] intArray = new int[size];
                 if (dims != null) {
@@ -312,7 +312,7 @@ public abstract class ForeignArray2R extends RBaseNode {
             case STRING:
                 WriteArray<String[]> wsa = (array, resultIdx, sourceIdx, complete) -> {
                     array[resultIdx] = String.valueOf(arrayData.elements.get(sourceIdx));
-                    complete[0] &= RRuntime.isNA(array[resultIdx]);
+                    complete[0] &= !RRuntime.isNA(array[resultIdx]);
                 };
                 String[] stringArray = new String[size];
                 if (dims != null) {
-- 
GitLab