diff --git a/ci.hocon b/ci.hocon
index 14a118d4bce34232d3b76025d0022397ec46127b..1372299472405eec9b504a4625d8c2575d2e2f07 100644
--- a/ci.hocon
+++ b/ci.hocon
@@ -185,7 +185,7 @@ builds = [
   ${gateTestNoSpecialsLinux}  {capabilities : [linux, amd64, fast],  targets : [gate], name: "gate-test-linux-amd64-nospecials"}
   ${gateTestDarwin}           {capabilities : [darwin, amd64], targets : [gate], name: "gate-test-darwin-amd64"}
   ${gateStyle}                {capabilities : [linux, amd64],  targets : [gate], name: "gate-style-linux-amd64"}
-  ${rbcheck}                  {capabilities : [linux, amd64],  targets : [gate], name: "gate-rbcheck-linux-amd64"}
+#  ${rbcheck}                  {capabilities : [linux, amd64],  targets : [gate], name: "gate-rbcheck-linux-amd64"}
   ${internalPkgtest}          {capabilities : [linux, amd64],  targets : [gate], name: "gate-internal-pkgtest-linux-amd64"}
   ${gateTestManagedLinux}     {capabilities : [linux, amd64, fast],  targets : [gate], name: "gate-test-managed-linux-amd64"}
   ${gateTestJava9Linux}       {capabilities : [linux, amd64, fast],  targets : [gate], name: "gate-test-java9-linux-amd64"}
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BasePackage.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BasePackage.java
index a1be8ea5fe3b4abb8eacd139d58327e7367c394e..6720e2f6346a5a024521b1aea106227d27423c65 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BasePackage.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/BasePackage.java
@@ -43,6 +43,8 @@ import com.oracle.truffle.r.nodes.builtin.base.fastpaths.IntersectFastPathNodeGe
 import com.oracle.truffle.r.nodes.builtin.base.fastpaths.IsElementFastPathNodeGen;
 import com.oracle.truffle.r.nodes.builtin.base.fastpaths.MatrixFastPathNodeGen;
 import com.oracle.truffle.r.nodes.builtin.base.fastpaths.SetDiffFastPathNodeGen;
+import com.oracle.truffle.r.nodes.builtin.base.fastpaths.SubscriptDataFrameFastPathNodeGen;
+import com.oracle.truffle.r.nodes.builtin.base.fastpaths.SubsetDataFrameFastPathNodeGen;
 import com.oracle.truffle.r.nodes.builtin.base.fastpaths.VectorFastPathsFactory.DoubleFastPathNodeGen;
 import com.oracle.truffle.r.nodes.builtin.base.fastpaths.VectorFastPathsFactory.IntegerFastPathNodeGen;
 import com.oracle.truffle.r.nodes.builtin.base.foreign.CallAndExternalFunctions;
@@ -790,6 +792,8 @@ public class BasePackage extends RBuiltinPackage {
     @Override
     public void loadOverrides(MaterializedFrame baseFrame) {
         super.loadOverrides(baseFrame);
+        addFastPath(baseFrame, "[[.data.frame", SubscriptDataFrameFastPathNodeGen::create, RVisibility.ON);
+        addFastPath(baseFrame, "[.data.frame", SubsetDataFrameFastPathNodeGen::create, RVisibility.ON);
         addFastPath(baseFrame, "matrix", MatrixFastPathNodeGen::create, Matrix.class);
         addFastPath(baseFrame, "setdiff", SetDiffFastPathNodeGen::create, RVisibility.ON);
         addFastPath(baseFrame, "get", GetFastPathNodeGen::create, RVisibility.ON);
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mapply.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mapply.java
index e649410a8914d9aa6c9bffc3cd69e3e41c9960b0..8ffd0ed1d7dae9918eda5d443c2bb0b19f9a1434 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mapply.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Mapply.java
@@ -28,10 +28,13 @@ import static com.oracle.truffle.r.runtime.builtins.RBehavior.COMPLEX;
 import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.INTERNAL;
 
 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.Specialization;
 import com.oracle.truffle.api.frame.VirtualFrame;
+import com.oracle.truffle.api.nodes.ExplodeLoop;
 import com.oracle.truffle.api.nodes.Node;
+import com.oracle.truffle.api.profiles.BranchProfile;
 import com.oracle.truffle.r.nodes.access.WriteVariableNode;
 import com.oracle.truffle.r.nodes.access.WriteVariableNode.Mode;
 import com.oracle.truffle.r.nodes.access.variables.ReadVariableNode;
@@ -117,7 +120,10 @@ public abstract class Mapply extends RBuiltinNode.Arg3 {
             }
         }
 
-        @Child private GetNamesAttributeNode getNames = GetNamesAttributeNode.create();
+        @Child private GetNamesAttributeNode getNamesDots = GetNamesAttributeNode.create();
+        @Child private GetNamesAttributeNode getNamesMoreArgs = GetNamesAttributeNode.create();
+
+        private final BranchProfile nonPerfectMatch = BranchProfile.create();
 
         public abstract Object[] execute(VirtualFrame frame, RAbstractListVector dots, RFunction function, RAbstractListVector additionalArguments);
 
@@ -125,18 +131,46 @@ public abstract class Mapply extends RBuiltinNode.Arg3 {
             return extractNode.apply(frame, dots.getDataAt(listIndex), new Object[]{i % lengths[listIndex] + 1}, RLogical.TRUE, RLogical.TRUE);
         }
 
-        @SuppressWarnings("unused")
-        @Specialization(limit = "5", guards = {"dots.getLength() == cachedDots.getLength()",
-                        "moreArgs.getLength() == cachedMoreArgs.getLength()", "sameNames(dots, cachedDots)",
-                        "sameNames(moreArgs, cachedMoreArgs)"})
+        @Specialization(limit = "5", guards = {"dots.getLength() == dotsLength", "moreArgs.getLength() == moreArgsLength",
+                        "sameNames(dots, cachedDotsNames)", "sameNames(moreArgs, cachedMoreArgsNames)"})
         protected Object[] cachedMApply(VirtualFrame frame, RAbstractListVector dots, RFunction function, RAbstractListVector moreArgs,
-                        @Cached("dots") RAbstractListVector cachedDots,
-                        @Cached("moreArgs") RAbstractListVector cachedMoreArgs,
-                        @Cached("createElementNodeArray(cachedDots, cachedMoreArgs)") ElementNode[] cachedElementNodeArray,
+                        @Cached("dots.getLength()") int dotsLength,
+                        @Cached("moreArgs.getLength()") int moreArgsLength,
+                        @SuppressWarnings("unused") @Cached(value = "extractNames(dots)", dimensions = 1) String[] cachedDotsNames,
+                        @SuppressWarnings("unused") @Cached(value = "extractNames(moreArgs)", dimensions = 1) String[] cachedMoreArgsNames,
+                        @Cached("createElementNodeArray(dotsLength, moreArgsLength, cachedDotsNames, cachedMoreArgsNames)") ElementNode[] cachedElementNodeArray,
                         @Cached("createCallNode(cachedElementNodeArray)") RCallNode callNode) {
-            int dotsLength = dots.getLength();
-            int moreArgsLength = moreArgs.getLength();
             int[] lengths = new int[dotsLength];
+            int maxLength = getDotsLengths(frame, dots, dotsLength, cachedElementNodeArray, lengths);
+            storeAdditionalArguments(frame, moreArgs, dotsLength, moreArgsLength, cachedElementNodeArray);
+            Object[] result = new Object[maxLength];
+            for (int i = 0; i < maxLength; i++) {
+                /* Evaluate and store the arguments */
+                prepareElements(frame, dots, dotsLength, cachedElementNodeArray, lengths, i);
+                /* Now call the function */
+                result[i] = callNode.execute(frame, function);
+            }
+            return result;
+        }
+
+        @ExplodeLoop
+        private static void prepareElements(VirtualFrame frame, RAbstractListVector dots, int dotsLength, ElementNode[] cachedElementNodeArray, int[] lengths, int i) {
+            for (int listIndex = 0; listIndex < dotsLength; listIndex++) {
+                Object vecElement = getVecElement(frame, dots, i, listIndex, lengths, cachedElementNodeArray[listIndex].extractNode);
+                cachedElementNodeArray[listIndex].writeVectorElementNode.execute(frame, vecElement);
+            }
+        }
+
+        @ExplodeLoop
+        private static void storeAdditionalArguments(VirtualFrame frame, RAbstractListVector moreArgs, int dotsLength, int moreArgsLength, ElementNode[] cachedElementNodeArray) {
+            for (int listIndex = dotsLength; listIndex < dotsLength + moreArgsLength; listIndex++) {
+                // store additional arguments
+                cachedElementNodeArray[listIndex].writeVectorElementNode.execute(frame, moreArgs.getDataAt(listIndex - dotsLength));
+            }
+        }
+
+        @ExplodeLoop
+        private static int getDotsLengths(VirtualFrame frame, RAbstractListVector dots, int dotsLength, ElementNode[] cachedElementNodeArray, int[] lengths) {
             int maxLength = -1;
             for (int i = 0; i < dotsLength; i++) {
                 int length = cachedElementNodeArray[i].lengthNode.executeInt(frame, dots.getDataAt(i));
@@ -145,22 +179,13 @@ public abstract class Mapply extends RBuiltinNode.Arg3 {
                 }
                 lengths[i] = length;
             }
-            for (int listIndex = dotsLength; listIndex < dotsLength + moreArgsLength; listIndex++) {
-                // store additional arguments
-                cachedElementNodeArray[listIndex].writeVectorElementNode.execute(frame,
-                                moreArgs.getDataAt(listIndex - dotsLength));
-            }
-            Object[] result = new Object[maxLength];
-            for (int i = 0; i < maxLength; i++) {
-                /* Evaluate and store the arguments */
-                for (int listIndex = 0; listIndex < dotsLength; listIndex++) {
-                    Object vecElement = getVecElement(frame, dots, i, listIndex, lengths, cachedElementNodeArray[listIndex].extractNode);
-                    cachedElementNodeArray[listIndex].writeVectorElementNode.execute(frame, vecElement);
-                }
-                /* Now call the function */
-                result[i] = callNode.execute(frame, function);
-            }
-            return result;
+            return maxLength;
+        }
+
+        protected static String[] extractNames(RAbstractListVector list) {
+            CompilerAsserts.neverPartOfCompilation();
+            RStringVector names = list.getNames();
+            return names == null ? null : names.getDataCopy();
         }
 
         @Specialization(replaces = "cachedMApply")
@@ -181,13 +206,13 @@ public abstract class Mapply extends RBuiltinNode.Arg3 {
             }
             Object[] values = new Object[dotsLength + moreArgsLength];
             String[] names = new String[dotsLength + moreArgsLength];
-            RStringVector dotsNames = getNames.getNames(dots);
+            RStringVector dotsNames = getNamesDots.getNames(dots);
             if (dotsNames != null) {
                 for (int listIndex = 0; listIndex < dotsLength; listIndex++) {
                     names[listIndex] = dotsNames.getDataAt(listIndex).isEmpty() ? null : dotsNames.getDataAt(listIndex);
                 }
             }
-            RStringVector moreArgsNames = getNames.getNames(moreArgs);
+            RStringVector moreArgsNames = getNamesMoreArgs.getNames(moreArgs);
             for (int listIndex = dotsLength; listIndex < dotsLength + moreArgsLength; listIndex++) {
                 values[listIndex] = moreArgs.getDataAt(listIndex - dotsLength);
                 names[listIndex] = moreArgsNames == null ? null : (moreArgsNames.getDataAt(listIndex - dotsLength).isEmpty() ? null : moreArgsNames.getDataAt(listIndex - dotsLength));
@@ -221,17 +246,15 @@ public abstract class Mapply extends RBuiltinNode.Arg3 {
             return RCallNode.createCall(Lapply.createCallSourceSection(), null, ArgumentsSignature.get(names), syntaxNodes);
         }
 
-        protected ElementNode[] createElementNodeArray(RAbstractListVector dots, RAbstractListVector moreArgs) {
-            int length = dots.getLength() + moreArgs.getLength();
+        protected ElementNode[] createElementNodeArray(int dotsLength, int moreArgsLength, String[] cachedDotsNames, String[] cachedMoreArgsNames) {
+            int length = dotsLength + moreArgsLength;
             ElementNode[] elementNodes = new ElementNode[length];
-            RStringVector dotsNames = getNames.getNames(dots);
-            for (int i = 0; i < dots.getLength(); i++) {
-                elementNodes[i] = insert(new ElementNode(VECTOR_ELEMENT_PREFIX + (i + 1), dotsNames == null ? null : (dotsNames.getDataAt(i).isEmpty() ? null : dotsNames.getDataAt(i))));
+            for (int i = 0; i < dotsLength; i++) {
+                elementNodes[i] = insert(new ElementNode(VECTOR_ELEMENT_PREFIX + (i + 1), cachedDotsNames == null ? null : (cachedDotsNames[i].isEmpty() ? null : cachedDotsNames[i])));
             }
-            RStringVector moreArgsNames = getNames.getNames(moreArgs);
-            for (int i = dots.getLength(); i < dots.getLength() + moreArgs.getLength(); i++) {
-                elementNodes[i] = insert(new ElementNode(VECTOR_ELEMENT_PREFIX + (i + 1),
-                                moreArgsNames == null ? null : moreArgsNames.getDataAt(i - dots.getLength()).isEmpty() ? null : moreArgsNames.getDataAt(i - dots.getLength())));
+            for (int i = 0; i < moreArgsLength; i++) {
+                elementNodes[i + dotsLength] = insert(
+                                new ElementNode(VECTOR_ELEMENT_PREFIX + (i + 1 + dotsLength), cachedMoreArgsNames == null ? null : cachedMoreArgsNames[i].isEmpty() ? null : cachedMoreArgsNames[i]));
             }
             return elementNodes;
         }
@@ -240,29 +263,34 @@ public abstract class Mapply extends RBuiltinNode.Arg3 {
             return ExtractVectorNode.create(ElementAccessMode.SUBSCRIPT, false);
         }
 
-        protected boolean sameNames(RAbstractListVector list, RAbstractListVector cachedList) {
-            RStringVector listNames = getNames.getNames(list);
-            RStringVector cachedListNames = getNames.getNames(cachedList);
-            if (listNames == null && cachedListNames == null) {
+        protected boolean sameNames(RAbstractListVector list, String[] cachedNames) {
+            RStringVector listNames = getNamesDots.getNames(list);
+            if (listNames == null && cachedNames == null) {
                 return true;
-            } else if (listNames == null || cachedListNames == null) {
+            } else if (listNames == null || cachedNames == null) {
                 return false;
             } else {
-
-                for (int i = 0; i < list.getLength(); i++) {
+                for (int i = 0; i < cachedNames.length; i++) {
                     String name = listNames.getDataAt(i);
-                    String cachedName = cachedListNames.getDataAt(i);
-
+                    String cachedName = cachedNames[i];
                     if (name == cachedName) {
                         continue;
-                    } else if (name == null || cachedName == null) {
-                        return false;
-                    } else if (!(name.equals(cachedName))) {
-                        return false;
+                    } else {
+                        nonPerfectMatch.enter();
+                        if (name == null || cachedName == null) {
+                            return false;
+                        } else if (!equals(name, cachedName)) {
+                            return false;
+                        }
                     }
                 }
                 return true;
             }
         }
+
+        @TruffleBoundary
+        private static boolean equals(String name, String cachedName) {
+            return name.equals(cachedName);
+        }
     }
 }
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java
index 8ba21984c778931efe59e9c2e003f5dd55a3c4eb..37c52d914213c99ec840b355c900296434d26319 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/TrigExpFunctions.java
@@ -33,8 +33,10 @@ import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.PRIMITIVE;
 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.Specialization;
 import com.oracle.truffle.api.profiles.LoopConditionProfile;
+import com.oracle.truffle.api.profiles.ValueProfile;
 import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
 import com.oracle.truffle.r.runtime.RError;
 import com.oracle.truffle.r.runtime.RError.Message;
@@ -413,6 +415,7 @@ public class TrigExpFunctions {
 
         private final NACheck yNACheck = NACheck.create();
         private final NACheck xNACheck = NACheck.create();
+        private final LoopConditionProfile profile = LoopConditionProfile.createCountingProfile();
 
         static {
             Casts casts = new Casts(Atan2.class);
@@ -420,34 +423,19 @@ public class TrigExpFunctions {
             casts.arg(1).mapIf(numericValue(), asDoubleVector());
         }
 
-        private double doFunDouble(double y, double x) {
-            double result = x;
-            if (!yNACheck.check(y) && !xNACheck.check(x)) {
-                result = Math.atan2(y, x);
-            }
-            return result;
-        }
-
         @FunctionalInterface
         private interface IntDoubleFunction {
 
             double apply(int i);
         }
 
-        private RDoubleVector doFun(int length, IntDoubleFunction yFun, IntDoubleFunction xFun,
-                        LoopConditionProfile profile) {
-            double[] resultVector = new double[length];
+        private double[] prepareArray(int length) {
             reportWork(length);
             profile.profileCounted(length);
-            for (int i = 0; profile.inject(i < length); i++) {
-                double y = yFun.apply(i);
-                double x = xFun.apply(i);
-                if (xNACheck.check(y) || yNACheck.check(x)) {
-                    resultVector[i] = RRuntime.DOUBLE_NA;
-                } else {
-                    resultVector[i] = Math.atan2(y, x);
-                }
-            }
+            return new double[length];
+        }
+
+        private RDoubleVector createResult(double[] resultVector) {
             return RDataFactory.createDoubleVector(resultVector, xNACheck.neverSeenNA() && yNACheck.neverSeenNA());
         }
 
@@ -455,47 +443,76 @@ public class TrigExpFunctions {
         protected double atan2(double y, double x) {
             xNACheck.enable(x);
             yNACheck.enable(y);
-            return doFunDouble(y, x);
+            if (yNACheck.check(y) || xNACheck.check(x)) {
+                return RRuntime.DOUBLE_NA;
+            } else {
+                return Math.atan2(y, x);
+            }
         }
 
-        @Specialization
-        protected RDoubleVector atan2(double y, RAbstractDoubleVector x,
-                        @Cached("createCountingProfile()") LoopConditionProfile profile) {
+        @Specialization(guards = "x.getLength() > 0")
+        protected RDoubleVector atan2(double y, RAbstractDoubleVector x) {
             xNACheck.enable(x);
             yNACheck.enable(y);
-            return doFun(x.getLength(), i -> y, i -> x.getDataAt(i), profile);
+            double[] array = prepareArray(x.getLength());
+            for (int i = 0; profile.inject(i < array.length); i++) {
+                double xValue = x.getDataAt(i);
+                if (xNACheck.check(y) || yNACheck.check(xValue)) {
+                    array[i] = RRuntime.DOUBLE_NA;
+                } else {
+                    array[i] = Math.atan2(y, xValue);
+                }
+            }
+            return createResult(array);
         }
 
-        @Specialization
-        protected RDoubleVector atan2(RAbstractDoubleVector y, double x,
-                        @Cached("createCountingProfile()") LoopConditionProfile profile) {
+        @Specialization(guards = "y.getLength() > 0")
+        protected RDoubleVector atan2(RAbstractDoubleVector y, double x) {
             xNACheck.enable(x);
             yNACheck.enable(y);
-            return doFun(y.getLength(), i -> y.getDataAt(i), i -> x, profile);
+            double[] array = prepareArray(y.getLength());
+            for (int i = 0; profile.inject(i < array.length); i++) {
+                double yValue = y.getDataAt(i);
+                if (xNACheck.check(yValue) || yNACheck.check(x)) {
+                    array[i] = RRuntime.DOUBLE_NA;
+                } else {
+                    array[i] = Math.atan2(yValue, x);
+                }
+            }
+            return createResult(array);
         }
 
-        @Specialization
-        protected RDoubleVector atan2(RAbstractDoubleVector y, RAbstractDoubleVector x,
-                        @Cached("createCountingProfile()") LoopConditionProfile profile) {
+        @Specialization(guards = {"y.getLength() > 0", "x.getLength() > 0"})
+        protected RDoubleVector atan2(RAbstractDoubleVector y, RAbstractDoubleVector x) {
             int xLength = x.getLength();
             int yLength = y.getLength();
             xNACheck.enable(x);
             yNACheck.enable(y);
-            return doFun(Math.max(yLength, xLength), i -> y.getDataAt(i % yLength), i -> x.getDataAt(i % xLength),
-                            profile);
+            double[] array = prepareArray(Math.max(yLength, xLength));
+            for (int i = 0; profile.inject(i < array.length); i++) {
+                double yValue = y.getDataAt(i % yLength);
+                double xValue = x.getDataAt(i % xLength);
+                if (xNACheck.check(yValue) || yNACheck.check(xValue)) {
+                    array[i] = RRuntime.DOUBLE_NA;
+                } else {
+                    array[i] = Math.atan2(yValue, xValue);
+                }
+            }
+            return createResult(array);
+        }
+
+        @Specialization(guards = "y.getLength() == 0 || x.getLength() == 0")
+        protected RDoubleVector atan2Empty(@SuppressWarnings("unused") RAbstractDoubleVector y, @SuppressWarnings("unused") RAbstractDoubleVector x) {
+            return RDataFactory.createEmptyDoubleVector();
         }
 
-        @Specialization(guards = {"!isDouble(x) || !isDouble(y)"})
-        @TruffleBoundary
+        @Fallback
         protected Object atan2(Object x, Object y) {
+            CompilerDirectives.transferToInterpreter();
             if (x instanceof RAbstractComplexVector || y instanceof RAbstractComplexVector) {
                 throw RInternalError.unimplemented("atan2 for complex values");
             }
             throw error(RError.Message.NON_NUMERIC_MATH);
         }
-
-        protected static boolean isDouble(Object x) {
-            return x instanceof Double || x instanceof RAbstractDoubleVector;
-        }
     }
 }
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttributes.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttributes.java
index c28a5e5175b19cd4c05ea67391d872e3e04005b1..fc662f9acea716e14fc6c82927acfe1f593a609d 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttributes.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateAttributes.java
@@ -31,7 +31,6 @@ import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.PRIMITIVE;
 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.Specialization;
 import com.oracle.truffle.api.profiles.ConditionProfile;
 import com.oracle.truffle.r.nodes.attributes.RemoveAttributeNode;
@@ -50,8 +49,10 @@ import com.oracle.truffle.r.runtime.RError;
 import com.oracle.truffle.r.runtime.RRuntime;
 import com.oracle.truffle.r.runtime.builtins.RBuiltin;
 import com.oracle.truffle.r.runtime.data.RAttributable;
+import com.oracle.truffle.r.runtime.data.RComplex;
 import com.oracle.truffle.r.runtime.data.RList;
 import com.oracle.truffle.r.runtime.data.RNull;
+import com.oracle.truffle.r.runtime.data.RRaw;
 import com.oracle.truffle.r.runtime.data.RShareable;
 import com.oracle.truffle.r.runtime.data.RStringVector;
 import com.oracle.truffle.r.runtime.data.model.RAbstractContainer;
@@ -247,16 +248,14 @@ public abstract class UpdateAttributes extends RBuiltinNode.Arg2 {
      * All other, non-performance centric, {@link RAttributable} types, or error case for RNull
      * value.
      */
-    @Fallback
+    @Specialization(guards = "!isRAbstractContainer(o)")
     @TruffleBoundary
-    protected Object doOtherNull(Object o, Object operand) {
-        checkAttributable(o);
-        Object obj = getNonShared(o);
-        RAttributable attrObj = (RAttributable) obj;
-        attrObj.removeAllAttributes();
+    protected Object doOtherNull(RAttributable o, Object operand) {
+        RAttributable obj = getNonShared(o);
+        obj.removeAllAttributes();
 
         if (operand == RNull.instance) {
-            attrObj.setClassAttr(null);
+            obj.setClassAttr(null);
         } else {
             RList list = (RList) operand;
             RStringVector listNames = list.getNames();
@@ -273,24 +272,27 @@ public abstract class UpdateAttributes extends RBuiltinNode.Arg2 {
                     if (attrValue == null) {
                         throw error(RError.Message.SET_INVALID_CLASS_ATTR);
                     }
-                    attrObj.setClassAttr(UpdateAttr.convertClassAttrFromObject(attrValue));
+                    obj.setClassAttr(UpdateAttr.convertClassAttrFromObject(attrValue));
                 } else {
-                    attrObj.setAttr(attrName.intern(), list.getDataAt(i));
+                    obj.setAttr(attrName.intern(), list.getDataAt(i));
                 }
             }
         }
         return obj;
     }
 
-    private void checkAttributable(Object obj) {
-        if (!(obj instanceof RAttributable)) {
-            throw error(RError.Message.INVALID_OR_UNIMPLEMENTED_ARGUMENTS);
-        }
+    @Specialization(guards = {"!isRAttributable(o)", "!isScalar(o)"})
+    protected Object doFallback(@SuppressWarnings("unused") Object o, @SuppressWarnings("unused") Object operand) {
+        throw error(RError.Message.INVALID_OR_UNIMPLEMENTED_ARGUMENTS);
+    }
+
+    protected static boolean isScalar(Object o) {
+        return o instanceof Integer || o instanceof Double || o instanceof Byte || o instanceof RRaw || o instanceof RComplex;
     }
 
-    private static Object getNonShared(Object obj) {
+    private static RAttributable getNonShared(RAttributable obj) {
         if (obj instanceof RShareable) {
-            return ((RShareable) obj).getNonShared();
+            return (RAttributable) ((RShareable) obj).getNonShared();
         }
         return obj;
     }
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/fastpaths/SubscriptDataFrameFastPath.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/fastpaths/SubscriptDataFrameFastPath.java
new file mode 100644
index 0000000000000000000000000000000000000000..230cb8046b7b96c69fc30037331af8902ae2a75b
--- /dev/null
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/fastpaths/SubscriptDataFrameFastPath.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.oracle.truffle.r.nodes.builtin.base.fastpaths;
+
+import com.oracle.truffle.api.dsl.Cached;
+import com.oracle.truffle.api.dsl.Fallback;
+import com.oracle.truffle.api.dsl.Specialization;
+import com.oracle.truffle.api.frame.VirtualFrame;
+import com.oracle.truffle.api.nodes.Node;
+import com.oracle.truffle.r.nodes.access.vector.ElementAccessMode;
+import com.oracle.truffle.r.nodes.access.vector.ExtractVectorNode;
+import com.oracle.truffle.r.runtime.RRuntime;
+import com.oracle.truffle.r.runtime.data.RArgsValuesAndNames;
+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.RAbstractListVector;
+import com.oracle.truffle.r.runtime.nodes.RFastPathNode;
+
+abstract class AsScalarNode extends Node {
+    public abstract Object execute(Object value);
+
+    @Specialization
+    protected static int asScalar(int value) {
+        return value;
+    }
+
+    @Specialization
+    protected static double asScalar(double value) {
+        return value;
+    }
+
+    @Specialization(guards = {"value.getLength() == 1", "value.getAttributes() == null"})
+    protected static int asScalar(RAbstractIntVector value) {
+        return value.getDataAt(0);
+    }
+
+    @Specialization(guards = {"value.getLength() == 1", "value.getAttributes() == null"})
+    protected static double asScalar(RAbstractDoubleVector value) {
+        return value.getDataAt(0);
+    }
+
+    @Fallback
+    protected static Object asScalar(@SuppressWarnings("unused") Object value) {
+        return null;
+    }
+
+    public static AsScalarNode create() {
+        return AsScalarNodeGen.create();
+    }
+}
+
+public abstract class SubscriptDataFrameFastPath extends RFastPathNode {
+
+    @Child private ExtractVectorNode extractNode = ExtractVectorNode.create(ElementAccessMode.SUBSCRIPT, false);
+
+    @Specialization(guards = {"positions.getLength() == 1", "positions.getSignature().getNonNullCount() == 0"})
+    protected Object subscript1(VirtualFrame frame, RAbstractListVector df, RArgsValuesAndNames positions, Object exact,
+                    @Cached("create()") AsScalarNode asScalar) {
+        Object pos = asScalar.execute(positions.getArgument(0));
+        if (pos == null) {
+            return null;
+        }
+        return extractNode.apply(frame, df, new Object[]{pos}, exact, RRuntime.LOGICAL_TRUE);
+    }
+
+    @Specialization(guards = {"positions.getLength() == 2", "positions.getSignature().getNonNullCount() == 0"})
+    protected Object subscript2(VirtualFrame frame, RAbstractListVector df, RArgsValuesAndNames positions, Object exact,
+                    @Cached("create()") AsScalarNode asScalar1,
+                    @Cached("create()") AsScalarNode asScalar2) {
+        Object pos2 = asScalar2.execute(positions.getArgument(1));
+        if (pos2 == null) {
+            return null;
+        }
+        Object extracted = extractNode.apply(frame, df, new Object[]{pos2}, exact, RRuntime.LOGICAL_TRUE);
+        Object pos1 = asScalar1.execute(positions.getArgument(0));
+        if (pos1 == null) {
+            return null;
+        }
+        return extractNode.apply(frame, extracted, new Object[]{pos1}, exact, RRuntime.LOGICAL_TRUE);
+    }
+
+    @Fallback
+    @SuppressWarnings("unused")
+    protected Object fallback(Object df, Object positions, Object exact) {
+        return null;
+    }
+}
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/fastpaths/SubsetDataFrameFastPath.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/fastpaths/SubsetDataFrameFastPath.java
new file mode 100644
index 0000000000000000000000000000000000000000..a68e960b0ca41825bb4a7520b7a5b6fd2556eef1
--- /dev/null
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/fastpaths/SubsetDataFrameFastPath.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.oracle.truffle.r.nodes.builtin.base.fastpaths;
+
+import com.oracle.truffle.api.dsl.Cached;
+import com.oracle.truffle.api.dsl.Fallback;
+import com.oracle.truffle.api.dsl.Specialization;
+import com.oracle.truffle.api.frame.VirtualFrame;
+import com.oracle.truffle.r.nodes.access.vector.ElementAccessMode;
+import com.oracle.truffle.r.nodes.access.vector.ExtractVectorNode;
+import com.oracle.truffle.r.runtime.RRuntime;
+import com.oracle.truffle.r.runtime.data.RArgsValuesAndNames;
+import com.oracle.truffle.r.runtime.data.model.RAbstractListVector;
+import com.oracle.truffle.r.runtime.nodes.RFastPathNode;
+
+public abstract class SubsetDataFrameFastPath extends RFastPathNode {
+
+    @Child private ExtractVectorNode extractNode = ExtractVectorNode.create(ElementAccessMode.SUBSCRIPT, false);
+
+    @Specialization(guards = {"positions.getLength() == 2", "positions.getSignature().getNonNullCount() == 0"})
+    protected Object subscript2(VirtualFrame frame, RAbstractListVector df, RArgsValuesAndNames positions, Object exact,
+                    @Cached("create()") AsScalarNode asScalar1,
+                    @Cached("create()") AsScalarNode asScalar2) {
+        Object pos2 = asScalar2.execute(positions.getArgument(1));
+        if (pos2 == null) {
+            return null;
+        }
+        Object extracted = extractNode.apply(frame, df, new Object[]{pos2}, exact, RRuntime.LOGICAL_TRUE);
+        Object pos1 = asScalar1.execute(positions.getArgument(0));
+        if (pos1 == null) {
+            return null;
+        }
+        return extractNode.apply(frame, extracted, new Object[]{pos1}, exact, RRuntime.LOGICAL_TRUE);
+    }
+
+    @Fallback
+    @SuppressWarnings("unused")
+    protected Object fallback(Object df, Object positions, Object exact) {
+        return null;
+    }
+}
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/helpers/DebugHandling.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/helpers/DebugHandling.java
index ff6f5b36d84fa8799557ff7c295026fcd2f53472..b18018abf0663f8b5ad7b81e5f1aa4b9b120046a 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/helpers/DebugHandling.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/helpers/DebugHandling.java
@@ -176,7 +176,9 @@ public class DebugHandling {
                 }
                 accept(element.getSyntaxLHS());
                 for (RSyntaxElement arg : element.getSyntaxArguments()) {
-                    accept(arg);
+                    if (arg != null) {
+                        accept(arg);
+                    }
                 }
                 return null;
             }
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java
index 311d2ffcdcf44e21eb2fdb2ad4a852e25fcaa01d..328622d157bbc4edfe8a3fdd668493379cf4e400 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/unary/CastIntegerNode.java
@@ -73,13 +73,7 @@ public abstract class CastIntegerNode extends CastIntegerBaseNode {
     public abstract Object executeInt(Object o);
 
     @Specialization
-    protected RIntVector doIntVector(RIntVector operand) {
-        return operand;
-    }
-
-    @Specialization
-    protected RIntSequence doIntVector(RIntSequence operand) {
-        // sequence does not have attributes - nothing to copy or drop
+    protected RAbstractIntVector doIntVector(RAbstractIntVector operand) {
         return operand;
     }
 
diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RVersionInfo.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RVersionInfo.java
index a75cadee75a33b68a9af0c30ef6fee1b9f13ad6b..d114d0ac2b9de73b6b437358ddadd8a49eae5e05 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RVersionInfo.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RVersionInfo.java
@@ -40,6 +40,7 @@ public enum RVersionInfo {
     Day(RVersionNumber.RELEASE_DAY),
     SvnRev("svn rev", null),
     Language("R"),
+    Engine("FastR"),
     VersionString("version.string", RVersionNumber.VERSION_STRING);
     // @formatter:on
 
diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/Choose.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/Choose.java
index 6dc04a9255387cc41f8b9a905923b71dbbbd870c..2f721295ac66a33f2d87ab2941bae1fe1aafcafb 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/Choose.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nmath/Choose.java
@@ -15,6 +15,7 @@ package com.oracle.truffle.r.runtime.nmath;
 import static com.oracle.truffle.r.runtime.nmath.GammaFunctions.lgammafn;
 import static com.oracle.truffle.r.runtime.nmath.GammaFunctions.lgammafnSign;
 
+import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
 import com.oracle.truffle.r.runtime.RError.Message;
 
 // transcribed from nmath/choose.c
@@ -26,6 +27,7 @@ public class Choose {
         return -Math.log(n + 1.) - LBeta.lbeta(n - k + 1., k + 1.);
     }
 
+    @TruffleBoundary
     public static double choose(double n, double ka) {
         double k = ka;
         if (Double.isNaN(n) || Double.isNaN(ka)) {
@@ -76,6 +78,7 @@ public class Choose {
         return Math.exp(lfastchoose(n, k));
     }
 
+    @TruffleBoundary
     public static double lchoose(double n, double kIn) {
         double k = RMath.forceint(kIn);
         /* NaNs propagated correctly */
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 23d482c5b7605e6fb56c82ec4f2e9e6de5548217..9817201bb64a4a7b2d2f74ae1c901a92e51dd744 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
@@ -13406,7 +13406,7 @@ structure(integer(0), .Dim = c(0L, 3L), .Dimnames = list(NULL,
 [2,]    2    4   12   14
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_ceiling.testCeiling#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2+2i } else { { ceiling(1.1+1.9i); } }
+#if (!any(R.version$engine == "FastR")) { 2+2i } else { { ceiling(1.1+1.9i); } }
 [1] 2+2i
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_ceiling.testCeiling#
@@ -24217,7 +24217,7 @@ Error: 4 arguments passed to .Internal(findInterval) which requires 5
 Error: 4 arguments passed to .Internal(findInterval) which requires 5
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_floor.testFloor#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1+1i } else { { floor(1.1+1.9i); } }
+#if (!any(R.version$engine == "FastR")) { 1+1i } else { { floor(1.1+1.9i); } }
 [1] 1+1i
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_floor.testFloor#
@@ -48822,12 +48822,12 @@ numeric(0)
 [1] "1" "2"
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_rowsum.testRowsumArgCoverage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat("Error in rowsum_matrix(x, NULL, ug, FALSE, as.character(ug)) :\n invalid 'g' argument" } else { x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, NULL, ug, FALSE,as.character(ug))) }
-Error: unexpected '}' in "if (length(grep("FastR", R.Version()$version.string)) != 1) { cat("Error in rowsum_matrix(x, NULL, ug, FALSE, as.character(ug)) :\n invalid 'g' argument" }"
+#if (!any(R.version$engine == "FastR")) { cat("Error: invalid 'g' argument\n") } else { x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, NULL, ug, FALSE,as.character(ug))) }
+Error: invalid 'g' argument
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_rowsum.testRowsumArgCoverage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat("Error in rowsum_matrix(x, print, ug, FALSE, as.character(ug)) :\n invalid 'g' argument" } else { { x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, print, ug, FALSE, as.character(ug))); } }
-Error: unexpected '}' in "if (length(grep("FastR", R.Version()$version.string)) != 1) { cat("Error in rowsum_matrix(x, print, ug, FALSE, as.character(ug)) :\n invalid 'g' argument" }"
+#if (!any(R.version$engine == "FastR")) { cat("Error: invalid 'g' argument\n") } else { x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, print, ug, FALSE, as.character(ug))); }
+Error: invalid 'g' argument
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_rowsum.testRowsumArgCoverage#Output.IgnoreErrorMessage#
 #x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, , ug, FALSE,as.character(ug)))
@@ -65850,12 +65850,12 @@ character(0)
 [5] "1894-01-01 GMT" "1895-01-01 GMT"
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_strrep.testArgsCasts#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat("character(0)") } else { { .Internal(strrep('aa', NULL) } }
-Error: unexpected '}' in "if (length(grep("FastR", R.Version()$version.string)) != 1) { cat("character(0)") } else { { .Internal(strrep('aa', NULL) }"
+#if (!any(R.version$engine == "FastR")) { cat("character(0)\n") } else { .Internal(strrep('aa', NULL)) }
+character(0)
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_strrep.testArgsCasts#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat("character(0)") } else { { .Internal(strrep(NULL, 5) } }
-Error: unexpected '}' in "if (length(grep("FastR", R.Version()$version.string)) != 1) { cat("character(0)") } else { { .Internal(strrep(NULL, 5) }"
+#if (!any(R.version$engine == "FastR")) { cat("character(0)\n") } else { .Internal(strrep(NULL, 5)) }
+character(0)
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_strrep.testArgsCasts#
 #{ .Internal(strrep('', ) }
@@ -70290,7 +70290,7 @@ tracemem[0x7f818486bc90 -> 0x7f818486ba50]:
 [71]   0.21654883   0.01307171
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_trunc.testTrunc#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1+1i } else { { trunc(1.1+1.9i); } }
+#if (!any(R.version$engine == "FastR")) { 1+1i } else { { trunc(1.1+1.9i); } }
 [1] 1+1i
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_trunc.testTrunc#
@@ -85517,15 +85517,15 @@ list()
 
 
 ##com.oracle.truffle.r.test.library.base.TestSimpleLists.testListDuplication#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { l <- list(x=c(3,4,5)); id <- .fastr.identity(l$x); l$x <- 1:10; id == .fastr.identity(l$x) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { l <- list(x=c(3,4,5)); id <- .fastr.identity(l$x); l$x <- 1:10; id == .fastr.identity(l$x) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.base.TestSimpleLists.testListDuplication#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { l <- list(x=c(3,4,5)); id <- .fastr.identity(l$x); l$x[2] <- 10; id == .fastr.identity(l$x) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { l <- list(x=c(3,4,5)); id <- .fastr.identity(l$x); l$x[2] <- 10; id == .fastr.identity(l$x) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.base.TestSimpleLists.testListDuplication#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { l <- list(x=c(3,4,5)); id <- .fastr.identity(l); l$x[2] <- 10; id == .fastr.identity(l) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { l <- list(x=c(3,4,5)); id <- .fastr.identity(l); l$x[2] <- 10; id == .fastr.identity(l) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.base.TestSimpleLists.testListRefcounting#
@@ -130747,70 +130747,70 @@ a b c d e
 [1] 24 42
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testChannelConnection#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { v <- import('_fastr_channel0'); zz <- .fastr.channelConnection(v, 'r+', 'native.enc'); writeLines('hi there', zz); close(zz); NULL  }
+#if (!any(R.version$engine == "FastR")) { NULL } else { v <- import('_fastr_channel0'); zz <- .fastr.channelConnection(v, 'r+', 'native.enc'); writeLines('hi there', zz); close(zz); NULL  }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testChannelConnection#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { c('Hello, World!', 'second line') } else { v <- import('_fastr_channel0'); zz <- .fastr.channelConnection(v, 'r+', 'native.enc'); res <- readLines(zz); close(zz); res }
+#if (!any(R.version$engine == "FastR")) { c('Hello, World!', 'second line') } else { v <- import('_fastr_channel0'); zz <- .fastr.channelConnection(v, 'r+', 'native.enc'); res <- readLines(zz); close(zz); res }
 [1] "Hello, World!" "second line"
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEval#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { eval.external('application/x-r', '1') }
+#if (!any(R.version$engine == "FastR")) { 1 } else { eval.external('application/x-r', '1') }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEval#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 16 } else { eval.external('application/x-r', '14 + 2') }
+#if (!any(R.version$engine == "FastR")) { 16 } else { eval.external('application/x-r', '14 + 2') }
 [1] 16
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEval#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1L } else { eval.external('application/x-r', '1L') }
+#if (!any(R.version$engine == "FastR")) { 1L } else { eval.external('application/x-r', '1L') }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEval#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { eval.external('application/x-r', 'TRUE') }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { eval.external('application/x-r', 'TRUE') }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEval#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(123) } else { eval.external('application/x-r', 'as.character(123)') }
+#if (!any(R.version$engine == "FastR")) { as.character(123) } else { eval.external('application/x-r', 'as.character(123)') }
 [1] "123"
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEvalFile#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in eval.external() : invalid \'source\' or \'path\' argument\n') } else { eval.external() }
+#if (!any(R.version$engine == "FastR")) { cat('Error in eval.external() : invalid \'source\' or \'path\' argument\n') } else { eval.external() }
 Error in eval.external() : invalid 'source' or 'path' argument
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEvalFile#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in eval.external(, "abc", ) : invalid mimeType argument\n') } else { eval.external(,'abc',) }
+#if (!any(R.version$engine == "FastR")) { cat('Error in eval.external(, "abc", ) : invalid mimeType argument\n') } else { eval.external(,'abc',) }
 Error in eval.external(, "abc", ) : invalid mimeType argument
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEvalFile#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[1] "Error reading file: /a/b.R"\n') } else { tryCatch(eval.external(path="/a/b.R"),  error = function(e) e$message) }
+#if (!any(R.version$engine == "FastR")) { cat('[1] "Error reading file: /a/b.R"\n') } else { tryCatch(eval.external(path="/a/b.R"),  error = function(e) e$message) }
 [1] "Error reading file: /a/b.R"
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEvalFile#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { x<-c(1);cat(x) } else { fileConn<-file("_testInteropEvalFile_testScript_.R");writeLines(c("x<-c(1)","cat(x)"), fileConn);close(fileConn);eval.external(mimeType="application/x-r", path="_testInteropEvalFile_testScript_.R") }
+#if (!any(R.version$engine == "FastR")) { x<-c(1);cat(x) } else { fileConn<-file("_testInteropEvalFile_testScript_.R");writeLines(c("x<-c(1)","cat(x)"), fileConn);close(fileConn);eval.external(mimeType="application/x-r", path="_testInteropEvalFile_testScript_.R") }
 1
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropEvalFile#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { x<-c(1);cat(x) } else { fileConn<-file("_testInteropEvalFile_testScript_.R");writeLines(c("x<-c(1)","cat(x)"), fileConn);close(fileConn);eval.external(path="_testInteropEvalFile_testScript_.R") }
+#if (!any(R.version$engine == "FastR")) { x<-c(1);cat(x) } else { fileConn<-file("_testInteropEvalFile_testScript_.R");writeLines(c("x<-c(1)","cat(x)"), fileConn);close(fileConn);eval.external(path="_testInteropEvalFile_testScript_.R") }
 1
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropExport#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { invisible() } else { export('foo', 'foo') }
+#if (!any(R.version$engine == "FastR")) { invisible() } else { export('foo', 'foo') }
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropExport#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { invisible() } else { export('foo', 14 + 2) }
+#if (!any(R.version$engine == "FastR")) { invisible() } else { export('foo', 14 + 2) }
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropExport#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { invisible() } else { export('foo', 1:100) }
+#if (!any(R.version$engine == "FastR")) { invisible() } else { export('foo', 1:100) }
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testInteropExport#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { invisible() } else { export('foo', new.env()) }
+#if (!any(R.version$engine == "FastR")) { invisible() } else { export('foo', new.env()) }
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testPrinting#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { c('intValue', 'longValue', 'charValue', 'shortValue', 'booleanValue', 'stringValue') } else { v <- import('testPOJO'); names(v) }
+#if (!any(R.version$engine == "FastR")) { c('intValue', 'longValue', 'charValue', 'shortValue', 'booleanValue', 'stringValue') } else { v <- import('testPOJO'); names(v) }
 [1] "intValue"     "longValue"    "charValue"    "shortValue"   "booleanValue"
 [6] "stringValue"
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testPrinting#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n$intValue\n[1] 1\n\n$longValue\n[1] 123412341234\n\n$charValue\n[1] "R"\n\n$shortValue\n[1] -100\n\n$booleanValue\n[1] TRUE\n\n$stringValue\n[1] "foo"\n\n') } else { v <- import('testPOJO'); print(v) }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n$intValue\n[1] 1\n\n$longValue\n[1] 123412341234\n\n$charValue\n[1] "R"\n\n$shortValue\n[1] -100\n\n$booleanValue\n[1] TRUE\n\n$stringValue\n[1] "foo"\n\n') } else { v <- import('testPOJO'); print(v) }
 [external object]
 $intValue
 [1] 1
@@ -130832,1997 +130832,1997 @@ $stringValue
 
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testPrinting#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1]   1  -5 199\n') } else { v <- import('testIntArray'); print(v) }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1]   1  -5 199\n') } else { v <- import('testIntArray'); print(v) }
 [external object]
 [1]   1  -5 199
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testPrinting#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1]   1  -5 199\n') } else { v <- import('testIntArray'); v }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1]   1  -5 199\n') } else { v <- import('testIntArray'); v }
 [external object]
 [1]   1  -5 199
 
 ##com.oracle.truffle.r.test.library.fastr.TestInterop.testPrinting#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a"   ""    "foo"\n') } else { v <- import('testStringArray'); print(v) }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a"   ""    "foo"\n') } else { v <- import('testStringArray'); print(v) }
 [external object]
 [1] "a"   ""    "foo"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAddToList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l <- list();  l$foreignobject <- to; identical(to, l$foreignobject) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l <- list();  l$foreignobject <- to; identical(to, l$foreignobject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAddToList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l <- list(1); l$foreignobject <- 1; l$foreignobject <- to; identical(to, l$foreignobject) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l <- list(1); l$foreignobject <- 1; l$foreignobject <- to; identical(to, l$foreignobject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAddToList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l <- list(1); l$foreignobject <- to; identical(to, l$foreignobject) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l <- list(1); l$foreignobject <- to; identical(to, l$foreignobject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAddToList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l <- list(to); is.list(l) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l <- list(to); is.list(l) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAllTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "true127a32767214748364792233720368547758071.7976931348623157E3083.4028235E38testString" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$allTypesMethod(TRUE,127,"a",32767,2147483647,9223372036854775807,1.7976931348623157E308,3.4028235E38,"testString") }
+#if (!any(R.version$engine == "FastR")) { "true127a32767214748364792233720368547758071.7976931348623157E3083.4028235E38testString" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$allTypesMethod(TRUE,127,"a",32767,2147483647,9223372036854775807,1.7976931348623157E308,3.4028235E38,"testString") }
 [1] "true127a32767214748364792233720368547758071.7976931348623157E3083.4028235E38testString"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAllTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "true127a32767214748364792233720368547758071.7976931348623157E3083.4028235E38testString" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$allTypesStaticMethod(TRUE,127,"a",32767,2147483647,9223372036854775807,1.7976931348623157E308,3.4028235E38,"testString") }
+#if (!any(R.version$engine == "FastR")) { "true127a32767214748364792233720368547758071.7976931348623157E3083.4028235E38testString" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$allTypesStaticMethod(TRUE,127,"a",32767,2147483647,9223372036854775807,1.7976931348623157E308,3.4028235E38,"testString") }
 [1] "true127a32767214748364792233720368547758071.7976931348623157E3083.4028235E38testString"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { a <- as.java.array(c(1,2,3)); a[1] }
+#if (!any(R.version$engine == "FastR")) { 1 } else { a <- as.java.array(c(1,2,3)); a[1] }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { a <- as.java.array(c(1,2,3)); a[[1]] }
+#if (!any(R.version$engine == "FastR")) { 1 } else { a <- as.java.array(c(1,2,3)); a[[1]] }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray[1]; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray[1]; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray[[1]]; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray[[1]]; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 123 } else { a <- as.java.array(c(1,2,3)); a[1] <- 123; a[1] }
+#if (!any(R.version$engine == "FastR")) { 123 } else { a <- as.java.array(c(1,2,3)); a[1] <- 123; a[1] }
 [1] 123
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 123 } else { a <- as.java.array(c(1,2,3)); a[[1]] <- 123; a[[1]] }
+#if (!any(R.version$engine == "FastR")) { 123 } else { a <- as.java.array(c(1,2,3)); a[[1]] <- 123; a[[1]] }
 [1] 123
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 123 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray[1] <- 123L; to$fieldIntegerArray[1] }
+#if (!any(R.version$engine == "FastR")) { 123 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray[1] <- 123L; to$fieldIntegerArray[1] }
 [1] 123
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1234 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray[[1]] <- 1234L; to$fieldIntegerArray[[1]] }
+#if (!any(R.version$engine == "FastR")) { 1234 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray[[1]] <- 1234L; to$fieldIntegerArray[[1]] }
 [1] 1234
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1234 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[1,2] <- 1234L; to$int2DimArray[1,2] }
+#if (!any(R.version$engine == "FastR")) { 1234 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[1,2] <- 1234L; to$int2DimArray[1,2] }
 [1] 1234
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 12345 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[[1,2]] <- 12345L; to$int2DimArray[[1,2]] }
+#if (!any(R.version$engine == "FastR")) { 12345 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[[1,2]] <- 12345L; to$int2DimArray[[1,2]] }
 [1] 12345
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[1,2] }
+#if (!any(R.version$engine == "FastR")) { 2 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[1,2] }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[[1,2]] }
+#if (!any(R.version$engine == "FastR")) { 2 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[[1,2]] }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringArray[1] <- NULL; to$fieldStringArray[1] }
+#if (!any(R.version$engine == "FastR")) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringArray[1] <- NULL; to$fieldStringArray[1] }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[1] }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[1] }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testArrayReadWrite#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[[1]] }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$int2DimArray[[1]] }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); l[[1]]$data }
+#if (!any(R.version$engine == "FastR")) { 'a' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); l[[1]]$data }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$fieldStringArray); l[[1]] }
+#if (!any(R.version$engine == "FastR")) { 'a' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$fieldStringArray); l[[1]] }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); l[[1]]$data }
+#if (!any(R.version$engine == "FastR")) { 'a' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); l[[1]]$data }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); l[[1]] }
+#if (!any(R.version$engine == "FastR")) { 'a' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); l[[1]] }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'b' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); l[[2]]$data }
+#if (!any(R.version$engine == "FastR")) { 'b' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); l[[2]]$data }
 [1] "b"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'b' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$fieldStringArray); l[[2]] }
+#if (!any(R.version$engine == "FastR")) { 'b' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$fieldStringArray); l[[2]] }
 [1] "b"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'b' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); l[[2]]$data }
+#if (!any(R.version$engine == "FastR")) { 'b' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); l[[2]]$data }
 [1] "b"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'b' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); l[[2]] }
+#if (!any(R.version$engine == "FastR")) { 'b' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); l[[2]] }
 [1] "b"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$fieldStringArray); length(l) }
+#if (!any(R.version$engine == "FastR")) { 3 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$fieldStringArray); length(l) }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); length(l) }
+#if (!any(R.version$engine == "FastR")) { 3 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); length(l) }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 4 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); length(l) }
+#if (!any(R.version$engine == "FastR")) { 4 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); length(l) }
 [1] 4
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 4 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); length(l) }
+#if (!any(R.version$engine == "FastR")) { 4 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); length(l) }
 [1] 4
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); l[[4]]$data }
+#if (!any(R.version$engine == "FastR")) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); l[[4]]$data }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); l[[4]]$data }
+#if (!any(R.version$engine == "FastR")) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); l[[4]]$data }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); is.list(l) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$arrayObject); is.list(l) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$fieldStringArray); is.list(l) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$fieldStringArray); is.list(l) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); is.list(l) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); is.list(l) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); is.list(l) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); is.list(l) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Output.IgnoreErrorContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.list(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a list', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.list(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a list', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to); }
 Error in as.list(to) :
   no method for coercing this external object to a list
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "character" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticCharArray); typeof(v) }
+#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"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "character" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticStringArray); typeof(v) }
+#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$fieldStaticStringArray); typeof(v) }
 [1] "character"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "double" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticDoubleArray); typeof(v) }
