From 231636d53f75f1992354a37b461e04319fe04c04 Mon Sep 17 00:00:00 2001
From: Tomas Stupka <tomas.stupka@oracle.com>
Date: Thu, 3 Aug 2017 02:36:45 +0200
Subject: [PATCH] handle foreign objects in BinaryArithmeticNode,
 BinaryBooleanNode, UnaryArithmeticNode, UnaryArithmeticReduceNode,
 UnaryNotNode

---
 .../r/nodes/binary/BinaryArithmeticNode.java  |   73 +
 .../r/nodes/binary/BinaryBooleanNode.java     |   17 +-
 .../r/nodes/unary/UnaryArithmeticNode.java    |   19 +
 .../unary/UnaryArithmeticReduceNode.java      |   27 +
 .../truffle/r/nodes/unary/UnaryNotNode.java   |   21 +
 .../truffle/r/test/ExpectedTestOutput.test    | 1480 +++++++++++++++++
 .../r/test/library/fastr/TestJavaInterop.java |  229 ++-
 7 files changed, 1864 insertions(+), 2 deletions(-)

diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryArithmeticNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryArithmeticNode.java
index 173f3a0486..4a616a2175 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryArithmeticNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryArithmeticNode.java
@@ -27,15 +27,23 @@ import com.oracle.truffle.api.CompilerDirectives;
 import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.Cached;
 import com.oracle.truffle.api.dsl.Fallback;
+import com.oracle.truffle.api.dsl.ImportStatic;
 import com.oracle.truffle.api.dsl.Specialization;
+import com.oracle.truffle.api.interop.ForeignAccess;
+import com.oracle.truffle.api.interop.TruffleObject;
+import com.oracle.truffle.api.interop.java.JavaInterop;
+import com.oracle.truffle.api.nodes.Node;
 import com.oracle.truffle.api.profiles.ValueProfile;
 import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
 import com.oracle.truffle.r.nodes.primitive.BinaryMapNode;
 import com.oracle.truffle.r.nodes.profile.TruffleBoundaryNode;
+import com.oracle.truffle.r.nodes.unary.PrecedenceNode;
+import com.oracle.truffle.r.nodes.unary.PrecedenceNodeGen;
 import com.oracle.truffle.r.nodes.unary.UnaryArithmeticNode;
 import com.oracle.truffle.r.nodes.unary.UnaryArithmeticNodeGen;
 import com.oracle.truffle.r.runtime.RError;
 import com.oracle.truffle.r.runtime.RError.Message;
+import com.oracle.truffle.r.runtime.RRuntime;
 import com.oracle.truffle.r.runtime.RType;
 import com.oracle.truffle.r.runtime.data.RDataFactory;
 import com.oracle.truffle.r.runtime.data.RMissing;
@@ -45,6 +53,8 @@ import com.oracle.truffle.r.runtime.data.model.RAbstractDoubleVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractIntVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractLogicalVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractVector;
+import com.oracle.truffle.r.runtime.interop.ForeignArray2R;
+import com.oracle.truffle.r.runtime.interop.ForeignArray2RNodeGen;
 import com.oracle.truffle.r.runtime.nodes.RBaseNode;
 import com.oracle.truffle.r.runtime.ops.BinaryArithmetic;
 import com.oracle.truffle.r.runtime.ops.BinaryArithmeticFactory;
@@ -55,6 +65,7 @@ import com.oracle.truffle.r.runtime.ops.UnaryArithmeticFactory;
  * operation is implemented by factory object given as a constructor parameter, e.g.
  * {@link com.oracle.truffle.r.runtime.ops.BinaryArithmetic.Add}
  */
