From 7294bae1e3d6de2f074eac0ab1a5f58e1d193ae7 Mon Sep 17 00:00:00 2001
From: stepan <stepan.sindelar@oracle.com>
Date: Mon, 9 Apr 2018 10:03:06 +0200
Subject: [PATCH] New builtin does not fail without --jvm

---
 .../truffle/r/nodes/builtin/fastr/FastROptionBuiltin.java     | 4 ++++
 .../truffle/r/nodes/builtin/methods/R/methods_overrides.R     | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastROptionBuiltin.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastROptionBuiltin.java
index 5327a8a1ad..e4f5044921 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastROptionBuiltin.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastROptionBuiltin.java
@@ -32,6 +32,7 @@ import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
 import com.oracle.truffle.r.runtime.FastROptions;
 import com.oracle.truffle.r.runtime.RRuntime;
 import com.oracle.truffle.r.runtime.builtins.RBuiltin;
+import com.oracle.truffle.r.runtime.context.RContext;
 import com.oracle.truffle.r.runtime.data.RNull;
 
 /**
@@ -48,6 +49,9 @@ public abstract class FastROptionBuiltin extends RBuiltinNode.Arg1 {
     @Specialization
     @TruffleBoundary
     protected Object getOption(String name) {
+        if ("hostLookup".equals(name)) {
+            return RRuntime.asLogical(RContext.getInstance().getEnv().isHostLookupAllowed());
+        }
         FastROptions opt = null;
         try {
             opt = Enum.valueOf(FastROptions.class, name);
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/methods/R/methods_overrides.R b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/methods/R/methods_overrides.R
index 0eb43ee900..f317d4cfba 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/methods/R/methods_overrides.R
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/methods/R/methods_overrides.R
@@ -1,4 +1,4 @@
-# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2017, 2018, 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
@@ -25,7 +25,7 @@ eval(expression({
 `slot<-` <- .fastr.methods.slotassign
 
 new <- function (Class, ...) {
-    if(is.character(Class)) {
+    if (.fastr.option("hostLookup") && is.character(Class) && !isClass(Class)) {
         javaClass <- java.type(Class, silent=TRUE)
         if(!is.null(javaClass)) {
             Class <- javaClass
-- 
GitLab