+#if (!any(R.version$engine == "FastR")) { "double" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticDoubleArray); typeof(v) }
 [1] "double"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "double" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticFloatArray); typeof(v) }
+#if (!any(R.version$engine == "FastR")) { "double" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticFloatArray); typeof(v) }
 [1] "double"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "double" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticLongArray); typeof(v) }
+#if (!any(R.version$engine == "FastR")) { "double" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticLongArray); typeof(v) }
 [1] "double"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "double" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectDoubleArray); typeof(v) }
+#if (!any(R.version$engine == "FastR")) { "double" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectDoubleArray); typeof(v) }
 [1] "double"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "integer" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticByteArray); typeof(v) }
+#if (!any(R.version$engine == "FastR")) { "integer" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticByteArray); typeof(v) }
 [1] "integer"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "integer" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticIntegerArray); typeof(v) }
+#if (!any(R.version$engine == "FastR")) { "integer" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticIntegerArray); typeof(v) }
 [1] "integer"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "integer" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticShortArray); typeof(v) }
+#if (!any(R.version$engine == "FastR")) { "integer" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticShortArray); typeof(v) }
 [1] "integer"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "integer" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectIntArray); typeof(v) }
+#if (!any(R.version$engine == "FastR")) { "integer" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectIntArray); typeof(v) }
 [1] "integer"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "logical" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticBooleanArray); typeof(v) }
