From c7dad10597650132e6eb29e41a9229b8e5fd2c48 Mon Sep 17 00:00:00 2001
From: stepan <stepan.sindelar@oracle.com>
Date: Thu, 30 Nov 2017 13:57:10 +0100
Subject: [PATCH] Fix UpdateClass to ignore NULL class when LSH is NULL

---
 .../com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java
index e45147319f..3190e1d24f 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/UpdateClass.java
@@ -67,7 +67,10 @@ public abstract class UpdateClass extends RBuiltinNode.Arg2 {
 
     @Specialization
     protected Object setClass(@SuppressWarnings("unused") RNull arg, @SuppressWarnings("unused") Object className) {
-        throw error(RError.Message.SET_ATTRIBUTES_ON_NULL);
+        if (className != RNull.instance) {
+            throw error(RError.Message.SET_ATTRIBUTES_ON_NULL);
+        }
+        return RNull.instance;
     }
 
     @Specialization(limit = "CACHE_LIMIT", guards = "cachedClassName == className")
-- 
GitLab