From cbc61dd70fa79685deab27362d5ce953dda6a2b8 Mon Sep 17 00:00:00 2001
From: Adam Welc <adam.welc@oracle.com>
Date: Fri, 30 Sep 2016 16:27:23 +0200
Subject: [PATCH] Handling both types of call nodes when creating a call.

---
 .../src/com/oracle/truffle/r/nodes/RASTUtils.java            | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

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 76da64a028..d7e2da0a85 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
@@ -33,6 +33,7 @@ import com.oracle.truffle.r.nodes.access.ReadVariadicComponentNode;
 import com.oracle.truffle.r.nodes.access.variables.ReadVariableNode;
 import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
 import com.oracle.truffle.r.nodes.function.PromiseNode.VarArgNode;
+import com.oracle.truffle.r.nodes.function.RCallBaseNode;
 import com.oracle.truffle.r.nodes.function.RCallNode;
 import com.oracle.truffle.r.nodes.function.WrapArgumentBaseNode;
 import com.oracle.truffle.r.nodes.function.WrapArgumentNode;
@@ -237,8 +238,8 @@ public class RASTUtils {
         SourceSection sourceSection = sourceUnavailable ? RSyntaxNode.SOURCE_UNAVAILABLE : RSyntaxNode.EAGER_DEPARSE;
         if (fn instanceof ReadVariableNode) {
             return RCallNode.createCall(sourceSection, (ReadVariableNode) fn, signature, arguments);
-        } else if (fn instanceof RCallNode) {
-            return RCallNode.createCall(sourceSection, (RCallNode) fn, signature, arguments);
+        } else if (fn instanceof RCallBaseNode) {
+            return RCallNode.createCall(sourceSection, (RCallBaseNode) fn, signature, arguments);
         } else {
             // apart from RFunction, this of course would not make much sense if trying to evaluate
             // this call, yet it's syntactically possible, for example as a result of:
-- 
GitLab