+#if (!any(R.version$engine == "FastR")) { "logical" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticBooleanArray); typeof(v) }
 [1] "logical"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticBooleanArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticBooleanArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticByteArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticByteArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticCharArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticCharArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticDoubleArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticDoubleArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticFloatArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticFloatArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticIntegerArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticIntegerArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticLongArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticLongArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticShortArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticShortArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticStringArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$fieldStaticStringArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$hasNullIntArray); is.list(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$hasNullIntArray); is.list(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$mixedTypesArray); is.list(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$mixedTypesArray); is.list(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectArray); is.list(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectArray); is.list(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectDoubleArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectDoubleArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectIntArray); is.vector(v) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$objectIntArray); is.vector(v) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { list(1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$hasNullIntArray); v[1] }
+#if (!any(R.version$engine == "FastR")) { list(1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$hasNullIntArray); v[1] }
 [[1]]
 [1] 1
 
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { list(3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$hasNullIntArray); v[3] }
+#if (!any(R.version$engine == "FastR")) { list(3) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$hasNullIntArray); v[3] }
 [[1]]
 [1] 3
 
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsVectorFromArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { list(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$hasNullIntArray); v[2] }
+#if (!any(R.version$engine == "FastR")) { list(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); v <- as.vector(to$hasNullIntArray); v[2] }
 [[1]]
 NULL
 
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character("1.10000002384186") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticFloatObject) }
+#if (!any(R.version$engine == "FastR")) { as.character("1.10000002384186") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticFloatObject) }
 [1] "1.10000002384186"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character("1.79769313486231e+308") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticDoubleObject) }
