From 10bd8ae49b9c9a00b88314ced153757c68954207 Mon Sep 17 00:00:00 2001 From: stepan <stepan.sindelar@oracle.com> Date: Tue, 8 Aug 2017 11:36:58 +0200 Subject: [PATCH] Fix: use lookup node for REngine#eval instead of ReadVariableNode --- .../truffle/r/ffi/impl/common/JavaUpCallsRFFIImpl.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/common/JavaUpCallsRFFIImpl.java b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/common/JavaUpCallsRFFIImpl.java index 7c50bb2d2d..384967e805 100644 --- a/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/common/JavaUpCallsRFFIImpl.java +++ b/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/common/JavaUpCallsRFFIImpl.java @@ -47,7 +47,6 @@ import com.oracle.truffle.r.ffi.impl.nodes.FFIUpCallRootNode; import com.oracle.truffle.r.ffi.impl.upcalls.RFFIUpCallTable; import com.oracle.truffle.r.ffi.impl.upcalls.UpCallsRFFI; import com.oracle.truffle.r.nodes.RASTUtils; -import com.oracle.truffle.r.nodes.access.variables.ReadVariableNode; import com.oracle.truffle.r.nodes.function.ClassHierarchyNode; import com.oracle.truffle.r.runtime.ArgumentsSignature; import com.oracle.truffle.r.runtime.RArguments; @@ -839,8 +838,8 @@ public abstract class JavaUpCallsRFFIImpl implements UpCallsRFFI { argsList.getDataNonShared()); } } else if (expr instanceof RSymbol) { - ReadVariableNode rvn = ReadVariableNode.create(((RSymbol) expr).getName()); - result = RContext.getEngine().eval(RDataFactory.createLanguage(rvn), (REnvironment) env, RCaller.topLevel); + RSyntaxNode lookup = RContext.getASTBuilder().lookup(RSyntaxNode.LAZY_DEPARSE, ((RSymbol) expr).getName(), false); + result = RContext.getEngine().eval(RDataFactory.createLanguage(lookup.asRNode()), (REnvironment) env, RCaller.topLevel); } else { // just return value result = expr; -- GitLab