+@ImportStatic({RRuntime.class, com.oracle.truffle.api.interop.Message.class})
 public abstract class BinaryArithmeticNode extends RBuiltinNode.Arg2 {
 
     protected static final int CACHE_LIMIT = 5;
@@ -147,6 +158,68 @@ public abstract class BinaryArithmeticNode extends RBuiltinNode.Arg2 {
         return doLeftNull(right, left, classProfile);
     }
 
+    @Specialization(replaces = "doNumericVectorCached", guards = {"isForeignVector(left, hasSize)", "isNumericVector(right)"})
+    @TruffleBoundary
+    protected Object doForeignLeft(TruffleObject left, Object right,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R foreignArray2R,
+                    @Cached("createRecursive()") BinaryArithmeticNode recursive) {
+        Object o = foreignArray2R.execute(left, true);
+        return recursive.execute(o, right);
+    }
+
+    @Specialization(replaces = "doNumericVectorCached", guards = {"isNumericVector(left)", "isForeignVector(right, hasSize)"})
+    @TruffleBoundary
+    protected Object doForeignRight(Object left, TruffleObject right,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R foreignArray2R,
+                    @Cached("createRecursive()") BinaryArithmeticNode recursive) {
+        Object o = foreignArray2R.execute(right, true);
+        return recursive.execute(left, o);
+    }
+
+    @Specialization(replaces = "doNumericVectorCached", guards = {"isForeignVector(left, hasSize)", "isForeignVector(right, hasSize)"})
+    @TruffleBoundary
+    protected Object doForeignVector(TruffleObject left, TruffleObject right,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R leftForeignArray2R,
+                    @Cached("createForeignArray2R()") ForeignArray2R rightForeignArray2R,
+                    @Cached("createRecursive()") BinaryArithmeticNode recursive) {
+        Object oLeft = leftForeignArray2R.execute(left, true);
+        Object oRight = rightForeignArray2R.execute(right, true);
+        return recursive.execute(oLeft, oRight);
+    }
+
+    protected ForeignArray2R createForeignArray2R() {
+        return ForeignArray2RNodeGen.create();
+    }
+
+    protected boolean isForeignVector(Object obj, Node hasSize) {
+        return RRuntime.isForeignObject(obj) && (ForeignAccess.sendHasSize(hasSize, (TruffleObject) obj) || JavaInterop.isJavaObject(Iterable.class, (TruffleObject) obj));
+    }
+
+    protected BinaryArithmeticNode createRecursive() {
+        return BinaryArithmeticNodeGen.create(binary, unary);
+    }
+
+    @Specialization(guards = {"isForeignVector(right, hasSize)"})
+    protected Object doForeignLeftNull(@SuppressWarnings("unused") RNull left, TruffleObject right,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R foreignArray2R,
+                    @Cached("createRecursive()") BinaryArithmeticNode recursive) {
+        Object oRight = foreignArray2R.execute(right, true);
+        return recursive.execute(left, oRight);
+    }
+
+    @Specialization(guards = {"isForeignVector(left, hasSize)"})
+    protected Object doForeignRightNull(TruffleObject left, RNull right,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R foreignArray2R,
+                    @Cached("createRecursive()") BinaryArithmeticNode recursive) {
+        Object oLeft = foreignArray2R.execute(left, true);
+        return recursive.execute(oLeft, right);
+    }
+
     @Fallback
     protected Object doInvalidType(@SuppressWarnings("unused") Object left, @SuppressWarnings("unused") Object right) {
         throw error(Message.NON_NUMERIC_BINARY);
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNode.java
index 5f3c5e577e..e5882e8e23 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/binary/BinaryBooleanNode.java
@@ -26,8 +26,11 @@ import com.oracle.truffle.api.CompilerAsserts;
 import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.Cached;
 import com.oracle.truffle.api.dsl.Fallback;
+import com.oracle.truffle.api.dsl.ImportStatic;
 import com.oracle.truffle.api.dsl.Specialization;
 import com.oracle.truffle.api.frame.VirtualFrame;
+import com.oracle.truffle.api.interop.TruffleObject;
+import com.oracle.truffle.api.nodes.Node;
 import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
 import com.oracle.truffle.r.nodes.primitive.BinaryMapNode;
 import com.oracle.truffle.r.nodes.profile.TruffleBoundaryNode;
@@ -54,6 +57,7 @@ import com.oracle.truffle.r.runtime.data.model.RAbstractLogicalVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractRawVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractStringVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractVector;
+import com.oracle.truffle.r.runtime.interop.ForeignArray2R;
 import com.oracle.truffle.r.runtime.nodes.RBaseNode;
 import com.oracle.truffle.r.runtime.ops.BinaryLogic;
 import com.oracle.truffle.r.runtime.ops.BinaryLogic.And;
@@ -66,6 +70,7 @@ import com.oracle.truffle.r.runtime.ops.BooleanOperationFactory;
  * operation is implemented by factory object given as a constructor parameter, e.g.
  * {@link com.oracle.truffle.r.runtime.ops.BinaryLogic.And}.
  */
+@ImportStatic({ForeignArray2R.class, com.oracle.truffle.api.interop.Message.class})
 public abstract class BinaryBooleanNode extends RBuiltinNode.Arg2 {
 
     protected static final int CACHE_LIMIT = 5;
@@ -169,7 +174,6 @@ public abstract class BinaryBooleanNode extends RBuiltinNode.Arg2 {
     @Specialization(guards = {"isOneList(left, right)"})
     protected Object doList(VirtualFrame frame, RAbstractVector left, RAbstractVector right,
                     @Cached("create()") CastTypeNode cast,
-
                     @Cached("createRecursive()") BinaryBooleanNode recursive) {
         Object recursiveLeft = left;
         if (isRAbstractListVector(left)) {
@@ -240,6 +244,17 @@ public abstract class BinaryBooleanNode extends RBuiltinNode.Arg2 {
         return (isRAbstractVector(value) && ((RAbstractVector) value).getLength() == 0);
     }
 
+    @Specialization(guards = {"isForeignVector(left, hasSize) || isForeignVector(right, hasSize)"})
+    protected Object doForeignVector(VirtualFrame frame, TruffleObject left, TruffleObject right,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R leftForeignArray2R,
+                    @Cached("createForeignArray2R()") ForeignArray2R rightForeignArray2R,
+                    @Cached("createRecursive()") BinaryBooleanNode recursive) {
+        Object oLeft = leftForeignArray2R.execute(left, true);
+        Object oRight = rightForeignArray2R.execute(right, true);
+        return recursive.execute(frame, oLeft, oRight);
+    }
+
     @SuppressWarnings("unused")
     @Fallback
     protected Object doInvalidType(Object left, Object right) {
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticNode.java
index 1f0892d728..46d804b6c2 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticNode.java
@@ -26,7 +26,11 @@ import com.oracle.truffle.api.CompilerDirectives;
 import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.api.dsl.Cached;
 import com.oracle.truffle.api.dsl.Fallback;
+import com.oracle.truffle.api.dsl.ImportStatic;
 import com.oracle.truffle.api.dsl.Specialization;
+import com.oracle.truffle.api.interop.Message;
+import com.oracle.truffle.api.interop.TruffleObject;
+import com.oracle.truffle.api.nodes.Node;
 import com.oracle.truffle.r.nodes.primitive.UnaryMapNode;
 import com.oracle.truffle.r.nodes.profile.TruffleBoundaryNode;
 import com.oracle.truffle.r.runtime.RError;
@@ -37,10 +41,12 @@ import com.oracle.truffle.r.runtime.data.model.RAbstractDoubleVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractIntVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractLogicalVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractVector;
+import com.oracle.truffle.r.runtime.interop.ForeignArray2R;
 import com.oracle.truffle.r.runtime.nodes.RBaseNode;
 import com.oracle.truffle.r.runtime.ops.UnaryArithmetic;
 import com.oracle.truffle.r.runtime.ops.UnaryArithmeticFactory;
 
+@ImportStatic({ForeignArray2R.class, Message.class})
 public abstract class UnaryArithmeticNode extends UnaryNode {
 
     protected final UnaryArithmeticFactory unary;
@@ -95,6 +101,19 @@ public abstract class UnaryArithmeticNode extends UnaryNode {
         return this;
     }
 
+    @Specialization(guards = {"isForeignVector(obj, hasSize)"})
+    protected Object doForeignVector(TruffleObject obj,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R foreignArray2R,
+                    @Cached("createRecursive()") UnaryArithmeticNode recursive) {
+        Object vec = foreignArray2R.execute(obj, true);
+        return recursive.execute(vec);
+    }
+
+    protected UnaryArithmeticNode createRecursive() {
+        return UnaryArithmeticNodeGen.create(unary);
+    }
+
     @Fallback
     protected Object invalidArgType(Object operand) {
         CompilerDirectives.transferToInterpreter();
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticReduceNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticReduceNode.java
index 5b66205f4b..605ce73f7e 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticReduceNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryArithmeticReduceNode.java
@@ -24,8 +24,12 @@ package com.oracle.truffle.r.nodes.unary;
 
 import com.oracle.truffle.api.CompilerDirectives;
 import com.oracle.truffle.api.dsl.Cached;
+import com.oracle.truffle.api.dsl.ImportStatic;
 import com.oracle.truffle.api.dsl.Specialization;
 import com.oracle.truffle.api.dsl.TypeSystemReference;
+import com.oracle.truffle.api.interop.Message;
+import com.oracle.truffle.api.interop.TruffleObject;
+import com.oracle.truffle.api.nodes.Node;
 import com.oracle.truffle.api.profiles.ConditionProfile;
 import com.oracle.truffle.r.runtime.RError;
 import com.oracle.truffle.r.runtime.RRuntime;
@@ -41,6 +45,7 @@ import com.oracle.truffle.r.runtime.data.RRaw;
 import com.oracle.truffle.r.runtime.data.RRawVector;
 import com.oracle.truffle.r.runtime.data.RStringVector;
 import com.oracle.truffle.r.runtime.data.RTypes;
+import com.oracle.truffle.r.runtime.interop.ForeignArray2R;
 import com.oracle.truffle.r.runtime.nodes.RBaseNode;
 import com.oracle.truffle.r.runtime.ops.BinaryArithmetic;
 import com.oracle.truffle.r.runtime.ops.BinaryArithmeticFactory;
@@ -54,6 +59,7 @@ import com.oracle.truffle.r.runtime.ops.na.NACheck;
  * (e.g. logical). The only situation where semantics of finite is different to na.rm is double
  * values: na.rm removes NA and NaN, but not -/+Inf.
  */
+@ImportStatic({ForeignArray2R.class, Message.class, RRuntime.class})
 @TypeSystemReference(RTypes.class)
 public abstract class UnaryArithmeticReduceNode extends RBaseNode {
 
@@ -420,6 +426,27 @@ public abstract class UnaryArithmeticReduceNode extends RBaseNode {
         throw error(RError.Message.INVALID_TYPE_ARGUMENT, "raw");
     }
 
+    @Specialization(guards = {"isForeignVector(obj, hasSize)"})
+    protected Object doForeignVector(TruffleObject obj, boolean naRm, boolean finite,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R foreignArray2R,
+                    @Cached("createRecursive()") UnaryArithmeticReduceNode recursive) {
+        Object vec = foreignArray2R.execute(obj, true);
+        return recursive.executeReduce(vec, naRm, finite);
+    }
+
+    @Specialization(guards = {"isForeignObject(obj)"})
+    protected Object doForeign(TruffleObject obj, boolean naRm, boolean finite,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R foreignArray2R,
+                    @Cached("createRecursive()") UnaryArithmeticReduceNode recursive) {
+        throw error(RError.Message.INVALID_TYPE_ARGUMENT, "external object");
+    }
+
+    protected UnaryArithmeticReduceNode createRecursive() {
+        return UnaryArithmeticReduceNodeGen.create(semantics, factory);
+    }
+
     public static final class ReduceSemantics {
 
         private final int intStart;
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryNotNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryNotNode.java
index c3ff637759..d2b835a272 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryNotNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/UnaryNotNode.java
@@ -27,8 +27,14 @@ import static com.oracle.truffle.r.runtime.builtins.RBehavior.PURE_ARITHMETIC;
 import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.PRIMITIVE;
 
 import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
+import com.oracle.truffle.api.dsl.Cached;
 import com.oracle.truffle.api.dsl.Fallback;
+import com.oracle.truffle.api.dsl.ImportStatic;
 import com.oracle.truffle.api.dsl.Specialization;
+import com.oracle.truffle.api.frame.VirtualFrame;
+import com.oracle.truffle.api.interop.Message;
+import com.oracle.truffle.api.interop.TruffleObject;
+import com.oracle.truffle.api.nodes.Node;
 import com.oracle.truffle.api.profiles.ConditionProfile;
 import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
 import com.oracle.truffle.r.runtime.RError;
@@ -45,9 +51,11 @@ import com.oracle.truffle.r.runtime.data.model.RAbstractDoubleVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractIntVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractStringVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractVector;
+import com.oracle.truffle.r.runtime.interop.ForeignArray2R;
 import com.oracle.truffle.r.runtime.ops.na.NACheck;
 import com.oracle.truffle.r.runtime.ops.na.NAProfile;
 
+@ImportStatic({ForeignArray2R.class, Message.class})
 @RBuiltin(name = "!", kind = PRIMITIVE, parameterNames = {""}, dispatch = OPS_GROUP_GENERIC, behavior = PURE_ARITHMETIC)
 public abstract class UnaryNotNode extends RBuiltinNode.Arg1 {
 
@@ -207,6 +215,19 @@ public abstract class UnaryNotNode extends RBuiltinNode.Arg1 {
         return RDataFactory.createEmptyLogicalVector();
     }
 
+    @Specialization(guards = {"isForeignVector(obj, hasSize)"})
+    protected Object doForeign(VirtualFrame frame, TruffleObject obj,
+                    @Cached("HAS_SIZE.createNode()") Node hasSize,
+                    @Cached("createForeignArray2R()") ForeignArray2R foreignArray2R,
+                    @Cached("createRecursive()") UnaryNotNode recursive) {
+        Object vec = foreignArray2R.execute(obj, true);
+        return recursive.execute(frame, vec);
+    }
+
+    protected UnaryNotNode createRecursive() {
+        return UnaryNotNodeGen.create();
+    }
+
     @Fallback
     protected Object invalidArgType(@SuppressWarnings("unused") Object operand) {
         throw error(RError.Message.INVALID_ARG_TYPE);
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 08d6daef45..4de0b39a6e 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
@@ -46058,6 +46058,30 @@ NULL
 #range(c(T, F, NA, NA, T), na.rm=T)
 [1] 0 1
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_range.testRangeCharacter#
+#range(c('1', '2', '3'))
+[1] "1" "3"
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_range.testRangeCharacter#
+#range(c('1', '2', '3'), finite=T)
+[1] "1" "3"
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_range.testRangeCharacter#
+#range(c('1', '2', '3'), na.rm=T)
+[1] "1" "3"
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_range.testRangeCharacter#
+#range(c('a', 'b', 'c'))
+[1] "a" "c"
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_range.testRangeCharacter#
+#range(c('a', 'b', 'c'), finite=T)
+[1] "a" "c"
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_range.testRangeCharacter#
+#range(c('a', 'b', 'c'), na.rm=T)
+[1] "a" "c"
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_range.testrange1#
 #argv <- list(c(0.0303542455381287, 0.030376780241572, 0.030376780241572, 0.0317964665585001, 0.0332612222823148, 0.0332612222823148, 0.0332612222823148, 0.0332612222823148, 0.0332612222823148, 0.0332612222823148, 0.0332612222823148, 0.0334189652064179, 0.0352217414818821, 0.0354245538128718, 0.0354245538128718, 0.0376780241572021, 0.0376780241572021, 0.0376780241572021, 0.0376780241572021, 0.0406300703082748, 0.0406300703082748, 0.0406300703082748, 0.0440778799351001, 0.048021453037678, 0.0524607896160087, 0.0524607896160087, 0.0524607896160087, 0.0628267531999279, 0.0693167477915991, 0.0981611681990265, 0.134937804218497, 0.179646655850009, 0.437804218496485));range(argv[[1]][[1]],argv[[1]][[2]], na.rm = FALSE);
 [1] 0.03035425 0.03037678
@@ -133258,6 +133282,1462 @@ NULL
 [external object]
 [1] 1.1 2.1 3.1
 
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 0, 1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$fieldBooleanArray) }
+[1] 1 0 1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 0, 1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listBoolean) }
+[1] 1 0 1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$fieldByteArray) }
+[1] 1 2 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$fieldIntegerArray) }
+[1] 1 2 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$fieldLongArray) }
+[1] 1 2 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$fieldShortArray) }
+[1] 1 2 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listByte) }
+[1] 1 2 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listInteger) }
+[1] 1 2 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listLong) }
+[1] 1 2 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listShort) }
+[1] 1 2 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$fieldDoubleArray) }
+[1] 1.1 2.1 3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$fieldFloatArray) }
+[1] 1.1 2.1 3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listDouble) }
+[1] 1.1 2.1 3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listFloat) }
+[1] 1.1 2.1 3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in abs(to$fieldCharArray) : ', '<<<NEWLINE>>>', ' non-numeric argument to mathematical function', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$fieldCharArray) }
+Error in abs(to$fieldCharArray) :
+  non-numeric argument to mathematical function
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in abs(to$fieldStringArray) : ', '<<<NEWLINE>>>', ' non-numeric argument to mathematical function', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$fieldStringArray) }
+Error in abs(to$fieldStringArray) :
+  non-numeric argument to mathematical function
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in abs(to$listChar) : non-numeric argument to mathematical function', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listChar) }
+Error in abs(to$listChar) : non-numeric argument to mathematical function
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in abs(to$listString) : ', '<<<NEWLINE>>>', ' non-numeric argument to mathematical function', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listString) }
+Error in abs(to$listString) :
+  non-numeric argument to mathematical function
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in abs(to$listStringInt) : ', '<<<NEWLINE>>>', ' non-numeric argument to mathematical function', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to$listStringInt) }
+Error in abs(to$listStringInt) :
+  non-numeric argument to mathematical function
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in abs(to) : non-numeric argument to mathematical function', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));abs(to) }
+Error in abs(to) : non-numeric argument to mathematical function
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c('1', '3') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listStringInt) }
+[1] "1" "3"
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c('a', 'c') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$fieldCharArray) }
+[1] "a" "c"
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c('a', 'c') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$fieldStringArray) }
+[1] "a" "c"
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c('a', 'c') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listChar) }
+[1] "a" "c"
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c('a', 'c') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listString) }
+[1] "a" "c"
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(0, 1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$fieldBooleanArray) }
+[1] 0 1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(0, 1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listBoolean) }
+[1] 0 1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$fieldByteArray) }
+[1] 1 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$fieldIntegerArray) }
+[1] 1 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$fieldLongArray) }
+[1] 1 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$fieldShortArray) }
+[1] 1 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listByte) }
+[1] 1 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listInteger) }
+[1] 1 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listLong) }
+[1] 1 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listShort) }
+[1] 1 3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1, 3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$fieldDoubleArray) }
+[1] 1.1 3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1, 3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$fieldFloatArray) }
+[1] 1.1 3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1, 3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listDouble) }
+[1] 1.1 3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1, 3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to$listFloat) }
+[1] 1.1 3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignUnaryArithmeticReduceOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in min(x, na.rm = na.rm) : ', '<<<NEWLINE>>>', ' invalid \'type\' (external object) of argument', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));range(to) }
+Error in min(x, na.rm = na.rm) :
+  invalid 'type' (external object) of argument
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$fieldByteArray) }
+[1] -1 -2 -3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$fieldIntegerArray) }
+[1] -1 -2 -3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$fieldLongArray) }
+[1] -1 -2 -3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$fieldShortArray) }
+[1] -1 -2 -3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listByte) }
+[1] -1 -2 -3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listInteger) }
+[1] -1 -2 -3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listLong) }
+[1] -1 -2 -3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listShort) }
+[1] -1 -2 -3
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$fieldDoubleArray) }
+[1] -1.1 -2.1 -3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$fieldFloatArray) }
+[1] -1.1 -2.1 -3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listDouble) }
+[1] -1.1 -2.1 -3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listFloat) }
+[1] -1.1 -2.1 -3.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$fieldBooleanArray) }
+[1] -1  0 -1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { -c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listBoolean) }
+[1] -1  0 -1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$fieldByteArray }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$fieldIntegerArray }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$fieldLongArray }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$fieldShortArray }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listByte }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listInteger }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listLong }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listShort }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$fieldDoubleArray }
+[1] 2.1 3.1 4.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$fieldFloatArray }
+[1] 2.1 3.1 4.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listDouble }
+[1] 2.1 3.1 4.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listFloat }
+[1] 2.1 3.1 4.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$fieldBooleanArray }
+[1] 2 1 2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { 1 + c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listBoolean }
+[1] 2 1 2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$fieldByteArray }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$fieldIntegerArray }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$fieldLongArray }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$fieldShortArray }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listByte }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listInteger }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listLong }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listShort }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$fieldDoubleArray }
+[1] 2.1 4.1 6.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$fieldFloatArray }
+[1] 2.1 4.1 6.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listDouble }
+[1] 2.1 4.1 6.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listFloat }
+[1] 2.1 4.1 6.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$fieldBooleanArray }
+[1] 2 2 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1, 2, 3) + c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listBoolean }
+[1] 2 2 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldByteArray + 1 }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldIntegerArray + 1 }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldLongArray + 1 }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldShortArray + 1 }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listByte + 1 }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listInteger + 1 }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listLong + 1 }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listShort + 1 }
+[1] 2 3 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldByteArray + c(1, 2, 3) }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldIntegerArray + c(1, 2, 3) }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldLongArray + c(1, 2, 3) }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldShortArray + c(1, 2, 3) }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listByte + c(1, 2, 3) }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listInteger + c(1, 2, 3) }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listLong + c(1, 2, 3) }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listShort + c(1, 2, 3) }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldByteArray + to$fieldByteArray }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldIntegerArray + to$fieldIntegerArray }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldLongArray + to$fieldLongArray }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldShortArray + to$fieldShortArray }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listByte + to$listByte }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listInteger + to$listInteger }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listLong + to$listLong }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) + c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listShort + to$listShort }
+[1] 2 4 6
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldDoubleArray + 1 }
+[1] 2.1 3.1 4.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldFloatArray + 1 }
+[1] 2.1 3.1 4.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listDouble + 1 }
+[1] 2.1 3.1 4.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listFloat + 1 }
+[1] 2.1 3.1 4.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldDoubleArray + c(1, 2, 3) }
+[1] 2.1 4.1 6.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldFloatArray + c(1, 2, 3) }
+[1] 2.1 4.1 6.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listDouble + c(1, 2, 3) }
+[1] 2.1 4.1 6.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listFloat + c(1, 2, 3) }
+[1] 2.1 4.1 6.1
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldDoubleArray + to$fieldDoubleArray }
+[1] 2.2 4.2 6.2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldFloatArray + to$fieldFloatArray }
+[1] 2.2 4.2 6.2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listDouble + to$listDouble }
+[1] 2.2 4.2 6.2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) + c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listFloat + to$listFloat }
+[1] 2.2 4.2 6.2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldBooleanArray + 1 }
+[1] 2 1 2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) + 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listBoolean + 1 }
+[1] 2 1 2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldBooleanArray + c(1, 2, 3) }
+[1] 2 2 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) + c(1, 2, 3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listBoolean + c(1, 2, 3) }
+[1] 2 2 4
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) + c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldBooleanArray + to$fieldBooleanArray }
+[1] 2 0 2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) + c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listBoolean + to$listBoolean }
+[1] 2 0 2
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in -(to$fieldCharArray) : invalid argument to unary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$fieldCharArray) }
+Error in -(to$fieldCharArray) : invalid argument to unary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in -(to$fieldStringArray) : invalid argument to unary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$fieldStringArray) }
+Error in -(to$fieldStringArray) : invalid argument to unary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in -(to$listChar) : invalid argument to unary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listChar) }
+Error in -(to$listChar) : invalid argument to unary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in -(to$listString) : invalid argument to unary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listString) }
+Error in -(to$listString) : invalid argument to unary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in -(to$listStringInt) : invalid argument to unary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));-(to$listStringInt) }
+Error in -(to$listStringInt) : invalid argument to unary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in 1 + to : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to }
+Error in 1 + to : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in 1 + to$fieldCharArray : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$fieldCharArray }
+Error in 1 + to$fieldCharArray : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in 1 + to$fieldStringArray : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$fieldStringArray }
+Error in 1 + to$fieldStringArray :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in 1 + to$listChar : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listChar }
+Error in 1 + to$listChar : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in 1 + to$listString : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listString }
+Error in 1 + to$listString : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in 1 + to$listStringInt : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));1 + to$listStringInt }
+Error in 1 + to$listStringInt : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in NULL + to$fieldCharArray : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$fieldCharArray }
+Error in NULL + to$fieldCharArray :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in NULL + to$fieldStringArray : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$fieldStringArray }
+Error in NULL + to$fieldStringArray :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in NULL + to$listChar : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listChar }
+Error in NULL + to$listChar : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in NULL + to$listString : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listString }
+Error in NULL + to$listString : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in NULL + to$listStringInt : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listStringInt }
+Error in NULL + to$listStringInt :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(1, 2, 3) + to$fieldCharArray : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$fieldCharArray }
+Error in c(1, 2, 3) + to$fieldCharArray :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(1, 2, 3) + to$fieldStringArray : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$fieldStringArray }
+Error in c(1, 2, 3) + to$fieldStringArray :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(1, 2, 3) + to$listChar : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listChar }
+Error in c(1, 2, 3) + to$listChar :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(1, 2, 3) + to$listString : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listString }
+Error in c(1, 2, 3) + to$listString :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(1, 2, 3) + to$listStringInt : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(1, 2, 3) + to$listStringInt }
+Error in c(1, 2, 3) + to$listStringInt :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to + 1 : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to + 1 }
+Error in to + 1 : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to + to : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to + to }
+Error in to + to : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldCharArray + 1 : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldCharArray + 1 }
+Error in to$fieldCharArray + 1 : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldCharArray + NULL : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldCharArray + NULL }
+Error in to$fieldCharArray + NULL :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldCharArray + c(1, 2, 3) : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldCharArray + c(1, 2, 3) }
+Error in to$fieldCharArray + c(1, 2, 3) :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldCharArray + to$fieldCharArray : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldCharArray + to$fieldCharArray }
+Error in to$fieldCharArray + to$fieldCharArray :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldStringArray + 1 : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldStringArray + 1 }
+Error in to$fieldStringArray + 1 :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldStringArray + NULL : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldStringArray + NULL }
+Error in to$fieldStringArray + NULL :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldStringArray + c(1, 2, 3) : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldStringArray + c(1, 2, 3) }
+Error in to$fieldStringArray + c(1, 2, 3) :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldStringArray + to$fieldStringArray : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldStringArray + to$fieldStringArray }
+Error in to$fieldStringArray + to$fieldStringArray :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listChar + 1 : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listChar + 1 }
+Error in to$listChar + 1 : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listChar + NULL : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listChar + NULL }
+Error in to$listChar + NULL : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listChar + c(1, 2, 3) : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listChar + c(1, 2, 3) }
+Error in to$listChar + c(1, 2, 3) :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listChar + to$listChar : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listChar + to$listChar }
+Error in to$listChar + to$listChar :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listString + 1 : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listString + 1 }
+Error in to$listString + 1 : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listString + NULL : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listString + NULL }
+Error in to$listString + NULL : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listString + c(1, 2, 3) : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listString + c(1, 2, 3) }
+Error in to$listString + c(1, 2, 3) :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listString + to$listString : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listString + to$listString }
+Error in to$listString + to$listString :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listStringInt + 1 : non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listStringInt + 1 }
+Error in to$listStringInt + 1 : non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listStringInt + NULL : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listStringInt + NULL }
+Error in to$listStringInt + NULL :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listStringInt + c(1, 2, 3) : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listStringInt + c(1, 2, 3) }
+Error in to$listStringInt + c(1, 2, 3) :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listStringInt + to$listStringInt : ', '<<<NEWLINE>>>', ' non-numeric argument to binary operator', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listStringInt + to$listStringInt }
+Error in to$listStringInt + to$listStringInt :
+  non-numeric argument to binary operator
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$fieldBooleanArray }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$fieldByteArray }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$fieldDoubleArray }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$fieldFloatArray }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$fieldIntegerArray }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$fieldLongArray }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$fieldShortArray }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listBoolean }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listByte }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listDouble }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listFloat }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listInteger }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listLong }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL + to$listShort }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldBooleanArray + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldByteArray + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldDoubleArray + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldFloatArray + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldIntegerArray + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldLongArray + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldShortArray + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listBoolean + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listByte + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listDouble + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listFloat + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listInteger + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listLong + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorArithmeticOp#
+#if (!any(R.version$engine == "FastR")) { numeric(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listShort + NULL }
+numeric(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$fieldByteArray) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$fieldIntegerArray) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$fieldLongArray) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$fieldShortArray) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listByte) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listInteger) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listLong) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listShort) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$fieldDoubleArray) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$fieldFloatArray) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listDouble) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listFloat) }
+[1] FALSE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$fieldBooleanArray) }
+[1] FALSE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { !c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listBoolean) }
+[1] FALSE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$fieldByteArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$fieldIntegerArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$fieldLongArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$fieldShortArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listByte }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listInteger }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listLong }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listShort }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$fieldDoubleArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$fieldFloatArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listDouble }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listFloat }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$fieldBooleanArray }
+[1]  TRUE FALSE  TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { T & c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listBoolean }
+[1]  TRUE FALSE  TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldByteArray & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldIntegerArray & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldLongArray & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldShortArray & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listByte & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listInteger & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listLong & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listShort & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldByteArray & to$fieldByteArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldIntegerArray & to$fieldIntegerArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldLongArray & to$fieldLongArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldShortArray & to$fieldShortArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listByte & to$listByte }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listInteger & to$listInteger }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listLong & to$listLong }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listShort & to$listShort }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldByteArray & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldIntegerArray & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldLongArray & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldShortArray & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listByte & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listInteger & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listLong & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1,2,3) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listShort & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldDoubleArray & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldFloatArray & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listDouble & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listFloat & T }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldDoubleArray & to$fieldDoubleArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldFloatArray & to$fieldFloatArray }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listDouble & to$listDouble }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listFloat & to$listFloat }
+[1] TRUE TRUE TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldDoubleArray & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldFloatArray & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listDouble & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(1.1,2.1,3.1) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listFloat & c(T, T, F) }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$fieldByteArray }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$fieldIntegerArray }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$fieldLongArray }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$fieldShortArray }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listByte }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listInteger }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listLong }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1,2,3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listShort }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$fieldDoubleArray }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$fieldFloatArray }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listDouble }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(1.1,2.1,3.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listFloat }
+[1]  TRUE  TRUE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$fieldBooleanArray }
+[1]  TRUE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(T, T, F) & c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listBoolean }
+[1]  TRUE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldBooleanArray & T }
+[1]  TRUE FALSE  TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) & T } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listBoolean & T }
+[1]  TRUE FALSE  TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldBooleanArray & c(T, T, F) }
+[1]  TRUE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) & c(T, T, F) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listBoolean & c(T, T, F) }
+[1]  TRUE FALSE FALSE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) & c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldBooleanArray & to$fieldBooleanArray }
+[1]  TRUE FALSE  TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { c(TRUE,FALSE,TRUE) & c(TRUE,FALSE,TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listBoolean & to$listBoolean }
+[1]  TRUE FALSE  TRUE
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in !(to$fieldCharArray) : invalid argument type', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$fieldCharArray) }
+Error in !(to$fieldCharArray) : invalid argument type
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in !(to$fieldStringArray) : invalid argument type', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$fieldStringArray) }
+Error in !(to$fieldStringArray) : invalid argument type
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in !(to$listChar) : invalid argument type', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listChar) }
+Error in !(to$listChar) : invalid argument type
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in !(to$listString) : invalid argument type', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listString) }
+Error in !(to$listString) : invalid argument type
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in !(to$listStringInt) : invalid argument type', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));!(to$listStringInt) }
+Error in !(to$listStringInt) : invalid argument type
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in T & to : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to }
+Error in T & to :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in T & to$fieldCharArray : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$fieldCharArray }
+Error in T & to$fieldCharArray :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in T & to$fieldStringArray : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$fieldStringArray }
+Error in T & to$fieldStringArray :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in T & to$listChar : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listChar }
+Error in T & to$listChar :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in T & to$listString : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listString }
+Error in T & to$listString :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in T & to$listStringInt : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));T & to$listStringInt }
+Error in T & to$listStringInt :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(T, T, F) & to$fieldCharArray : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$fieldCharArray }
+Error in c(T, T, F) & to$fieldCharArray :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(T, T, F) & to$fieldStringArray : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$fieldStringArray }
+Error in c(T, T, F) & to$fieldStringArray :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(T, T, F) & to$listChar : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listChar }
+Error in c(T, T, F) & to$listChar :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(T, T, F) & to$listString : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listString }
+Error in c(T, T, F) & to$listString :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in c(T, T, F) & to$listStringInt : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(T, T, F) & to$listStringInt }
+Error in c(T, T, F) & to$listStringInt :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to & T : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to & T }
+Error in to & T :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to & to : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to & to }
+Error in to & to :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldCharArray & T : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldCharArray & T }
+Error in to$fieldCharArray & T :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldCharArray & c(T, T, F) : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldCharArray & c(T, T, F) }
+Error in to$fieldCharArray & c(T, T, F) :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldCharArray & to$fieldCharArray : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldCharArray & to$fieldCharArray }
+Error in to$fieldCharArray & to$fieldCharArray :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldStringArray & T : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldStringArray & T }
+Error in to$fieldStringArray & T :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldStringArray & c(T, T, F) : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldStringArray & c(T, T, F) }
+Error in to$fieldStringArray & c(T, T, F) :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$fieldStringArray & to$fieldStringArray : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldStringArray & to$fieldStringArray }
+Error in to$fieldStringArray & to$fieldStringArray :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listChar & T : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listChar & T }
+Error in to$listChar & T :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listChar & c(T, T, F) : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listChar & c(T, T, F) }
+Error in to$listChar & c(T, T, F) :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listChar & to$listChar : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listChar & to$listChar }
+Error in to$listChar & to$listChar :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listString & T : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listString & T }
+Error in to$listString & T :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listString & c(T, T, F) : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listString & c(T, T, F) }
+Error in to$listString & c(T, T, F) :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listString & to$listString : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listString & to$listString }
+Error in to$listString & to$listString :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listStringInt & T : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listStringInt & T }
+Error in to$listStringInt & T :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listStringInt & c(T, T, F) : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listStringInt & c(T, T, F) }
+Error in to$listStringInt & c(T, T, F) :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { cat('Error in to$listStringInt & to$listStringInt : ', '<<<NEWLINE>>>', ' operations are possible only for numeric, logical or complex types', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listStringInt & to$listStringInt }
+Error in to$listStringInt & to$listStringInt :
+  operations are possible only for numeric, logical or complex types
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$fieldBooleanArray }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$fieldByteArray }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$fieldCharArray }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$fieldDoubleArray }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$fieldFloatArray }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$fieldIntegerArray }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$fieldLongArray }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$fieldShortArray }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$fieldStringArray }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listBoolean }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listByte }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listChar }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listDouble }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listFloat }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listInteger }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listLong }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listShort }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listString }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));NULL & to$listStringInt }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldBooleanArray & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldByteArray & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldCharArray & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldDoubleArray & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldFloatArray & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldIntegerArray & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldLongArray & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldShortArray & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$fieldStringArray & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listBoolean & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listByte & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listChar & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listDouble & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listFloat & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listInteger & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listLong & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listShort & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listString & NULL }
+logical(0)
+
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testForeignVectorBooleanOp#
+#if (!any(R.version$engine == "FastR")) { logical(0) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));to$listStringInt & NULL }
+logical(0)
+
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFromArray#
 #if (!any(R.version$engine == "FastR")) { "character" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticCharArray); typeof(v) }
 [1] "character"
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/fastr/TestJavaInterop.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/fastr/TestJavaInterop.java
index 92e3863811..9b031d6eec 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/fastr/TestJavaInterop.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/fastr/TestJavaInterop.java
@@ -993,6 +993,226 @@ public class TestJavaInterop extends TestBase {
                         "cat('Error in if (T) print(\\'OK\\') : ', '\n', '  argument is not interpretable as logical', '\n')");
     }
 