+#if (!any(R.version$engine == "FastR")) { as.character("1.79769313486231e+308") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticDoubleObject) }
 [1] "1.79769313486231e+308"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character("NaN") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticNaNObject) }
+#if (!any(R.version$engine == "FastR")) { as.character("NaN") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticNaNObject) }
 [1] "NaN"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticStringObject) }
+#if (!any(R.version$engine == "FastR")) { as.character("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticStringObject) }
 [1] "a string"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticCharObject) }
+#if (!any(R.version$engine == "FastR")) { as.character("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticCharObject) }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticByteObject) }
+#if (!any(R.version$engine == "FastR")) { as.character(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticByteObject) }
 [1] "127"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticIntegerObject) }
+#if (!any(R.version$engine == "FastR")) { as.character(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticIntegerObject) }
 [1] "2147483647"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticShortObject) }
+#if (!any(R.version$engine == "FastR")) { as.character(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticShortObject) }
 [1] "32767"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticLongObject) }
+#if (!any(R.version$engine == "FastR")) { as.character(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticLongObject) }
 [1] "9223372036854775808"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticNullObject) }
+#if (!any(R.version$engine == "FastR")) { as.character(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticNullObject) }
 character(0)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticBooleanObject) }
+#if (!any(R.version$engine == "FastR")) { as.character(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStaticBooleanObject) }
 [1] "TRUE"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStringIntArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStringIntArray); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listStringInt); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listStringInt); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("1.1","2.1","3.1")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldDoubleArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("1.1","2.1","3.1")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldDoubleArray); }
 [1] "1.1" "2.1" "3.1"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("1.1","2.1","3.1")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listDouble); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("1.1","2.1","3.1")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listDouble); }
 [1] "1.1" "2.1" "3.1"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("1.10000002384186","2.09999990463257","3.09999990463257")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldFloatArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("1.10000002384186","2.09999990463257","3.09999990463257")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldFloatArray); }
 [1] "1.10000002384186" "2.09999990463257" "3.09999990463257"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("1.10000002384186","2.09999990463257","3.09999990463257")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listFloat); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("1.10000002384186","2.09999990463257","3.09999990463257")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listFloat); }
 [1] "1.10000002384186" "2.09999990463257" "3.09999990463257"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStringBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStringBooleanArray); }
 [1] "TRUE"  "TRUE"  "FALSE"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listStringBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listStringBoolean); }
 [1] "TRUE"  "TRUE"  "FALSE"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldCharArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldCharArray); }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStringArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldStringArray); }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listChar); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listChar); }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listString); }
+#if (!any(R.version$engine == "FastR")) { as.character(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listString); }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldByteArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldByteArray); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldIntegerArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldIntegerArray); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldLongArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldLongArray); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldShortArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldShortArray); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listByte); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listByte); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listInteger); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listInteger); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listLong); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listLong); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listShort); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listShort); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$fieldBooleanArray); }
 [1] "TRUE"  "FALSE" "TRUE"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.character(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listBoolean); }
 [1] "TRUE"  "FALSE" "TRUE"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticStringObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticStringObject) }
 [1] NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticCharObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticCharObject) }
 [1] NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticFloatObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticFloatObject) }
 [1] 1.1+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticDoubleObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticDoubleObject) }
 [1] 1.797693e+308+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticByteObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticByteObject) }
 [1] 127+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticIntegerObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticIntegerObject) }
 [1] 2147483647+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticShortObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticShortObject) }
 [1] 32767+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticLongObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticLongObject) }
 [1] 9.223372e+18+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticNullObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticNullObject) }
 complex(0)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticNaNObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticNaNObject) }
 [1] NaN+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticBooleanObject) }
+#if (!any(R.version$engine == "FastR")) { as.complex(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStaticBooleanObject) }
 [1] 1+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStringIntArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStringIntArray); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listStringInt); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listStringInt); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStringBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStringBooleanArray); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listStringBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listStringBoolean); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldCharArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldCharArray); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStringArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldStringArray); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listChar); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listChar); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listString); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listString); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldByteArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldByteArray); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldIntegerArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldIntegerArray); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldLongArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldLongArray); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldShortArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldShortArray); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listByte); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listByte); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listInteger); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listInteger); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listLong); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listLong); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listShort); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listShort); }
 [1] 1+0i 2+0i 3+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldDoubleArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldDoubleArray); }
 [1] 1.1+0i 2.1+0i 3.1+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldFloatArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldFloatArray); }
 [1] 1.1+0i 2.1+0i 3.1+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listDouble); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listDouble); }
 [1] 1.1+0i 2.1+0i 3.1+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listFloat); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listFloat); }
 [1] 1.1+0i 2.1+0i 3.1+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$fieldBooleanArray); }
 [1] 1+0i 0+0i 1+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.complex(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listBoolean); }
 [1] 1+0i 0+0i 1+0i
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticStringObject) }
+#if (!any(R.version$engine == "FastR")) { as.double("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticStringObject) }
 [1] NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticCharObject) }
+#if (!any(R.version$engine == "FastR")) { as.double("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticCharObject) }
 [1] NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticFloatObject) }
+#if (!any(R.version$engine == "FastR")) { as.double(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticFloatObject) }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticDoubleObject) }
+#if (!any(R.version$engine == "FastR")) { as.double(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticDoubleObject) }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticByteObject) }
+#if (!any(R.version$engine == "FastR")) { as.double(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticByteObject) }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticIntegerObject) }
+#if (!any(R.version$engine == "FastR")) { as.double(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticIntegerObject) }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticShortObject) }
+#if (!any(R.version$engine == "FastR")) { as.double(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticShortObject) }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticLongObject) }
+#if (!any(R.version$engine == "FastR")) { as.double(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticLongObject) }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticNullObject) }
+#if (!any(R.version$engine == "FastR")) { as.double(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticNullObject) }
 numeric(0)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticNaNObject) }
+#if (!any(R.version$engine == "FastR")) { as.double(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticNaNObject) }
 [1] NaN
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticBooleanObject) }
+#if (!any(R.version$engine == "FastR")) { as.double(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStaticBooleanObject) }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStringIntArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStringIntArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listStringInt); }
+#if (!any(R.version$engine == "FastR")) { as.double(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listStringInt); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStringBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStringBooleanArray); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listStringBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.double(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listStringBoolean); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldCharArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldCharArray); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStringArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldStringArray); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listChar); }
+#if (!any(R.version$engine == "FastR")) { as.double(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listChar); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listString); }
+#if (!any(R.version$engine == "FastR")) { as.double(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listString); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldByteArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldByteArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldIntegerArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldIntegerArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldLongArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldLongArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldShortArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldShortArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listByte); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listByte); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listInteger); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listInteger); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listLong); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listLong); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listShort); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listShort); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldDoubleArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldDoubleArray); }
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldFloatArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldFloatArray); }
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listDouble); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listDouble); }
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listFloat); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listFloat); }
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$fieldBooleanArray); }
 [1] 1 0 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.double(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listBoolean); }
 [1] 1 0 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticStringObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticStringObject) }
 expression("a string")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticCharObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticCharObject) }
 expression("a")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticFloatObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticFloatObject) }
 expression(1.1)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticDoubleObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticDoubleObject) }
 expression(1.79769313486232e+308)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticByteObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticByteObject) }
 expression(127)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticIntegerObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticIntegerObject) }
 expression(2147483647)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticShortObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticShortObject) }
 expression(32767)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticLongObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticLongObject) }
 expression(9223372036854775808)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticNullObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticNullObject) }
 expression(NULL)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticNaNObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticNaNObject) }
 expression(NaN)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticBooleanObject) }
+#if (!any(R.version$engine == "FastR")) { as.expression(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStaticBooleanObject) }
 expression(TRUE)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStringIntArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStringIntArray); }
 expression("1", "2", "3")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listStringInt); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listStringInt); }
 expression("1", "2", "3")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStringBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStringBooleanArray); }
 expression("TRUE", "TRUE", "FALSE")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listStringBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listStringBoolean); }
 expression("TRUE", "TRUE", "FALSE")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldCharArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldCharArray); }
 expression("a", "b", "c")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStringArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldStringArray); }
 expression("a", "b", "c")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listChar); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listChar); }
 expression("a", "b", "c")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listString); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listString); }
 expression("a", "b", "c")
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldByteArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldByteArray); }
 expression(1, 2, 3)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldIntegerArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldIntegerArray); }
 expression(1, 2, 3)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldLongArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldLongArray); }
 expression(1, 2, 3)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldShortArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldShortArray); }
 expression(1, 2, 3)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listByte); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listByte); }
 expression(1, 2, 3)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listInteger); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listInteger); }
 expression(1, 2, 3)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listLong); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listLong); }
 expression(1, 2, 3)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listShort); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listShort); }
 expression(1, 2, 3)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldDoubleArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldDoubleArray); }
 expression(1.1, 2.1, 3.1)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldFloatArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldFloatArray); }
 expression(1.1, 2.1, 3.1)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listDouble); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listDouble); }
 expression(1.1, 2.1, 3.1)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listFloat); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listFloat); }
 expression(1.1, 2.1, 3.1)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$fieldBooleanArray); }
 expression(TRUE, FALSE, TRUE)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.expression(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listBoolean); }
 expression(TRUE, FALSE, TRUE)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticStringObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticStringObject) }
 [1] NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticCharObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticCharObject) }
 [1] NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticFloatObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticFloatObject) }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticDoubleObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticDoubleObject) }
 [1] NA
 Warning message:
 NAs introduced by coercion to integer range
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticByteObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticByteObject) }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticIntegerObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticIntegerObject) }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticShortObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticShortObject) }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticLongObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticLongObject) }
 [1] NA
 Warning message:
 NAs introduced by coercion to integer range
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticNullObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticNullObject) }
 integer(0)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticNaNObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticNaNObject) }
 [1] NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticBooleanObject) }
+#if (!any(R.version$engine == "FastR")) { as.integer(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStaticBooleanObject) }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStringIntArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStringIntArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listStringInt); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listStringInt); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStringBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStringBooleanArray); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listStringBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listStringBoolean); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldCharArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldCharArray); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStringArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldStringArray); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listChar); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listChar); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listString); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listString); }
 [1] NA NA NA
 Warning message:
 NAs introduced by coercion
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldByteArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldByteArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldIntegerArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldIntegerArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldLongArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldLongArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldShortArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldShortArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listByte); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listByte); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listInteger); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listInteger); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listLong); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listLong); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listShort); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listShort); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldDoubleArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldDoubleArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldFloatArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldFloatArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listDouble); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listDouble); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listFloat); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listFloat); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$fieldBooleanArray); }
 [1] 1 0 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.integer(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listBoolean); }
 [1] 1 0 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticStringObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticStringObject) }
 [1] NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticCharObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticCharObject) }
 [1] NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticFloatObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticFloatObject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticDoubleObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticDoubleObject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticByteObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticByteObject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticIntegerObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticIntegerObject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticShortObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticShortObject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticLongObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticLongObject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticNullObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticNullObject) }
 logical(0)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticNaNObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticNaNObject) }
 [1] NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticBooleanObject) }
+#if (!any(R.version$engine == "FastR")) { as.logical(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStaticBooleanObject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStringIntArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStringIntArray); }
 [1] NA NA NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listStringInt); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listStringInt); }
 [1] NA NA NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStringBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStringBooleanArray); }
 [1]  TRUE  TRUE FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listStringBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listStringBoolean); }
 [1]  TRUE  TRUE FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldCharArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldCharArray); }
 [1] NA NA NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStringArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldStringArray); }
 [1] NA NA NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listChar); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listChar); }
 [1] NA NA NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listString); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listString); }
 [1] NA NA NA
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldByteArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldByteArray); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldIntegerArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldIntegerArray); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldLongArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldLongArray); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldShortArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldShortArray); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listByte); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listByte); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listInteger); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listInteger); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listLong); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listLong); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listShort); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listShort); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldDoubleArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldDoubleArray); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldFloatArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldFloatArray); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listDouble); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listDouble); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listFloat); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listFloat); }
 [1] TRUE TRUE TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$fieldBooleanArray); }
 [1]  TRUE FALSE  TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.logical(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listBoolean); }
 [1]  TRUE FALSE  TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticStringObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticStringObject) }
 [1] 00
 Warning messages:
 1: NAs introduced by coercion
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticCharObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticCharObject) }
 [1] 00
 Warning messages:
 1: NAs introduced by coercion
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticFloatObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticFloatObject) }
 [1] 01
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticDoubleObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticDoubleObject) }
 [1] 00
 Warning messages:
 1: NAs introduced by coercion to integer range
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticByteObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticByteObject) }
 [1] 7f
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticIntegerObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticIntegerObject) }
 [1] 00
 Warning message:
 out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticShortObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticShortObject) }
 [1] 00
 Warning message:
 out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticLongObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticLongObject) }
 [1] 00
 Warning messages:
 1: NAs introduced by coercion to integer range
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticNullObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticNullObject) }
 raw(0)
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticNaNObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticNaNObject) }
 [1] 00
 Warning message:
 out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticBooleanObject) }
