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 5327a8a1ade517ffa7577e33bc555425e002afe8..e4f5044921f381977a3b9dac8b0cc8de59b7f913 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 0eb43ee900daf5ef38ee37c0e1c4c81d6148feb8..f317d4cfba5ea6aa0075a9f7c70c2069c112bd6c 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