From aadfeb81f4e09b8a8c0e3ad1a643a76171b93b7b Mon Sep 17 00:00:00 2001 From: Mick Jordan <mick.jordan@oracle.com> Date: Tue, 15 Dec 2015 13:50:22 -0800 Subject: [PATCH] fix for RRuntimeASTAccess.fromList with named, not-variable formal arg --- .../oracle/truffle/r/engine/RRuntimeASTAccessImpl.java | 8 ++++---- .../src/com/oracle/truffle/r/nodes/RASTUtils.java | 4 ++-- .../{NamedReadVariableNode.java => NamedRNode.java} | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) rename com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/{NamedReadVariableNode.java => NamedRNode.java} (89%) diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java index 70b59ebd34..444300b2e7 100644 --- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java +++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java @@ -100,8 +100,8 @@ public class RRuntimeASTAccessImpl implements RRuntimeASTAccess { RStringVector formals = list.getNames(); boolean nullFormals = formals == null; RNode fn = unwrapToRNode(list.getDataAtAsObject(0)); - if (!nullFormals && fn instanceof ReadVariableNode && formals.getLength() > 0 && formals.getDataAt(0).length() > 0) { - fn = new NamedReadVariableNode((ReadVariableNode) fn, formals.getDataAt(0)); + if (!nullFormals && formals.getLength() > 0 && formals.getDataAt(0).length() > 0) { + fn = new NamedRNode(fn, formals.getDataAt(0)); } RSyntaxNode[] arguments = new RSyntaxNode[length - 1]; String[] sigNames = new String[arguments.length]; @@ -156,9 +156,9 @@ public class RRuntimeASTAccessImpl implements RRuntimeASTAccess { boolean hasName = false; String functionName = ""; RNode fnNode = RASTUtils.getFunctionNode(node); - if (fnNode instanceof NamedReadVariableNode) { + if (fnNode instanceof NamedRNode) { hasName = true; - functionName = ((NamedReadVariableNode) fnNode).name; + functionName = ((NamedRNode) fnNode).name; } Arguments<RSyntaxNode> args = RASTUtils.findCallArguments(node); ArgumentsSignature sig = args.getSignature(); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTUtils.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTUtils.java index 135c1d53e1..857e18ba40 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTUtils.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTUtils.java @@ -199,8 +199,8 @@ public class RASTUtils { return RCallNode.createCall(sourceSection, RASTUtils.createReadVariableNode(((String) fn)), signature, arguments); } else if (fn instanceof ReadVariableNode) { return RCallNode.createCall(sourceSection, (ReadVariableNode) fn, signature, arguments); - } else if (fn instanceof NamedReadVariableNode) { - return RCallNode.createCall(RSyntaxNode.SOURCE_UNAVAILABLE, (NamedReadVariableNode) fn, signature, arguments); + } else if (fn instanceof NamedRNode) { + return RCallNode.createCall(RSyntaxNode.SOURCE_UNAVAILABLE, (NamedRNode) fn, signature, arguments); } else if (fn instanceof GroupDispatchNode) { GroupDispatchNode gdcn = (GroupDispatchNode) fn; return GroupDispatchNode.create(gdcn.getGenericName(), gdcn.getCallSrc(), signature, arguments); diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedReadVariableNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedRNode.java similarity index 89% rename from com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedReadVariableNode.java rename to com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedRNode.java index e193d7d661..a1509d59ad 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedReadVariableNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedRNode.java @@ -30,11 +30,11 @@ import com.oracle.truffle.r.runtime.nodes.RSyntaxNode; * Used when creating an {@code RCallNode} with a function that has a "name". This could subclass * {@link ReadVariableNode} but that is currently final. */ -public final class NamedReadVariableNode extends RNode { - public final ReadVariableNode original; +public final class NamedRNode extends RNode { + public final RNode original; public final String name; - public NamedReadVariableNode(ReadVariableNode original, String name) { + public NamedRNode(RNode original, String name) { this.original = original; this.name = name; } @@ -46,6 +46,6 @@ public final class NamedReadVariableNode extends RNode { @Override public RSyntaxNode getRSyntaxNode() { - return original; + return original.asRSyntaxNode(); } } -- GitLab