+#if (!any(R.version$engine == "FastR")) { as.raw(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStaticBooleanObject) }
 [1] 01
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStringIntArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStringIntArray); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listStringInt); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listStringInt); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStringBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStringBooleanArray); }
 [1] 00 00 00
 Warning messages:
 1: NAs introduced by coercion
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listStringBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listStringBoolean); }
 [1] 00 00 00
 Warning messages:
 1: NAs introduced by coercion
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldCharArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldCharArray); }
 [1] 00 00 00
 Warning messages:
 1: NAs introduced by coercion
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStringArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldStringArray); }
 [1] 00 00 00
 Warning messages:
 1: NAs introduced by coercion
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningMessage#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listChar); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listChar); }
 [1] 00 00 00
 Warning messages:
 1: NAs introduced by coercion
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listString); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listString); }
 [1] 00 00 00
 Warning messages:
 1: NAs introduced by coercion
 2: out-of-range values treated as 0 in coercion to raw
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldByteArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldByteArray); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldIntegerArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldIntegerArray); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldLongArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldLongArray); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldShortArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldShortArray); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listByte); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listByte); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listInteger); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listInteger); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listLong); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listLong); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listShort); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listShort); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldDoubleArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldDoubleArray); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldFloatArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldFloatArray); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listDouble); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listDouble); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listFloat); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listFloat); }
 [1] 01 02 03
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$fieldBooleanArray); }
 [1] 01 00 01
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.raw(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listBoolean); }
 [1] 01 00 01
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticStringObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticStringObject) }
 `a string`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticCharObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticCharObject) }
 a
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticFloatObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticFloatObject) }
 `1.1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticDoubleObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticDoubleObject) }
 `1.797693e+308`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticByteObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticByteObject) }
 `127`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticIntegerObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticIntegerObject) }
 `2147483647`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticShortObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticShortObject) }
 `32767`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticLongObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticLongObject) }
 `9.223372e+18`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreErrorContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticNullObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticNullObject) }
 Error in as.symbol(NULL) :
   invalid type/length (symbol/0) in vector allocation
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticNaNObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticNaNObject) }
 `NaN`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticBooleanObject) }
+#if (!any(R.version$engine == "FastR")) { as.symbol(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStaticBooleanObject) }
 `TRUE`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStringIntArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStringIntArray); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listStringInt); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listStringInt); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStringBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStringBooleanArray); }
 `TRUE`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listStringBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listStringBoolean); }
 `TRUE`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldCharArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldCharArray); }
 a
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStringArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldStringArray); }
 a
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listChar); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listChar); }
 a
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listString); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listString); }
 a
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldByteArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldByteArray); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldIntegerArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldIntegerArray); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldLongArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldLongArray); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldShortArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldShortArray); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listByte); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listByte); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listInteger); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listInteger); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listLong); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listLong); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listShort); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listShort); }
 `1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldDoubleArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldDoubleArray); }
 `1.1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldFloatArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldFloatArray); }
 `1.1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listDouble); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listDouble); }
 `1.1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listFloat); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listFloat); }
 `1.1`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$fieldBooleanArray); }
 `TRUE`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.symbol(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listBoolean); }
 `TRUE`
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticStringObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector("a string") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticStringObject) }
 [1] "a string"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticCharObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector("a") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticCharObject) }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticFloatObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector(1.1) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticFloatObject) }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticDoubleObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector(1.7976931348623157E308) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticDoubleObject) }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticByteObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector(127) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticByteObject) }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticIntegerObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector(2147483647) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticIntegerObject) }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticShortObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector(32767) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticShortObject) }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticLongObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector(9223372036854775807) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticLongObject) }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticNullObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector(NULL) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticNullObject) }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticNaNObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector(NaN) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticNaNObject) }
 [1] NaN
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticBooleanObject) }
+#if (!any(R.version$engine == "FastR")) { as.vector(TRUE) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStaticBooleanObject) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStringIntArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStringIntArray); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listStringInt); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c("1","2","3")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listStringInt); }
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStringBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStringBooleanArray); }
 [1] "TRUE"  "TRUE"  "FALSE"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listStringBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c("TRUE","TRUE","FALSE")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listStringBoolean); }
 [1] "TRUE"  "TRUE"  "FALSE"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldCharArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldCharArray); }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStringArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldStringArray); }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listChar); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listChar); }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listString); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c("a","b","c")) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listString); }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldByteArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldByteArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldIntegerArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldIntegerArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldLongArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldLongArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldShortArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldShortArray); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listByte); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listByte); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listInteger); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listInteger); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listLong); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listLong); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listShort); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1,2,3)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listShort); }
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldDoubleArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldDoubleArray); }
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldFloatArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldFloatArray); }
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listDouble); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listDouble); }
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listFloat); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(1.1,2.1,3.1)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listFloat); }
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldBooleanArray); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$fieldBooleanArray); }
 [1]  TRUE FALSE  TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listBoolean); }
+#if (!any(R.version$engine == "FastR")) { as.vector(c(TRUE,FALSE,TRUE)) } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listBoolean); }
 [1]  TRUE FALSE  TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.character(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.character(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to); }
 Error in as.character(to) :
   no method for coercing this external object to a vector
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.complex(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.complex(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to); }
 Error in as.complex(to) :
   no method for coercing this external object to a vector
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.double(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.double(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to); }
 Error in as.double(to) :
   no method for coercing this external object to a vector
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreErrorContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.expression(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.expression(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to); }
 Error in as.expression(to) :
   no method for coercing this external object to a vector
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.integer(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.integer(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to); }
 Error in as.integer(to) :
   no method for coercing this external object to a vector
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.logical(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.logical(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to); }
 Error in as.logical(to) :
   no method for coercing this external object to a vector
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.raw(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.raw(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to); }
 Error in as.raw(to) :
   no method for coercing this external object to a vector
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.symbol(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.symbol(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to); }
 Error in as.symbol(to) :
   no method for coercing this external object to a vector
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.vector(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.vector(to) : ', '<<<NEWLINE>>>', ' no method for coercing this external object to a vector', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to); }
 Error in as.vector(to) :
   no method for coercing this external object to a vector
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAttributes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); attributes(to) }
+#if (!any(R.version$engine == "FastR")) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); attributes(to) }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAttributes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in attr(to, "a") <- "a" : external object cannot be attributed<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); attr(to, 'a')<-'a' }
+#if (!any(R.version$engine == "FastR")) { cat('Error in attr(to, "a") <- "a" : external object cannot be attributed<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); attr(to, 'a')<-'a' }
 Error in attr(to, "a") <- "a" : external object cannot be attributed
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAttributes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in attr(to, which = "a") : external object cannot be attributed<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); attr(to, which = 'a') }
+#if (!any(R.version$engine == "FastR")) { cat('Error in attr(to, which = "a") : external object cannot be attributed<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); attr(to, which = 'a') }
 Error in attr(to, which = "a") : external object cannot be attributed
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testClassAsParameter#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$classAsArg(new.java.class(com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass)) }
+#if (!any(R.version$engine == "FastR")) { "com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$classAsArg(new.java.class(com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass)) }
 [1] "com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.byte' } else { class(c(as.external.byte(123))) }
+#if (!any(R.version$engine == "FastR")) { 'interopt.byte' } else { class(c(as.external.byte(123))) }
 [1] "interopt.byte"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'list' } else { class(c(1, as.external.byte(123))) }
+#if (!any(R.version$engine == "FastR")) { 'list' } else { class(c(1, as.external.byte(123))) }
 [1] "list"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'list' } else { class(c(as.external.byte(123), 1)) }
+#if (!any(R.version$engine == "FastR")) { 'list' } else { class(c(as.external.byte(123), 1)) }
 [1] "list"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'list' } else { class(c(as.external.byte(123), as.external.byte(234))) }
+#if (!any(R.version$engine == "FastR")) { 'list' } else { class(c(as.external.byte(123), as.external.byte(234))) }
 [1] "list"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'list' } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); t <- new.external(tc); t1 <- new.external(tc); class(c(t, t1)) }
+#if (!any(R.version$engine == "FastR")) { 'list' } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); t <- new.external(tc); t1 <- new.external(tc); class(c(t, t1)) }
 [1] "list"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'list' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); class(c(1, t)) }
+#if (!any(R.version$engine == "FastR")) { 'list' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); class(c(1, t)) }
 [1] "list"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'list' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); class(c(t, 1)) }
+#if (!any(R.version$engine == "FastR")) { 'list' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); class(c(t, 1)) }
 [1] "list"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'truffle.object' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); class(c(to)) }
+#if (!any(R.version$engine == "FastR")) { 'truffle.object' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); class(c(to)) }
 [1] "truffle.object"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#Ignored.Unimplemented#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { c("a","b","c") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(to$fieldStringArray) }
+#if (!any(R.version$engine == "FastR")) { c("a","b","c") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(to$fieldStringArray) }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#Ignored.Unimplemented#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { c("a","b","c") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(to$listString) }
+#if (!any(R.version$engine == "FastR")) { c("a","b","c") } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(to$listString) }
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#Ignored.Unimplemented#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { c('a', 'b', 'c', 'a', 'b', 'c') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(to$fieldStringArray, to$fieldStringArray) }
+#if (!any(R.version$engine == "FastR")) { c('a', 'b', 'c', 'a', 'b', 'c') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(to$fieldStringArray, to$fieldStringArray) }
 [1] "a" "b" "c" "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testCombineInteropTypes#Ignored.Unimplemented#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { c('a', 'b', 'c', 'a', 'b', 'c') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(to$listString, to$listString) }
+#if (!any(R.version$engine == "FastR")) { c('a', 'b', 'c', 'a', 'b', 'c') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); c(to$listString, to$listString) }
 [1] "a" "b" "c" "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a string" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticStringObject }
+#if (!any(R.version$engine == "FastR")) { "a string" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticStringObject }
 [1] "a string"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a string" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringObject }
+#if (!any(R.version$engine == "FastR")) { "a string" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringObject }
 [1] "a string"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldChar }
+#if (!any(R.version$engine == "FastR")) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldChar }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldCharObject }
+#if (!any(R.version$engine == "FastR")) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldCharObject }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticChar }
+#if (!any(R.version$engine == "FastR")) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticChar }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticCharObject }
+#if (!any(R.version$engine == "FastR")) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticCharObject }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldFloat }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldFloat }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldFloatObject }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldFloatObject }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticFloat }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticFloat }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticFloatObject }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticFloatObject }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldDouble }
+#if (!any(R.version$engine == "FastR")) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldDouble }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldDoubleObject }
+#if (!any(R.version$engine == "FastR")) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldDoubleObject }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticDouble }
+#if (!any(R.version$engine == "FastR")) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticDouble }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticDoubleObject }
+#if (!any(R.version$engine == "FastR")) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticDoubleObject }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldByte }
+#if (!any(R.version$engine == "FastR")) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldByte }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldByteObject }
+#if (!any(R.version$engine == "FastR")) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldByteObject }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticByte }
+#if (!any(R.version$engine == "FastR")) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticByte }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticByteObject }
+#if (!any(R.version$engine == "FastR")) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticByteObject }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldInteger }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldInteger }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerObject }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerObject }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticInteger }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticInteger }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticIntegerObject }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticIntegerObject }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldShort }
+#if (!any(R.version$engine == "FastR")) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldShort }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldShortObject }
+#if (!any(R.version$engine == "FastR")) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldShortObject }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticShort }
+#if (!any(R.version$engine == "FastR")) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticShort }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticShortObject }
+#if (!any(R.version$engine == "FastR")) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticShortObject }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldLong }
+#if (!any(R.version$engine == "FastR")) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldLong }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldLongObject }
+#if (!any(R.version$engine == "FastR")) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldLongObject }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticLong }
+#if (!any(R.version$engine == "FastR")) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticLong }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticLongObject }
+#if (!any(R.version$engine == "FastR")) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticLongObject }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldNullObject }
+#if (!any(R.version$engine == "FastR")) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldNullObject }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticNullObject }
+#if (!any(R.version$engine == "FastR")) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticNullObject }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NaN } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticNaN }
+#if (!any(R.version$engine == "FastR")) { NaN } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticNaN }
 [1] NaN
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NaN } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticNaNObject }
+#if (!any(R.version$engine == "FastR")) { NaN } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticNaNObject }
 [1] NaN
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldBoolean }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldBoolean }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldBooleanObject }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldBooleanObject }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticBoolean }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticBoolean }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticBooleanObject }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticBooleanObject }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1]  TRUE FALSE  TRUE\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldBooleanArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1]  TRUE FALSE  TRUE\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldBooleanArray }
 [external object]
 [1]  TRUE FALSE  TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1]  TRUE FALSE  TRUE\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticBooleanArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1]  TRUE FALSE  TRUE\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticBooleanArray }
 [external object]
 [1]  TRUE FALSE  TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "1" "2" "3"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringIntArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "1" "2" "3"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringIntArray }
 [external object]
 [1] "1" "2" "3"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "TRUE"  "TRUE"  "FALSE"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringBooleanArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "TRUE"  "TRUE"  "FALSE"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringBooleanArray }
 [external object]
 [1] "TRUE"  "TRUE"  "FALSE"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldCharArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldCharArray }
 [external object]
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticCharArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticCharArray }
 [external object]
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticStringArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticStringArray }
 [external object]
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStringArray }
 [external object]
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldByteArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldByteArray }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldIntegerArray }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldLongArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldLongArray }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldShortArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldShortArray }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticByteArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticByteArray }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticIntegerArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticIntegerArray }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticLongArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticLongArray }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticShortArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticShortArray }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1.1 2.1 3.1\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldDoubleArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1.1 2.1 3.1\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldDoubleArray }
 [external object]
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1.1 2.1 3.1\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldFloatArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1.1 2.1 3.1\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldFloatArray }
 [external object]
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1.1 2.1 3.1\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticDoubleArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1.1 2.1 3.1\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticDoubleArray }
 [external object]
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testFields#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1.1 2.1 3.1\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticFloatArray }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1.1 2.1 3.1\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$fieldStaticFloatArray }
 [external object]
 [1] 1.1 2.1 3.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testGetClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));java.class(to) }
+#if (!any(R.version$engine == "FastR")) { 'com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass' } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));java.class(to) }
 [1] "com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testGetClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in java.class(1) : unsupported type', '<<<NEWLINE>>>') } else { java.class(1) }
+#if (!any(R.version$engine == "FastR")) { cat('Error in java.class(1) : unsupported type', '<<<NEWLINE>>>') } else { java.class(1) }
 Error in java.class(1) : unsupported type
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testGetClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in java.class(NULL) : unsupported type', '<<<NEWLINE>>>') } else { java.class(NULL) }
+#if (!any(R.version$engine == "FastR")) { cat('Error in java.class(NULL) : unsupported type', '<<<NEWLINE>>>') } else { java.class(NULL) }
 Error in java.class(NULL) : unsupported type
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testGetClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in java.class(to$methodReturnsNull()) : unsupported type', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));java.class(to$methodReturnsNull()) }
+#if (!any(R.version$engine == "FastR")) { cat('Error in java.class(to$methodReturnsNull()) : unsupported type', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));java.class(to$methodReturnsNull()) }
 Error in java.class(to$methodReturnsNull()) : unsupported type
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIdentical#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { b1 <- as.external.byte(1); b2 <- as.external.byte(1); identical(b1, b2) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { b1 <- as.external.byte(1); b2 <- as.external.byte(1); identical(b1, b2) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIdentical#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { b1 <- as.external.byte(1); s1 <- as.external.short(1); identical(b1, s1) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { b1 <- as.external.byte(1); s1 <- as.external.short(1); identical(b1, s1) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIdentical#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { ll <- new.external(new.java.class('java.util.LinkedList')); al <- new.external(new.java.class('java.util.ArrayList')); identical(al, ll) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { ll <- new.external(new.java.class('java.util.LinkedList')); al <- new.external(new.java.class('java.util.ArrayList')); identical(al, ll) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIdentical#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { al <- new.external(new.java.class('java.util.ArrayList')); identical(t, t) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { al <- new.external(new.java.class('java.util.ArrayList')); identical(t, t) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIdentical#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { b1 <- as.external.byte(1); identical(b1, b1) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { b1 <- as.external.byte(1); identical(b1, b1) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#Output.IgnoreErrorContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in if (T) print(\'OK\') : ', '<<<NEWLINE>>>', '  argument is not interpretable as logical', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to) print('OK') }
+#if (!any(R.version$engine == "FastR")) { cat('Error in if (T) print(\'OK\') : ', '<<<NEWLINE>>>', '  argument is not interpretable as logical', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to) print('OK') }
 Error in if (T) print('OK') :
    argument is not interpretable as logical
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(1) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldInteger) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(1) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldInteger) print('OK') }
 [1] "OK"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(T) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldBoolean) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(T) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldBoolean) print('OK') }
 [1] "OK"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(c("TRUE","TRUE","FALSE")) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$listStringBoolean) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(c("TRUE","TRUE","FALSE")) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$listStringBoolean) print('OK') }
 [1] "OK"
 Warning message:
 In if (c("TRUE", "TRUE", "FALSE")) print("OK") :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#Ignored.ImplementationError#Output.IgnoreErrorContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(c('A', 'B')) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$listString) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(c('A', 'B')) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$listString) print('OK') }
 Error in if (c("A", "B")) print("OK") :
   argument is not interpretable as logical
 In addition: Warning message:
@@ -132830,14 +132830,14 @@ In if (c("A", "B")) print("OK") :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(c('TRUE', 'TRUE', 'FALSE')) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldStringBooleanArray) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(c('TRUE', 'TRUE', 'FALSE')) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldStringBooleanArray) print('OK') }
 [1] "OK"
 Warning message:
 In if (c("TRUE", "TRUE", "FALSE")) print("OK") :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#Output.IgnoreWarningContext#Output.IgnoreErrorContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(c('a', 'b')) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldStringArray) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(c('a', 'b')) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldStringArray) print('OK') }
 Error in if (c("a", "b")) print("OK") :
   argument is not interpretable as logical
 In addition: Warning message:
@@ -132845,1526 +132845,1526 @@ In if (c("a", "b")) print("OK") :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(c(T, F)) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldBooleanArray) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(c(T, F)) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldBooleanArray) print('OK') }
 [1] "OK"
 Warning message:
 In if (c(T, F)) print("OK") :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(c(T, F)) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldIntegerArray) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(c(T, F)) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldIntegerArray) print('OK') }
 [1] "OK"
 Warning message:
 In if (c(T, F)) print("OK") :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(c(T, F)) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$listBoolean) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(c(T, F)) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$listBoolean) print('OK') }
 [1] "OK"
 Warning message:
 In if (c(T, F)) print("OK") :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIf#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { if(c(T, F)) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$listInteger) print('OK') }
+#if (!any(R.version$engine == "FastR")) { if(c(T, F)) print('OK') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$listInteger) print('OK') }
 [1] "OK"
 Warning message:
 In if (c(T, F)) print("OK") :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { tc <- new.java.class('java.lang.Character'); t <- new.external(tc, as.external.char(97)); t }
+#if (!any(R.version$engine == "FastR")) { 'a' } else { tc <- new.java.class('java.lang.Character'); t <- new.external(tc, as.external.char(97)); t }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'abc' } else { tc <- new.java.class('java.lang.String'); t <- new.external(tc, 'abc'); t }
+#if (!any(R.version$engine == "FastR")) { 'abc' } else { tc <- new.java.class('java.lang.String'); t <- new.external(tc, 'abc'); t }
 [1] "abc"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'truffle.object' } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNullClass'); t <- new.external(tc, NULL); class(t) }
+#if (!any(R.version$engine == "FastR")) { 'truffle.object' } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNullClass'); t <- new.external(tc, NULL); class(t) }
 [1] "truffle.object"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { tc <- new.java.class('java.lang.Byte'); t <- new.external(tc, as.external.byte(1)); t }
+#if (!any(R.version$engine == "FastR")) { 1 } else { tc <- new.java.class('java.lang.Byte'); t <- new.external(tc, as.external.byte(1)); t }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { tc <- new.java.class('java.lang.Integer'); t <- new.external(tc, 1L); t }
+#if (!any(R.version$engine == "FastR")) { 1 } else { tc <- new.java.class('java.lang.Integer'); t <- new.external(tc, 1L); t }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { tc <- new.java.class('java.lang.Long'); t <- new.external(tc, as.external.long(1)); t }
+#if (!any(R.version$engine == "FastR")) { 1 } else { tc <- new.java.class('java.lang.Long'); t <- new.external(tc, as.external.long(1)); t }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { tc <- new.java.class('java.lang.Short'); t <- new.external(tc, as.external.short(1)); t }
+#if (!any(R.version$engine == "FastR")) { 1 } else { tc <- new.java.class('java.lang.Short'); t <- new.external(tc, as.external.short(1)); t }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { tc <- new.java.class('java.lang.Double'); t <- new.external(tc, 1.1); t }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { tc <- new.java.class('java.lang.Double'); t <- new.external(tc, 1.1); t }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { tc <- new.java.class('java.lang.Float'); t <- new.external(tc, as.external.float(1.1)); t }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { tc <- new.java.class('java.lang.Float'); t <- new.external(tc, as.external.float(1.1)); t }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { tc <- new.java.class('java.lang.Boolean'); t <- new.external(tc, TRUE); t }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { tc <- new.java.class('java.lang.Boolean'); t <- new.external(tc, TRUE); t }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testInteroptNew#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { tc <- new.java.class('java/lang/Boolean'); t <- new(tc, TRUE); t }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { tc <- new.java.class('java/lang/Boolean'); t <- new(tc, TRUE); t }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.array(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.array(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.atomic(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.atomic(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.call(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.call(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.character(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.character(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.complex(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.complex(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.data.frame(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.data.frame(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.double(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.double(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.environment(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.environment(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.expression(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.expression(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.factor(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.factor(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.function(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.function(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.integer(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.integer(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.language(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.language(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.logical(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.logical(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.matrix(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.matrix(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.mts(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.mts(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.na(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.na(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.name(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.name(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.null(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.null(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric.Date(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric.Date(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric.POSIXt(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric.POSIXt(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric.difftime(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric.difftime(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric_version(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.numeric_version(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.object(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.object(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.ordered(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.ordered(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.package_version(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.package_version(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.pairlist(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.pairlist(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.primitive(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.primitive(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.qr(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.qr(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.raster(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.raster(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.raw(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.raw(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.recursive(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.recursive(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.relistable(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.relistable(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.stepfun(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.stepfun(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.symbol(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.symbol(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.table(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.table(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.ts(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.ts(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.tskernel(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.tskernel(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.unsorted(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.unsorted(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.vector(to) }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.vector(to) }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in is.finite(to) : ', '<<<NEWLINE>>>', '  default method not implemented for type \'external object\'<<<NEWLINE>>>', sep='') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.finite(to) }
+#if (!any(R.version$engine == "FastR")) { cat('Error in is.finite(to) : ', '<<<NEWLINE>>>', '  default method not implemented for type \'external object\'<<<NEWLINE>>>', sep='') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.finite(to) }
 Error in is.finite(to) :
   default method not implemented for type 'external object'
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in is.infinite(to) : ', '<<<NEWLINE>>>', '  default method not implemented for type \'external object\'<<<NEWLINE>>>', sep='') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.infinite(to) }
+#if (!any(R.version$engine == "FastR")) { cat('Error in is.infinite(to) : ', '<<<NEWLINE>>>', '  default method not implemented for type \'external object\'<<<NEWLINE>>>', sep='') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.infinite(to) }
 Error in is.infinite(to) :
   default method not implemented for type 'external object'
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testIsXXXForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in is.nan(to) : ', '<<<NEWLINE>>>', '  default method not implemented for type \'external object\'<<<NEWLINE>>>', sep='') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.nan(to) }
+#if (!any(R.version$engine == "FastR")) { cat('Error in is.nan(to) : ', '<<<NEWLINE>>>', '  default method not implemented for type \'external object\'<<<NEWLINE>>>', sep='') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); is.nan(to) }
 Error in is.nan(to) :
   default method not implemented for type 'external object'
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a string" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticStringObject() }
+#if (!any(R.version$engine == "FastR")) { "a string" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticStringObject() }
 [1] "a string"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a string" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStringObject() }
+#if (!any(R.version$engine == "FastR")) { "a string" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStringObject() }
 [1] "a string"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodChar() }
+#if (!any(R.version$engine == "FastR")) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodChar() }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodCharObject() }
+#if (!any(R.version$engine == "FastR")) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodCharObject() }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticChar() }
+#if (!any(R.version$engine == "FastR")) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticChar() }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticCharObject() }
+#if (!any(R.version$engine == "FastR")) { "a" } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticCharObject() }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodFloat() }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodFloat() }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodFloatObject() }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodFloatObject() }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticFloat() }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticFloat() }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticFloatObject() }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticFloatObject() }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodDouble() }
+#if (!any(R.version$engine == "FastR")) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodDouble() }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodDoubleObject() }
+#if (!any(R.version$engine == "FastR")) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodDoubleObject() }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticDouble() }
+#if (!any(R.version$engine == "FastR")) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticDouble() }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticDoubleObject() }
+#if (!any(R.version$engine == "FastR")) { 1.7976931348623157E308 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticDoubleObject() }
 [1] 1.797693e+308
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodByte() }
+#if (!any(R.version$engine == "FastR")) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodByte() }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodByteObject() }
+#if (!any(R.version$engine == "FastR")) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodByteObject() }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticByte() }
+#if (!any(R.version$engine == "FastR")) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticByte() }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticByteObject() }
+#if (!any(R.version$engine == "FastR")) { 127 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticByteObject() }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodInteger() }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodInteger() }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodIntegerObject() }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodIntegerObject() }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticInteger() }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticInteger() }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticIntegerObject() }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticIntegerObject() }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodShort() }
+#if (!any(R.version$engine == "FastR")) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodShort() }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodShortObject() }
+#if (!any(R.version$engine == "FastR")) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodShortObject() }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticShort() }
+#if (!any(R.version$engine == "FastR")) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticShort() }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticShortObject() }
+#if (!any(R.version$engine == "FastR")) { 32767 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticShortObject() }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodLong() }
+#if (!any(R.version$engine == "FastR")) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodLong() }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodLongObject() }
+#if (!any(R.version$engine == "FastR")) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodLongObject() }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticLong() }
+#if (!any(R.version$engine == "FastR")) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticLong() }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticLongObject() }
+#if (!any(R.version$engine == "FastR")) { 9223372036854775807 } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticLongObject() }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodReturnsNull() }
+#if (!any(R.version$engine == "FastR")) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodReturnsNull() }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticReturnsNull() }
+#if (!any(R.version$engine == "FastR")) { NULL } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticReturnsNull() }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodBoolean() }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodBoolean() }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodBooleanObject() }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodBooleanObject() }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticBoolean() }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticBoolean() }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticBooleanObject() }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticBooleanObject() }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticStringArray() }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticStringArray() }
 [external object]
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStringArray() }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a" "b" "c"\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStringArray() }
 [external object]
 [1] "a" "b" "c"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodIntArray() }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodIntArray() }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testMethods#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticIntArray() }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2 3\n') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodStaticIntArray() }
 [external object]
 [1] 1 2 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNamesForForeignObject#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { cl <- new.java.class('java.util.Collections'); em<-cl$EMPTY_MAP; names(em) }
+#if (!any(R.version$engine == "FastR")) { NULL } else { cl <- new.java.class('java.util.Collections'); em<-cl$EMPTY_MAP; names(em) }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNamesForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClass'); names(tc$staticField) }
+#if (!any(R.version$engine == "FastR")) { NULL } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClass'); names(tc$staticField) }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNamesForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClass'); names(tc$staticMethod) }
+#if (!any(R.version$engine == "FastR")) { NULL } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClass'); names(tc$staticMethod) }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNamesForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClassNoMembers'); t <- new.external(tc); names(t) }
+#if (!any(R.version$engine == "FastR")) { NULL } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClassNoMembers'); t <- new.external(tc); names(t) }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNamesForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClassNoPublicMembers'); t <- new.external(tc); names(t) }
+#if (!any(R.version$engine == "FastR")) { NULL } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClassNoPublicMembers'); t <- new.external(tc); names(t) }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNamesForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { c('field', 'method', 'staticField', 'staticMethod') } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClass'); t <- new.external(tc); sort(names(t)) }
+#if (!any(R.version$engine == "FastR")) { c('field', 'method', 'staticField', 'staticMethod') } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClass'); t <- new.external(tc); sort(names(t)) }
 [1] "field"        "method"       "staticField"  "staticMethod"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNamesForForeignObject#Ignored.ImplementationError#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { c('one', 'two') } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClassMap'); to <- new.external(tc); sort(names(to$m())) }
+#if (!any(R.version$engine == "FastR")) { c('one', 'two') } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClassMap'); to <- new.external(tc); sort(names(to$m())) }
 [1] "one" "two"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNamesForForeignObject#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { c('staticField', 'staticMethod') } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClass'); sort(names(tc)) }
+#if (!any(R.version$engine == "FastR")) { c('staticField', 'staticMethod') } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestNamesClass'); sort(names(tc)) }
 [1] "staticField"  "staticMethod"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[B' } else { a <- new.java.array('byte', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[B' } else { a <- new.java.array('byte', 10L); java.class(a); }
 [1] "[B"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[C' } else { a <- new.java.array('char', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[C' } else { a <- new.java.array('char', 10L); java.class(a); }
 [1] "[C"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[D' } else { a <- new.java.array('double', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[D' } else { a <- new.java.array('double', 10L); java.class(a); }
 [1] "[D"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[F' } else { a <- new.java.array('float', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[F' } else { a <- new.java.array('float', 10L); java.class(a); }
 [1] "[F"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[I' } else { a <- new.java.array('int', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[I' } else { a <- new.java.array('int', 10L); java.class(a); }
 [1] "[I"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[J' } else { a <- new.java.array('long', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[J' } else { a <- new.java.array('long', 10L); java.class(a); }
 [1] "[J"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Lcom.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass;' } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Lcom.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass;' } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', 10L); java.class(a); }
 [1] "[Lcom.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.Boolean;' } else { a <- new.java.array('java.lang.Boolean', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.Boolean;' } else { a <- new.java.array('java.lang.Boolean', 10L); java.class(a); }
 [1] "[Ljava.lang.Boolean;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.Byte;' } else { a <- new.java.array('java.lang.Byte', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.Byte;' } else { a <- new.java.array('java.lang.Byte', 10L); java.class(a); }
 [1] "[Ljava.lang.Byte;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.Character;' } else { a <- new.java.array('java.lang.Character', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.Character;' } else { a <- new.java.array('java.lang.Character', 10L); java.class(a); }
 [1] "[Ljava.lang.Character;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.Double;' } else { a <- new.java.array('java.lang.Double', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.Double;' } else { a <- new.java.array('java.lang.Double', 10L); java.class(a); }
 [1] "[Ljava.lang.Double;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.Float;' } else { a <- new.java.array('java.lang.Float', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.Float;' } else { a <- new.java.array('java.lang.Float', 10L); java.class(a); }
 [1] "[Ljava.lang.Float;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.Integer;' } else { a <- new.java.array('java.lang.Integer', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.Integer;' } else { a <- new.java.array('java.lang.Integer', 10L); java.class(a); }
 [1] "[Ljava.lang.Integer;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.Long;' } else { a <- new.java.array('java.lang.Long', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.Long;' } else { a <- new.java.array('java.lang.Long', 10L); java.class(a); }
 [1] "[Ljava.lang.Long;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.Short;' } else { a <- new.java.array('java.lang.Short', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.Short;' } else { a <- new.java.array('java.lang.Short', 10L); java.class(a); }
 [1] "[Ljava.lang.Short;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.String;' } else { a <- new.java.array('java.lang.String', 10.9); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.String;' } else { a <- new.java.array('java.lang.String', 10.9); java.class(a); }
 [1] "[Ljava.lang.String;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.String;' } else { a <- new.java.array('java.lang.String', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Ljava.lang.String;' } else { a <- new.java.array('java.lang.String', 10L); java.class(a); }
 [1] "[Ljava.lang.String;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[S' } else { a <- new.java.array('short', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[S' } else { a <- new.java.array('short', 10L); java.class(a); }
 [1] "[S"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Z' } else { a <- new.java.array('boolean', 10L); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[Z' } else { a <- new.java.array('boolean', 10L); java.class(a); }
 [1] "[Z"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[B' } else { a <- new.java.array('byte', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[B' } else { a <- new.java.array('byte', c(2L, 3L)); java.class(a); }
 [1] "[[B"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[C' } else { a <- new.java.array('char', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[C' } else { a <- new.java.array('char', c(2L, 3L)); java.class(a); }
 [1] "[[C"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[D' } else { a <- new.java.array('double', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[D' } else { a <- new.java.array('double', c(2L, 3L)); java.class(a); }
 [1] "[[D"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[F' } else { a <- new.java.array('float', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[F' } else { a <- new.java.array('float', c(2L, 3L)); java.class(a); }
 [1] "[[F"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[I' } else { a <- new.java.array('int', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[I' } else { a <- new.java.array('int', c(2L, 3L)); java.class(a); }
 [1] "[[I"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[J' } else { a <- new.java.array('long', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[J' } else { a <- new.java.array('long', c(2L, 3L)); java.class(a); }
 [1] "[[J"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Lcom.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass;' } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Lcom.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass;' } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', c(2L, 3L)); java.class(a); }
 [1] "[[Lcom.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.Boolean;' } else { a <- new.java.array('java.lang.Boolean', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.Boolean;' } else { a <- new.java.array('java.lang.Boolean', c(2L, 3L)); java.class(a); }
 [1] "[[Ljava.lang.Boolean;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.Byte;' } else { a <- new.java.array('java.lang.Byte', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.Byte;' } else { a <- new.java.array('java.lang.Byte', c(2L, 3L)); java.class(a); }
 [1] "[[Ljava.lang.Byte;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.Character;' } else { a <- new.java.array('java.lang.Character', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.Character;' } else { a <- new.java.array('java.lang.Character', c(2L, 3L)); java.class(a); }
 [1] "[[Ljava.lang.Character;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.Double;' } else { a <- new.java.array('java.lang.Double', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.Double;' } else { a <- new.java.array('java.lang.Double', c(2L, 3L)); java.class(a); }
 [1] "[[Ljava.lang.Double;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.Float;' } else { a <- new.java.array('java.lang.Float', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.Float;' } else { a <- new.java.array('java.lang.Float', c(2L, 3L)); java.class(a); }
 [1] "[[Ljava.lang.Float;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.Integer;' } else { a <- new.java.array('java.lang.Integer', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.Integer;' } else { a <- new.java.array('java.lang.Integer', c(2L, 3L)); java.class(a); }
 [1] "[[Ljava.lang.Integer;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.Long;' } else { a <- new.java.array('java.lang.Long', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.Long;' } else { a <- new.java.array('java.lang.Long', c(2L, 3L)); java.class(a); }
 [1] "[[Ljava.lang.Long;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.Short;' } else { a <- new.java.array('java.lang.Short', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.Short;' } else { a <- new.java.array('java.lang.Short', c(2L, 3L)); java.class(a); }
 [1] "[[Ljava.lang.Short;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.String;' } else { a <- new.java.array('java.lang.String', c(2.9, 3.9)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.String;' } else { a <- new.java.array('java.lang.String', c(2.9, 3.9)); java.class(a); }
 [1] "[[Ljava.lang.String;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.String;' } else { a <- new.java.array('java.lang.String', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Ljava.lang.String;' } else { a <- new.java.array('java.lang.String', c(2L, 3L)); java.class(a); }
 [1] "[[Ljava.lang.String;"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[S' } else { a <- new.java.array('short', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[S' } else { a <- new.java.array('short', c(2L, 3L)); java.class(a); }
 [1] "[[S"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Z' } else { a <- new.java.array('boolean', c(2L, 3L)); java.class(a); }
+#if (!any(R.version$engine == "FastR")) { '[[Z' } else { a <- new.java.array('boolean', c(2L, 3L)); java.class(a); }
 [1] "[[Z"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('boolean', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('boolean', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('byte', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('byte', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('char', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('char', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('double', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('double', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('float', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('float', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('int', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('int', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.Boolean', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.Boolean', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.Byte', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.Byte', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.Character', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.Character', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.Double', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.Double', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.Float', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.Float', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.Integer', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.Integer', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.Long', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.Long', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.Short', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.Short', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.String', 10.9); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.String', 10.9); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('java.lang.String', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('java.lang.String', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('long', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('long', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- new.java.array('short', 10L); length(a); }
+#if (!any(R.version$engine == "FastR")) { 10 } else { a <- new.java.array('short', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('boolean', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('boolean', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('byte', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('byte', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('char', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('char', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('double', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('double', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('float', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('float', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('int', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('int', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.Boolean', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.Boolean', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.Byte', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.Byte', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.Character', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.Character', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.Double', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.Double', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.Float', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.Float', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.Integer', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.Integer', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.Long', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.Long', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.Short', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.Short', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.String', c(2.9, 3.9)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.String', c(2.9, 3.9)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('java.lang.String', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('java.lang.String', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('long', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('long', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- new.java.array('short', c(2L, 3L)); length(a); }
+#if (!any(R.version$engine == "FastR")) { 2L } else { a <- new.java.array('short', c(2L, 3L)); length(a); }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('boolean', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('boolean', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('byte', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('byte', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('char', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('char', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('double', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('double', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('float', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('float', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('int', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('int', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.Boolean', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.Boolean', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.Byte', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.Byte', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.Character', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.Character', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.Double', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.Double', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.Float', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.Float', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.Integer', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.Integer', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.Long', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.Long', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.Short', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.Short', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.String', c(2.9, 3.9)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.String', c(2.9, 3.9)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('java.lang.String', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('java.lang.String', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('long', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('long', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- new.java.array('short', c(2L, 3L)); length(a[1]); }
+#if (!any(R.version$engine == "FastR")) { 3L } else { a <- new.java.array('short', c(2L, 3L)); length(a[1]); }
 [1] 3
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('boolean', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('boolean', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('boolean', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('boolean', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('byte', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('byte', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('byte', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('byte', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('char', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('char', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('char', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('char', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('double', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('double', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('double', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('double', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('float', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('float', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('float', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('float', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('int', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('int', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('int', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('int', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Boolean', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Boolean', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Boolean', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Boolean', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Byte', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Byte', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Byte', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Byte', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Character', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Character', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Character', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Character', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Double', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Double', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Double', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Double', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Float', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Float', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Float', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Float', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Integer', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Integer', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Integer', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Integer', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Long', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Long', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Long', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Long', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Short', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Short', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.Short', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.Short', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.String', 10.9); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.String', 10.9); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.String', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.String', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.String', c(2.9, 3.9)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.String', c(2.9, 3.9)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('java.lang.String', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('java.lang.String', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('long', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('long', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('long', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('long', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('short', 10L); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('short', 10L); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- new.java.array('short', c(2L, 3L)); is.external.array(a); }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { a <- new.java.array('short', c(2L, 3L)); is.external.array(a); }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewWithJavaClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); to <- new(tc); to$fieldInteger }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); to <- new(tc); to$fieldInteger }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewWithJavaClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { to <- new('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); to$fieldStaticInteger }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { to <- new('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); to$fieldStaticInteger }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewWithJavaClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { tc <- new.java.class('java.lang.Boolean'); to <- new(tc, TRUE); to }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { tc <- new.java.class('java.lang.Boolean'); to <- new(tc, TRUE); to }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewWithJavaClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new('java.lang.Boolean', TRUE); to }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new('java.lang.Boolean', TRUE); to }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewWithJavaClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new('java/lang/Boolean', TRUE); to }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new('java/lang/Boolean', TRUE); to }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewWithJavaClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in getClass(Class, where = topenv(parent.frame())) : ', '<<<NEWLINE>>>', '  “__bogus_class_name__” is not a defined class<<<NEWLINE>>>', sep='') } else { to <- new('__bogus_class_name__'); }
+#if (!any(R.version$engine == "FastR")) { cat('Error in getClass(Class, where = topenv(parent.frame())) : ', '<<<NEWLINE>>>', '  “__bogus_class_name__” is not a defined class<<<NEWLINE>>>', sep='') } else { to <- new('__bogus_class_name__'); }
 Error in getClass(Class, where = topenv(parent.frame())) :
   “__bogus_class_name__” is not a defined class
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewWithJavaClass#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in new.external(Class, ...) : ', '<<<NEWLINE>>>', '  error during Java object instantiation<<<NEWLINE>>>', sep='') } else { to <- new('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); new(to) }
+#if (!any(R.version$engine == "FastR")) { cat('Error in new.external(Class, ...) : ', '<<<NEWLINE>>>', '  error during Java object instantiation<<<NEWLINE>>>', sep='') } else { to <- new('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); new(to) }
 Error in new.external(Class, ...) :
   error during Java object instantiation
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNonPrimitiveParameter#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$equals(to) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$equals(to) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNullParameters#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) {  } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodAcceptsOnlyNull(NULL) }
+#if (!any(R.version$engine == "FastR")) {  } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$methodAcceptsOnlyNull(NULL) }
 NULL
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNullParameters#Ignored.Unimplemented#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { java.lang.Long } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$isNull(1) }
+#if (!any(R.version$engine == "FastR")) { java.lang.Long } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$isNull(1) }
 Error: object 'java.lang.Long' not found
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNullParameters#Ignored.Unimplemented#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { java.lang.String } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$isNull('string') }
+#if (!any(R.version$engine == "FastR")) { java.lang.String } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$isNull('string') }
 Error: object 'java.lang.String' not found
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testOverloaded#Ignored.Unimplemented#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { boolean } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$isOverloaded(TRUE) }
+#if (!any(R.version$engine == "FastR")) { boolean } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$isOverloaded(TRUE) }
 Error: object 'boolean' not found
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testOverloaded#Ignored.Unimplemented#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { java.lang.String } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$isOverloaded('string') }
+#if (!any(R.version$engine == "FastR")) { java.lang.String } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); to$isOverloaded('string') }
 Error: object 'java.lang.String' not found
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); to <- new.external(tc); a <- as.java.array(c(to, to)); is.external.array(a) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); to <- new.external(tc); a <- as.java.array(c(to, to)); is.external.array(a) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); to <- new.external(tc); a <- as.java.array(to); is.external.array(a) }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { tc <- new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'); to <- new.external(tc); a <- as.java.array(to); is.external.array(a) }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1]  TRUE FALSE\n') } else { a <- as.java.array(c(T, F)); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1]  TRUE FALSE\n') } else { a <- as.java.array(c(T, F)); a; }
 [external object]
 [1]  TRUE FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1]  TRUE FALSE\n') } else { a <- as.java.array(c(T, F),,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1]  TRUE FALSE\n') } else { a <- as.java.array(c(T, F),,T); a; }
 [external object]
 [1]  TRUE FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a" "b"\n') } else { a <- as.java.array(c('a', 'b')); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a" "b"\n') } else { a <- as.java.array(c('a', 'b')); a; }
 [external object]
 [1] "a" "b"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a" "b"\n') } else { a <- as.java.array(c('a', 'b'),,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a" "b"\n') } else { a <- as.java.array(c('a', 'b'),,T); a; }
 [external object]
 [1] "a" "b"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a"\n') } else { a <- as.java.array('a'); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a"\n') } else { a <- as.java.array('a'); a; }
 [external object]
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] "a"\n') } else { a <- as.java.array('a',,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] "a"\n') } else { a <- as.java.array('a',,T); a; }
 [external object]
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(1L, 2L)); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(1L, 2L)); a; }
 [external object]
 [1] 1 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(1L, 2L),,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(1L, 2L),,T); a; }
 [external object]
 [1] 1 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2))); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2))); a; }
 [external object]
 [1] 1 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2)), 'int'); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2)), 'int'); a; }
 [external object]
 [1] 1 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2)), 'java.lang.Short'); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2)), 'java.lang.Short'); a; }
 [external object]
 [1] 1 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2)), 'java.lang.Short', T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2)), 'java.lang.Short', T); a; }
 [external object]
 [1] 1 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2)),,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1 2\n') } else { a <- as.java.array(c(as.external.short(1), as.external.short(2)),,T); a; }
 [external object]
 [1] 1 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1.1 1.2\n') } else { a <- as.java.array(c(1.1, 1.2)); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1.1 1.2\n') } else { a <- as.java.array(c(1.1, 1.2)); a; }
 [external object]
 [1] 1.1 1.2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1.1 1.2\n') } else { a <- as.java.array(c(1.1, 1.2),,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1.1 1.2\n') } else { a <- as.java.array(c(1.1, 1.2),,T); a; }
 [external object]
 [1] 1.1 1.2
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1.123 2.123\n') } else { a <- as.java.array(c(1.123, 2.123), 'double'); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1.123 2.123\n') } else { a <- as.java.array(c(1.123, 2.123), 'double'); a; }
 [external object]
 [1] 1.123 2.123
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1.1\n') } else { a <- as.java.array(1.1); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1.1\n') } else { a <- as.java.array(1.1); a; }
 [external object]
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1.1\n') } else { a <- as.java.array(1.1,,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1.1\n') } else { a <- as.java.array(1.1,,T); a; }
 [external object]
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L); a; }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L); as.java.array(a); }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L); as.java.array(a); }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L); as.java.array(a,,T); }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L); as.java.array(a,,T); }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#Ignored.Unimplemented#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L,,F); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L,,F); a; }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L,,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(1L,,T); a; }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1)); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1)); a; }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1)); as.java.array(a); }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1)); as.java.array(a); }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1), 'double'); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1), 'double'); a; }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1), 'java.lang.Short'); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1), 'java.lang.Short'); a; }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1), 'java.lang.Short', T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1), 'java.lang.Short', T); a; }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1),,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] 1\n') } else { a <- as.java.array(as.external.short(1),,T); a; }
 [external object]
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] TRUE\n') } else { a <- as.java.array(T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] TRUE\n') } else { a <- as.java.array(T); a; }
 [external object]
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('[external object]\n[1] TRUE\n') } else { a <- as.java.array(T,,T); a; }
+#if (!any(R.version$engine == "FastR")) { cat('[external object]\n[1] TRUE\n') } else { a <- as.java.array(T,,T); a; }
 [external object]
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.byte' } else { v <- as.external.byte(1.1); class(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.byte' } else { v <- as.external.byte(1.1); class(v); }
 [1] "interopt.byte"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.byte' } else { v <- as.external.byte(1.1); typeof(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.byte' } else { v <- as.external.byte(1.1); typeof(v); }
 [1] "interopt.byte"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { -1 } else { v <- as.external.byte(1.7976931348623157E308); v; }
+#if (!any(R.version$engine == "FastR")) { -1 } else { v <- as.external.byte(1.7976931348623157E308); v; }
 [1] -1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { -1 } else { v <- as.external.byte(2147483647); v; }
+#if (!any(R.version$engine == "FastR")) { -1 } else { v <- as.external.byte(2147483647); v; }
 [1] -1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { -128 } else { v <- as.external.byte(-128); v; }
+#if (!any(R.version$engine == "FastR")) { -128 } else { v <- as.external.byte(-128); v; }
 [1] -128
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 0 } else { v <- as.external.byte(-2147483648); v; }
+#if (!any(R.version$engine == "FastR")) { 0 } else { v <- as.external.byte(-2147483648); v; }
 [1] 0
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 0 } else { v <- as.external.byte(4.9E-324); v; }
+#if (!any(R.version$engine == "FastR")) { 0 } else { v <- as.external.byte(4.9E-324); v; }
 [1] 0
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.byte(1.1); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.byte(1.1); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.byte(1L); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.byte(1L); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.byte(as.raw(1)); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.byte(as.raw(1)); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToByte#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 127 } else { v <- as.external.byte(127); v; }
+#if (!any(R.version$engine == "FastR")) { 127 } else { v <- as.external.byte(127); v; }
 [1] 127
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { v <- as.external.char('a'); v; }
+#if (!any(R.version$engine == "FastR")) { 'a' } else { v <- as.external.char('a'); v; }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { v <- as.external.char(97.1); v; }
+#if (!any(R.version$engine == "FastR")) { 'a' } else { v <- as.external.char(97.1); v; }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { v <- as.external.char(97L); v; }
+#if (!any(R.version$engine == "FastR")) { 'a' } else { v <- as.external.char(97L); v; }
 [1] "a"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'b' } else { v <- as.external.char('abc', 1); v; }
+#if (!any(R.version$engine == "FastR")) { 'b' } else { v <- as.external.char('abc', 1); v; }
 [1] "b"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'b' } else { v <- as.external.char('abc', 1.1); v; }
+#if (!any(R.version$engine == "FastR")) { 'b' } else { v <- as.external.char('abc', 1.1); v; }
 [1] "b"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.char' } else { v <- as.external.char(97.1); class(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.char' } else { v <- as.external.char(97.1); class(v); }
 [1] "interopt.char"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.char' } else { v <- as.external.char(97.1); typeof(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.char' } else { v <- as.external.char(97.1); typeof(v); }
 [1] "interopt.char"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.char' } else { v <- as.external.char(97L); class(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.char' } else { v <- as.external.char(97L); class(v); }
 [1] "interopt.char"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.char' } else { v <- as.external.char(97L); typeof(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.char' } else { v <- as.external.char(97L); typeof(v); }
 [1] "interopt.char"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.external.char(97.1, 1) : ', '<<<NEWLINE>>>', ' pos argument not allowed with a numeric value', '<<<NEWLINE>>>') } else { v <- as.external.char(97.1, 1); v; }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.external.char(97.1, 1) : ', '<<<NEWLINE>>>', ' pos argument not allowed with a numeric value', '<<<NEWLINE>>>') } else { v <- as.external.char(97.1, 1); v; }
 Error in as.external.char(97.1, 1) :
   pos argument not allowed with a numeric value
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToChar#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in as.external.char(97L, 1) : ','<<<NEWLINE>>>',' pos argument not allowed with a numeric value', '<<<NEWLINE>>>') } else { v <- as.external.char(97L, 1); v; }
+#if (!any(R.version$engine == "FastR")) { cat('Error in as.external.char(97L, 1) : ','<<<NEWLINE>>>',' pos argument not allowed with a numeric value', '<<<NEWLINE>>>') } else { v <- as.external.char(97L, 1); v; }
 Error in as.external.char(97L, 1) :
   pos argument not allowed with a numeric value
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.float' } else { v <- as.external.float(1.1); class(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.float' } else { v <- as.external.float(1.1); class(v); }
 [1] "interopt.float"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.float' } else { v <- as.external.float(1.1); typeof(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.float' } else { v <- as.external.float(1.1); typeof(v); }
 [1] "interopt.float"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.float' } else { v <- as.external.float(1L); class(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.float' } else { v <- as.external.float(1L); class(v); }
 [1] "interopt.float"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.float' } else { v <- as.external.float(1L); typeof(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.float' } else { v <- as.external.float(1L); typeof(v); }
 [1] "interopt.float"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 0.0 } else { v <- as.external.float(4.9E-324); v; }
+#if (!any(R.version$engine == "FastR")) { 0.0 } else { v <- as.external.float(4.9E-324); v; }
 [1] 0
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.float(1L); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.float(1L); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.float(as.raw(1)); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.float(as.raw(1)); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.1 } else { v <- as.external.float(1.1); v; }
+#if (!any(R.version$engine == "FastR")) { 1.1 } else { v <- as.external.float(1.1); v; }
 [1] 1.1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1.401298464324817E-45 } else { v <- as.external.float(1.4E-45); v; }
+#if (!any(R.version$engine == "FastR")) { 1.401298464324817E-45 } else { v <- as.external.float(1.4E-45); v; }
 [1] 1.401298e-45
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 3.4028235E38 } else { v <- as.external.float(3.4028235E38); v; }
+#if (!any(R.version$engine == "FastR")) { 3.4028235E38 } else { v <- as.external.float(3.4028235E38); v; }
 [1] 3.402823e+38
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToFloat#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { Inf } else { v <- as.external.float(1.7976931348623157E308); v; }
+#if (!any(R.version$engine == "FastR")) { Inf } else { v <- as.external.float(1.7976931348623157E308); v; }
 [1] Inf
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.long' } else { v <- as.external.long(1.1); class(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.long' } else { v <- as.external.long(1.1); class(v); }
 [1] "interopt.long"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.long' } else { v <- as.external.long(1.1); typeof(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.long' } else { v <- as.external.long(1.1); typeof(v); }
 [1] "interopt.long"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.long' } else { v <- as.external.long(1L); class(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.long' } else { v <- as.external.long(1L); class(v); }
 [1] "interopt.long"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.long' } else { v <- as.external.long(1L); typeof(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.long' } else { v <- as.external.long(1L); typeof(v); }
 [1] "interopt.long"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { -2147483648 } else { v <- as.external.long(-2147483648); v; }
+#if (!any(R.version$engine == "FastR")) { -2147483648 } else { v <- as.external.long(-2147483648); v; }
 [1] -2147483648
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 0 } else { v <- as.external.long(4.9E-324); v; }
+#if (!any(R.version$engine == "FastR")) { 0 } else { v <- as.external.long(4.9E-324); v; }
 [1] 0
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.long(1.1); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.long(1.1); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.long(1L); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.long(1L); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.long(as.raw(1)); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.long(as.raw(1)); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2147483647 } else { v <- as.external.long(2147483647); v; }
+#if (!any(R.version$engine == "FastR")) { 2147483647 } else { v <- as.external.long(2147483647); v; }
 [1] 2147483647
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToLong#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 9223372036854775807 } else { v <- as.external.long(1.7976931348623157E308); v; }
+#if (!any(R.version$engine == "FastR")) { 9223372036854775807 } else { v <- as.external.long(1.7976931348623157E308); v; }
 [1] 9.223372e+18
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.short' } else { v <- as.external.short(1.1); class(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.short' } else { v <- as.external.short(1.1); class(v); }
 [1] "interopt.short"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.short' } else { v <- as.external.short(1.1); typeof(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.short' } else { v <- as.external.short(1.1); typeof(v); }
 [1] "interopt.short"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.short' } else { v <- as.external.short(1L); class(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.short' } else { v <- as.external.short(1L); class(v); }
 [1] "interopt.short"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 'interopt.short' } else { v <- as.external.short(1L); typeof(v); }
+#if (!any(R.version$engine == "FastR")) { 'interopt.short' } else { v <- as.external.short(1L); typeof(v); }
 [1] "interopt.short"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { -1 } else { v <- as.external.short(1.7976931348623157E308); v; }
+#if (!any(R.version$engine == "FastR")) { -1 } else { v <- as.external.short(1.7976931348623157E308); v; }
 [1] -1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { -1 } else { v <- as.external.short(2147483647); v; }
+#if (!any(R.version$engine == "FastR")) { -1 } else { v <- as.external.short(2147483647); v; }
 [1] -1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { -32768 } else { v <- as.external.short(-32768); v; }
+#if (!any(R.version$engine == "FastR")) { -32768 } else { v <- as.external.short(-32768); v; }
 [1] -32768
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 0 } else { v <- as.external.short(-2147483648); v; }
+#if (!any(R.version$engine == "FastR")) { 0 } else { v <- as.external.short(-2147483648); v; }
 [1] 0
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 0 } else { v <- as.external.short(4.9E-324); v; }
+#if (!any(R.version$engine == "FastR")) { 0 } else { v <- as.external.short(4.9E-324); v; }
 [1] 0
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.short(1.1); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.short(1.1); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.short(1L); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.short(1L); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { v <- as.external.short(as.raw(1)); v; }
+#if (!any(R.version$engine == "FastR")) { 1 } else { v <- as.external.short(as.raw(1)); v; }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testToShort#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 32767 } else { v <- as.external.short(32767); v; }
+#if (!any(R.version$engine == "FastR")) { 32767 } else { v <- as.external.short(32767); v; }
 [1] 32767
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#Output.IgnoreErrorContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { cat('Error in if (T) print(\'OK\') : ', '<<<NEWLINE>>>', '  argument is not interpretable as logical', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to) print('OK') }
+#if (!any(R.version$engine == "FastR")) { cat('Error in if (T) print(\'OK\') : ', '<<<NEWLINE>>>', '  argument is not interpretable as logical', '<<<NEWLINE>>>') } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to) print('OK') }
 Error in if (T) print('OK') :
    argument is not interpretable as logical
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(1) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldInteger) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(1) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldInteger) {print('OK'); break;} }
 [1] "OK"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(T) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldBoolean) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(T) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldBoolean) {print('OK'); break;} }
 [1] "OK"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(c("TRUE","TRUE","FALSE")) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$listStringBoolean) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(c("TRUE","TRUE","FALSE")) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$listStringBoolean) {print('OK'); break;} }
 [1] "OK"
 Warning message:
 In while (c("TRUE", "TRUE", "FALSE")) { :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#Ignored.ImplementationError#Output.IgnoreErrorContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(c('A', 'B')) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$listString) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(c('A', 'B')) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$listString) {print('OK'); break;} }
 Error in while (c("A", "B")) { : argument is not interpretable as logical
 In addition: Warning message:
 In while (c("A", "B")) { :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(c('TRUE', 'TRUE', 'FALSE')) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldStringBooleanArray) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(c('TRUE', 'TRUE', 'FALSE')) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldStringBooleanArray) {print('OK'); break;} }
 [1] "OK"
 Warning message:
 In while (c("TRUE", "TRUE", "FALSE")) { :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#Output.IgnoreWarningContext#Output.IgnoreErrorContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(c('a', 'b')) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldStringArray) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(c('a', 'b')) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$fieldStringArray) {print('OK'); break;} }
 Error in while (c("a", "b")) { : argument is not interpretable as logical
 In addition: Warning message:
 In while (c("a", "b")) { :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(c(T, F)) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldBooleanArray) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(c(T, F)) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldBooleanArray) {print('OK'); break;} }
 [1] "OK"
 Warning message:
 In while (c(T, F)) { :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(c(T, F)) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldIntegerArray) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(c(T, F)) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$fieldIntegerArray) {print('OK'); break;} }
 [1] "OK"
 Warning message:
 In while (c(T, F)) { :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(c(T, F)) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$listBoolean) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(c(T, F)) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$listBoolean) {print('OK'); break;} }
 [1] "OK"
 Warning message:
 In while (c(T, F)) { :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testWhile#Ignored.ImplementationError#Output.IgnoreWarningContext#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { while(c(T, F)) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$listInteger) {print('OK'); break;} }
+#if (!any(R.version$engine == "FastR")) { while(c(T, F)) {print('OK'); break;} } else { to <- new.external(new.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$listInteger) {print('OK'); break;} }
 [1] "OK"
 Warning message:
 In while (c(T, F)) { :
   the condition has length > 1 and only the first element will be used
 
 ##com.oracle.truffle.r.test.library.fastr.TestStateTrans.testTransitions#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 1 } else { { f<-function(x) .fastr.refcountinfo(x); f(c(1,2)) } }
+#if (!any(R.version$engine == "FastR")) { 1 } else { { f<-function(x) .fastr.refcountinfo(x); f(c(1,2)) } }
 [1] 1
 
 ##com.oracle.truffle.r.test.library.fastr.TestStateTrans.testTransitions#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2 } else { { f<-function(x) { y<-x; .fastr.refcountinfo(y) }; f(c(1,2)) } }
+#if (!any(R.version$engine == "FastR")) { 2 } else { { f<-function(x) { y<-x; .fastr.refcountinfo(y) }; f(c(1,2)) } }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestStateTrans.testTransitions#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 2 } else { { x<-c(1,2); f<-function(x) .fastr.refcountinfo(x); f(x) } }
+#if (!any(R.version$engine == "FastR")) { 2 } else { { x<-c(1,2); f<-function(x) .fastr.refcountinfo(x); f(x) } }
 [1] 2
 
 ##com.oracle.truffle.r.test.library.fastr.TestStateTrans.testTransitions#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { FALSE } else { { f<-function(y) { x<-y; xi1<-.fastr.identity(x); x[1]<-7; xi2<-.fastr.identity(x); xi1 == xi2 }; f(c(1,2)) } }
+#if (!any(R.version$engine == "FastR")) { FALSE } else { { f<-function(y) { x<-y; xi1<-.fastr.identity(x); x[1]<-7; xi2<-.fastr.identity(x); xi1 == xi2 }; f(c(1,2)) } }
 [1] FALSE
 
 ##com.oracle.truffle.r.test.library.fastr.TestStateTrans.testTransitions#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { { f<-function(x) { xi1<-.fastr.identity(x); x[1]<-7; xi2<-.fastr.identity(x); xi1 == xi2 }; f(c(1,2)) } }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { { f<-function(x) { xi1<-.fastr.identity(x); x[1]<-7; xi2<-.fastr.identity(x); xi1 == xi2 }; f(c(1,2)) } }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestStateTrans.testTransitions#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { { x<-rep(1, 100); xi1<-.fastr.identity(x); f<-function(x) { x }; f(x); x[1]<-7; xi2<-.fastr.identity(x); xi1 == xi2 } }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { { x<-rep(1, 100); xi1<-.fastr.identity(x); f<-function(x) { x }; f(x); x[1]<-7; xi2<-.fastr.identity(x); xi1 == xi2 } }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.fastr.TestStateTrans.testTransitions#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { { x<-rep(1, 100); xi1<-.fastr.identity(x); f<-function(x) { y<-x; y }; f(x); x[1]<-7; xi2<-.fastr.identity(x); xi1 == xi2 } }
+#if (!any(R.version$engine == "FastR")) { TRUE } else { { x<-rep(1, 100); xi1<-.fastr.identity(x); f<-function(x) { y<-x; y }; f(x); x[1]<-7; xi2<-.fastr.identity(x); xi1 == xi2 } }
 [1] TRUE
 
 ##com.oracle.truffle.r.test.library.methods.TestSubstituteDirect.basicTests#
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java
index 05eeefd99daa132306adc2489903c7daf1da93ed..7244ad0a293104370feb20898e2901f88593b897 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java
@@ -494,7 +494,7 @@ public class TestBase {
     }
 
     private static String[] getAssertEvalFastR(String gnuROutput, String input) {
-        return new String[]{"if (length(grep(\"FastR\", R.Version()$version.string)) != 1) { " + gnuROutput + " } else { " + input + " }"};
+        return new String[]{"if (!any(R.version$engine == \"FastR\")) { " + gnuROutput + " } else { " + input + " }"};
     }
 
     /*
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rowsum.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rowsum.java
index 7179dd4688cc195e3ef3a97b63466c68a27087ab..d373ef5d1e79e048186a8dc1adc708a192d2dd9a 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rowsum.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rowsum.java
@@ -63,14 +63,14 @@ public class TestBuiltin_rowsum extends TestBase {
     public void testRowsumArgCoverage() {
         assertEval("x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, g, ug, FALSE, as.character(ug)))");
         // 2nd parm function => GnuR Error: segfault
-        assertEvalFastR("{ x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, print, ug, FALSE, as.character(ug))); }",
-                        "cat(\"Error in rowsum_matrix(x, print, ug, FALSE, as.character(ug)) :\\n invalid 'g' argument\"");
+        assertEvalFastR("x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, print, ug, FALSE, as.character(ug)));",
+                        "cat(\"Error: invalid 'g' argument\\n\")");
         // 3rd parm is function => GnuR Error: "Error: unimplemented type 'closure' in
         // 'HashTableSetup'"
         assertEval(Output.IgnoreErrorMessage, "x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, g, print, FALSE, as.character(ug)))");
         // 2nd parm NULL => GnuR Error: segfault\n" +
         assertEvalFastR("x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, NULL, ug, FALSE,as.character(ug)))",
-                        "cat(\"Error in rowsum_matrix(x, NULL, ug, FALSE, as.character(ug)) :\\n invalid 'g' argument\"");
+                        "cat(\"Error: invalid 'g' argument\\n\")");
         // 3rd parm NULL => GnuR Error: Error: unimplemented type 'NULL' in 'HashTableSetup'
         assertEval(Output.IgnoreErrorMessage, "x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, g, NULL, FALSE,as.character(ug)))");
         assertEval(Output.IgnoreErrorMessage, "x <- matrix(1:10, ncol=2); g <- c(1,2,3,2,1); ug <-unique(g); .Internal(rowsum_matrix(x, , ug, FALSE,as.character(ug)))");
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_strrep.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_strrep.java
index 818a0413bd5d0dd396904e6f972134bd0a74caea..5b2ceaa08e93144827495edc7ba769fafab4fb1c 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_strrep.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_strrep.java
@@ -38,11 +38,10 @@ public class TestBuiltin_strrep extends TestBase {
     @Test
     public void testArgsCasts() {
         // GnuR fails with segfault
-        assertEvalFastR("{ .Internal(strrep(NULL, 5) }", "cat(\"character(0)\")");
+        assertEvalFastR(".Internal(strrep(NULL, 5))", "cat(\"character(0)\\n\")");
         // GnuR - infinite loop
-        assertEvalFastR("{ .Internal(strrep('aa', NULL) }", "cat(\"character(0)\")");
+        assertEvalFastR(".Internal(strrep('aa', NULL))", "cat(\"character(0)\\n\")");
         assertEval("{ .Internal(strrep(, '') }");
         assertEval("{ .Internal(strrep('', ) }");
     }
-
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels1.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels1.R
index 2fcc1bef21fae4cb7df0bfd0111301fe4b16714c..661999283c2731318dcfce65fb67929b851f3eb1 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels1.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels1.R
@@ -1,6 +1,6 @@
 # test remote updated of atomic vector (must stay private)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); x<-.fastr.channel.receive(ch); x[1]<-7; .fastr.channel.send(ch, x)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels10.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels10.R
index 27a0504a89621d2cbb489e849b0720b8f3e7f263..23b243b0e8b37e85ddba337e749f625ecd473bd9 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels10.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels10.R
@@ -1,6 +1,6 @@
 # test remote updated of atomic vector with shareable attribute (must stay private)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); x<-.fastr.channel.receive(ch); x[1]<-7; .fastr.channel.send(ch, x)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels11.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels11.R
index 8a29a1e7f5579e8aa80ff3b55e2cde4377ea2d65..80dfee51e5f4b1e16218ba908a92e685802e5499 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels11.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels11.R
@@ -1,6 +1,6 @@
 # test remote updated of atomic vector with serializable attribute (must stay private)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); x<-.fastr.channel.receive(ch); x[1]<-7; .fastr.channel.send(ch, x)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels12.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels12.R
index ba44457240d723d5a5d6d5f7b2e1a6e124e0dfe1..5ce095baf4462848a66af07e184badce0acb0a0f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels12.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels12.R
@@ -1,6 +1,6 @@
 # test sending environment with global parent and assigning it remotely (should assign remotely but not locally)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); env<-.fastr.channel.receive(ch); assign('y', 7, pos=env); .fastr.channel.send(ch, get('x', envir=env))"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels13.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels13.R
index f9bc278c9bb024c7c3092f18a629552db1cd4393..b5f14d911a9e7e173d60d93c9b4290c232560ef1 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels13.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels13.R
@@ -1,6 +1,6 @@
 # test sending environment with a parent and global grandparent and assigning it remotely (should assign remotely but not locally)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); env<-.fastr.channel.receive(ch); assign('y', 70, pos=env); assign('z', 420, pos=parent.env(env)); .fastr.channel.send(ch, c(get('w', envir=env), get('x', envir=parent.env(env))))"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels14.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels14.R
index 4444daa2129b29329ee7f1a8f9e255b43c6f9e17..8363515abb01e813f2852f551808cb90489d420c 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels14.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels14.R
@@ -1,6 +1,6 @@
 # test passing a promise (environment must stay private)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); x<-.fastr.channel.receive(ch); x[['y']]<-7; .fastr.channel.send(ch, x[['y']])"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels15.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels15.R
index 1f88fd32030ef77602e4ed531a1f25873bc646d3..15cb20a46ea19bd8589ab1ac3671c2b2f5179124 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels15.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels15.R
@@ -1,6 +1,6 @@
 # test remote updated of function with shareable attribute (attribute must stay private)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); f<-.fastr.channel.receive(ch); attr(f, 'foo') <- c('baz', 'bar'); .fastr.channel.send(ch, attr(f, 'foo'))"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels16.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels16.R
index 9c1470b87072bafaae37c77086b404a807d931f7..e1e99e50451e1918b63cae7c134f070d8cf6cac8 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels16.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels16.R
@@ -1,6 +1,6 @@
 # test recursion - sending environment containing vector with same environment attribute
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); env<-.fastr.channel.receive(ch); .fastr.channel.send(ch, get('v', envir=env))"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels17.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels17.R
index 68cc2c1f8467af241a592f689a0420c43fe56fc8..5c0208ce583c6d48db1f0a02d26805b60143a1f7 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels17.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels17.R
@@ -1,6 +1,6 @@
 # test passing a function (environment must stay private)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); f<-.fastr.channel.receive(ch); env <- environment(f); env[['x']] <- 7; .fastr.channel.send(ch, env[['x']])"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels2.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels2.R
index 3e4b27396ea2c358d0354d85dba0e9b678ac93fe..9137709cf3d21fc3733c9eeb35eedbfdecbfd9b6 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels2.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels2.R
@@ -1,6 +1,6 @@
 # test remote update of a list containing atomic vector (must stay private)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); x<-.fastr.channel.receive(ch); x[1][1]<-7; .fastr.channel.send(ch, x)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels3.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels3.R
index 67a6a97e1a45dfe92ae303748acb706a7a9e7ef1..dc91331f0d6a899534a968ec1fb657b13995d781 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels3.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels3.R
@@ -1,6 +1,6 @@
 # test sending a function
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); f<-.fastr.channel.receive(ch); x<-f(7); .fastr.channel.send(ch, x)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels4.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels4.R
index abf201a00e9e9dc670404e8fb31809e52d95237d..bab350ba97c21c437cd6e660a3bc6516e187a48b 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels4.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels4.R
@@ -1,6 +1,6 @@
 # test sending global environment and assigning it remotely (should assign remotely but not locally)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); env<-.fastr.channel.receive(ch); assign('y', 7, pos=env); .fastr.channel.send(ch, y)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels5.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels5.R
index 3a87fe57a2fe9bda3f32b44991fbf59dd488ba38..11c27c1916394c7a49c948e8ae58332ef408d509 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels5.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels5.R
@@ -1,6 +1,6 @@
 # test sending global environment as an attribute and assigning it remotely (should assign remotely but not locally)
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); msg<-.fastr.channel.receive(ch); env<-attr(msg, 'GLOBAL'); assign('y', 7, pos=env); .fastr.channel.send(ch, y)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels6.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels6.R
index 0f860c85d88aba9db43c304f768b4cc1f426a7d9..55a6ebda041d5e2f9945cb1074c7dcb18e35151f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels6.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels6.R
@@ -2,7 +2,7 @@
 # of another list) and assigning it remotely (should assign remotely but not locally)
 
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); msg<-.fastr.channel.receive(ch); env<-attr(attr(msg, 'LIST'), 'GLOBAL'); assign('y', 7, pos=env); .fastr.channel.send(ch, y)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels7.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels7.R
index 24addfd020342ed6cae99aa3439bacdf9741a120..3ee3110ef66c345f3ffdc0362da9281f894e779f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels7.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels7.R
@@ -1,6 +1,6 @@
 # test remote vector transfer for read - should use the same vector
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); x<-.fastr.channel.receive(ch); y<-x[1]; z<-.fastr.identity(x); .fastr.channel.send(ch, z)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels8.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels8.R
index baab3f7bb24cda7b2b7d282e321544e27085d6ca..584ffb14e97aba181d7548aa75e3e19b91450030 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels8.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels8.R
@@ -1,6 +1,6 @@
 # test remote list transfer for read - should use the same vector elements
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); x<-.fastr.channel.receive(ch); y<-x[[1]][1]; z<-.fastr.identity(x[[1]]); .fastr.channel.send(ch, z)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels9.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels9.R
index bdd1b853797f334beb40d55c57b5c459d11e7e73..0fe96e665c77dcfce446fac3b25eaa5d9d4e316c 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels9.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/channels9.R
@@ -1,7 +1,7 @@
 # test remote list transfer for read - should use the same vector elements despite non-sharable content
 # also in the list
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch <- .fastr.channel.create(1L)
     code <- "ch <- .fastr.channel.get(1L); x<-.fastr.channel.receive(ch); y<-x[[1]][1]; z<-c(.fastr.identity(x[[1]]), .fastr.identity(x[[2]])) ; .fastr.channel.send(ch, z)"
     cx <- .fastr.context.spawn(code)
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/contexts1.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/contexts1.R
index f8fe9ce47b22dda2bbd4f4cfc79c5ac6d78f1472..7eab6d3f7b142fd630918a3dade2a540724988b0 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/contexts1.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/contexts1.R
@@ -1,4 +1,4 @@
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch0 <- .fastr.channel.create(1L)
     ch1 <- .fastr.channel.create(2L)
     code0 <- "ch <- .fastr.channel.get(1L); .fastr.channel.send(ch, 7L)"
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing1.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing1.R
index 5a96c5964206e95944672aad6f548b19288dc56f..515792055adfb6fde00143d199074ea9b87a0490 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing1.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing1.R
@@ -1,6 +1,6 @@
 # test remote update in global space - values should remain distinct
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch1 <- .fastr.channel.create(1L)
     code <- "ch2 <- .fastr.channel.get(1L); x <- 7; .fastr.channel.send(ch2, x)"
     x <- 42
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing2.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing2.R
index 3c02fba5abc04a0d0c663d5c715828f69efde269..3131567747bce6f881064355d383da34e10971ac 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing2.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing2.R
@@ -1,6 +1,6 @@
 # test subsequent remote updates in global space - second time value should have been reset
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch1 <- .fastr.channel.create(1L)
     code <- "ch2 <- .fastr.channel.get(1L); x <- 7; .fastr.channel.send(ch2, x)"
     x <- 42
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing3.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing3.R
index ec10067a70355cc808f00d8dbb2eec40c0b4633e..306402593a8b015ff1b18c90e1661507a791f3d1 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing3.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing3.R
@@ -1,6 +1,6 @@
 # test remote update in base space - values should remain distinct
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch1 <- .fastr.channel.create(1L)
 	# use an obscure name so it doesn't clash with other tests
     code <- "ch2 <- .fastr.channel.get(1L); assign('tmp59857', 7, env=baseenv()); .fastr.channel.send(ch2, get('tmp59857', env=baseenv(), inherits=F))"
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing4.R b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing4.R
index 147da5fcf5939daa2e22f3a78696a799cbd6795a..4946b0e62a987aa9de288fe189411540187c8e4e 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing4.R
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/channels/R/sharing4.R
@@ -1,6 +1,6 @@
 # test access to global environment with multiple context instantiations varying context number
 
-if (length(grep("FastR", R.Version()$version.string)) == 1) {
+if (any(R.version$engine == "FastR")) {
     ch1 <- .fastr.channel.create(1L)
     code <- "ch2 <- .fastr.channel.get(1L); x <- .fastr.channel.receive(ch2); .fastr.channel.send(ch2, x)"
     x <- 7