+    @Test
+    public void testForeignVectorArithmeticOp() throws NoSuchFieldException,
+                    IllegalAccessException {
+        TestJavaInterop.this.testForeignVectorArithmeticOp("fieldBooleanArray", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("fieldByteArray", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("fieldDoubleArray", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("fieldFloatArray", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("fieldIntegerArray", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("fieldLongArray", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("fieldShortArray", false);
+
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listBoolean", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listByte", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listDouble", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listFloat", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listInteger", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listLong", false);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listShort", false);
+
+        TestJavaInterop.this.testForeignVectorArithmeticOp("fieldCharArray", true);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("fieldStringArray", true);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listString", true);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listStringInt", true);
+        TestJavaInterop.this.testForeignVectorArithmeticOp("listChar", true);
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to + 1", "cat('Error in to + 1 : non-numeric argument to binary operator', '\n')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "1 + to", "cat('Error in 1 + to : non-numeric argument to binary operator', '\n')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to + to", "cat('Error in to + to : non-numeric argument to binary operator', '\n')");
+    }
+
+    private void testForeignVectorArithmeticOp(String vec, boolean fail) throws NoSuchFieldException, IllegalAccessException {
+        TestClass t = new TestClass();
+
+        String expectedOK;
+        String expectedKO;
+
+        expectedOK = toRVector(t, vec) + " + 1";
+        if (vec.equals("fieldStringArray")) {
+            expectedKO = "cat('Error in to$" + vec + " + 1 : ', '\n', ' non-numeric argument to binary operator', '\n')";
+        } else {
+            expectedKO = "cat('Error in to$" + vec + " + 1 : non-numeric argument to binary operator', '\n')";
+        }
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to$" + vec + " + 1", fail ? expectedKO : expectedOK);
+
+        expectedOK = toRVector(t, vec) + " + c(1, 2, 3)";
+        if (vec.equals("fieldStringArray") || vec.equals("fieldCharArray") || vec.equals("listString") || vec.equals("listStringInt") || vec.equals("listChar")) {
+            expectedKO = "cat('Error in to$" + vec + " + c(1, 2, 3) : ', '\n', ' non-numeric argument to binary operator', '\n')";
+        } else {
+            expectedKO = "cat('Error in to$" + vec + " + c(1, 2, 3) : non-numeric argument to binary operator', '\n')";
+        }
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to$" + vec + " + c(1, 2, 3)", fail ? expectedKO : expectedOK);
+
+        expectedOK = "1 + " + toRVector(t, vec);
+        if (vec.equals("fieldStringArray")) {
+            expectedKO = "cat('Error in 1 + to$" + vec + " : ', '\n', ' non-numeric argument to binary operator', '\n')";
+        } else {
+            expectedKO = "cat('Error in 1 + to$" + vec + " : non-numeric argument to binary operator', '\n')";
+        }
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "1 + to$" + vec, fail ? expectedKO : expectedOK);
+
+        expectedOK = "c(1, 2, 3) + " + toRVector(t, vec);
+        expectedKO = "cat('Error in c(1, 2, 3) + to$" + vec + " : ', '\n', ' non-numeric argument to binary operator', '\n')";
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + " c(1, 2, 3) + to$" + vec, fail ? expectedKO : expectedOK);
+
+        expectedOK = toRVector(t, vec) + " + " + toRVector(t, vec);
+        expectedKO = "cat('Error in to$" + vec + " + to$" + vec + " : ', '\n', ' non-numeric argument to binary operator', '\n')";
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to$" + vec + " + to$" + vec, fail ? expectedKO : expectedOK);
+
+        expectedOK = "-" + toRVector(t, vec);
+        expectedKO = "cat('Error in -(to$" + vec + ") : invalid argument to unary operator', '\n')";
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "-(to$" + vec + ")", fail ? expectedKO : expectedOK);
+
+        expectedOK = "numeric(0)";
+        if (vec.equals("listString") || vec.equals("listChar")) {
+            expectedKO = "cat('Error in to$" + vec + " + NULL : non-numeric argument to binary operator', '\n')";
+        } else {
+            expectedKO = "cat('Error in to$" + vec + " + NULL : ', '\n', ' non-numeric argument to binary operator', '\n')";
+        }
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to$" + vec + " + NULL", fail ? expectedKO : expectedOK);
+
+        expectedOK = "numeric(0)";
+        if (vec.equals("listString") || vec.equals("listChar")) {
+            expectedKO = "cat('Error in NULL + to$" + vec + " : non-numeric argument to binary operator', '\n')";
+        } else {
+            expectedKO = "cat('Error in NULL + to$" + vec + " : ', '\n', ' non-numeric argument to binary operator', '\n')";
+        }
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "NULL + to$" + vec, fail ? expectedKO : expectedOK);
+    }
+
+    @Test
+    public void testForeignVectorBooleanOp() throws NoSuchFieldException,
+                    IllegalAccessException {
+        testForeignVectorBooleanOp("fieldBooleanArray", false);
+        testForeignVectorBooleanOp("fieldByteArray", false);
+        testForeignVectorBooleanOp("fieldDoubleArray", false);
+        testForeignVectorBooleanOp("fieldFloatArray", false);
+        testForeignVectorBooleanOp("fieldIntegerArray", false);
+        testForeignVectorBooleanOp("fieldLongArray", false);
+        testForeignVectorBooleanOp("fieldShortArray", false);
+
+        testForeignVectorBooleanOp("listBoolean", false);
+        testForeignVectorBooleanOp("listByte", false);
+        testForeignVectorBooleanOp("listDouble", false);
+        testForeignVectorBooleanOp("listFloat", false);
+        testForeignVectorBooleanOp("listInteger", false);
+        testForeignVectorBooleanOp("listLong", false);
+        testForeignVectorBooleanOp("listShort", false);
+
+        testForeignVectorBooleanOp("fieldCharArray", true);
+        testForeignVectorBooleanOp("fieldStringArray", true);
+        testForeignVectorBooleanOp("listString", true);
+        testForeignVectorBooleanOp("listStringInt", true);
+        testForeignVectorBooleanOp("listChar", true);
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to & T", "cat('Error in to & T : ', '\n', ' operations are possible only for numeric, logical or complex types', '\n')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "T & to", "cat('Error in T & to : ', '\n', ' operations are possible only for numeric, logical or complex types', '\n')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to & to", "cat('Error in to & to : ', '\n', ' operations are possible only for numeric, logical or complex types', '\n')");
+    }
+
+    private void testForeignVectorBooleanOp(String vec, boolean fail) throws NoSuchFieldException, IllegalAccessException {
+        TestClass t = new TestClass();
+
+        String expectedOK;
+        String expectedKO;
+
+        expectedOK = toRVector(t, vec) + " & T";
+        expectedKO = "cat('Error in to$" + vec + " & T : ', '\n', ' operations are possible only for numeric, logical or complex types', '\n')";
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to$" + vec + " & T", fail ? expectedKO : expectedOK);
+
+        expectedOK = toRVector(t, vec) + " & c(T, T, F)";
+        if (vec.equals("fieldCharArray") || vec.equals("fieldStringArray") || vec.equals("listString") || vec.equals("listChar") || vec.equals("listStringInt")) {
+            expectedKO = "cat('Error in to$" + vec + " & c(T, T, F) : ', '\n', ' operations are possible only for numeric, logical or complex types', '\n')";
+        } else {
+            expectedKO = "cat('Error in to$" + vec + " & c(T, T, F) : operations are possible only for numeric, logical or complex types', '\n')";
+        }
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to$" + vec + " & c(T, T, F)", fail ? expectedKO : expectedOK);
+
+        expectedOK = "T & " + toRVector(t, vec);
+        if (vec.equals("fieldCharArray") || vec.equals("fieldStringArray") || vec.equals("listString") || vec.equals("listChar") || vec.equals("listStringInt")) {
+            expectedKO = "cat('Error in T & to$" + vec + " : ', '\n', ' operations are possible only for numeric, logical or complex types', '\n')";
+        } else {
+            expectedKO = "cat('Error in T & to$" + vec + " : operations are possible only for numeric, logical or complex types', '\n')";
+        }
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "T & to$" + vec, fail ? expectedKO : expectedOK);
+        expectedOK = "c(T, T, F) & " + toRVector(t, vec);
+        expectedKO = "cat('Error in c(T, T, F) & to$" + vec + " : ', '\n', ' operations are possible only for numeric, logical or complex types', '\n')";
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + " c(T, T, F) & to$" + vec, fail ? expectedKO : expectedOK);
+
+        expectedOK = toRVector(t, vec) + " & " + toRVector(t, vec);
+        expectedKO = "cat('Error in to$" + vec + " & to$" + vec + " : ', '\n', ' operations are possible only for numeric, logical or complex types', '\n')";
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to$" + vec + " & to$" + vec, fail ? expectedKO : expectedOK);
+
+        expectedOK = "!" + toRVector(t, vec);
+        expectedKO = "cat('Error in !(to$" + vec + ") : invalid argument type', '\n')";
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "!(to$" + vec + ")", fail ? expectedKO : expectedOK);
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "to$" + vec + " & NULL", "logical(0)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "NULL & to$" + vec, "logical(0)");
+    }
+
+    @Test
+    public void testForeignUnaryArithmeticOp() throws NoSuchFieldException,
+                    IllegalAccessException {
+
+        TestClass t = new TestClass();
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$fieldBooleanArray)", "c(1, 0, 1)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$fieldByteArray)", toRVector(t.fieldByteArray, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$fieldDoubleArray)", toRVector(t.fieldDoubleArray, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$fieldFloatArray)", toRVector(t.fieldFloatArray, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$fieldIntegerArray)", toRVector(t.fieldIntegerArray, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$fieldLongArray)", toRVector(t.fieldLongArray, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$fieldShortArray)", toRVector(t.fieldShortArray, null));
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listBoolean)", "c(1, 0, 1)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listByte)", toRVector(t.listByte, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listDouble)", toRVector(t.listDouble, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listFloat)", toRVector(t.listFloat, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listInteger)", toRVector(t.listInteger, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listLong)", toRVector(t.listLong, null));
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listShort)", toRVector(t.listShort, null));
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$fieldCharArray)", "cat('Error in abs(to$fieldCharArray) : ', '\n', ' non-numeric argument to mathematical function', '\n')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$fieldStringArray)", "cat('Error in abs(to$fieldStringArray) : ', '\n', ' non-numeric argument to mathematical function', '\n')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listString)", "cat('Error in abs(to$listString) : ', '\n', ' non-numeric argument to mathematical function', '\n')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listStringInt)", "cat('Error in abs(to$listStringInt) : ', '\n', ' non-numeric argument to mathematical function', '\n')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to$listChar)", "cat('Error in abs(to$listChar) : non-numeric argument to mathematical function', '\n')");
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "abs(to)", "cat('Error in abs(to) : non-numeric argument to mathematical function', '\n')");
+    }
+
+    @Test
+    public void testForeignUnaryArithmeticReduceOp() throws NoSuchFieldException,
+                    IllegalAccessException {
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$fieldBooleanArray)", "c(0, 1)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$fieldByteArray)", "c(1, 3)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$fieldDoubleArray)", "c(1.1, 3.1)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$fieldFloatArray)", "c(1.1, 3.1)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$fieldIntegerArray)", "c(1, 3)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$fieldLongArray)", "c(1, 3)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$fieldShortArray)", "c(1, 3)");
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listBoolean)", "c(0, 1)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listByte)", "c(1, 3)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listDouble)", "c(1.1, 3.1)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listFloat)", "c(1.1, 3.1)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listInteger)", "c(1, 3)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listLong)", "c(1, 3)");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listShort)", "c(1, 3)");
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$fieldCharArray)", "c('a', 'c')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$fieldStringArray)", "c('a', 'c')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listString)", "c('a', 'c')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listStringInt)", "c('1', '3')");
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to$listChar)", "c('a', 'c')");
+
+        assertEvalFastR(CREATE_TRUFFLE_OBJECT + "range(to)", "cat('Error in min(x, na.rm = na.rm) : ', '\n', ' invalid \\'type\\' (external object) of argument', '\n')");
+    }
+
     private String getRValue(Object value) {
         if (value == null) {
             return "NULL";
@@ -1034,6 +1254,11 @@ public class TestJavaInterop extends TestBase {
         return value.toString();
     }
 
+    private String toRVector(TestClass t, String fieldName) throws NoSuchFieldException, IllegalAccessException {
+        Field fld = t.getClass().getDeclaredField(fieldName);
+        return toRVector(fld.get(t), null);
+    }
+
     private String toRVector(Object o, String asXXX) {
         if (o.getClass().isArray()) {
             List<Object> l = new ArrayList<>();
@@ -1041,8 +1266,10 @@ public class TestJavaInterop extends TestBase {
                 l.add(Array.get(o, i));
             }
             return toRVector(l, asXXX);
+        } else if (o instanceof List) {
+            return toRVector((List<?>) o, asXXX);
         }
-        Assert.fail(o + " should have been an array");
+        Assert.fail(o + " should have been an array or list");
         return null;
     }
 
-- 
GitLab