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 e45147319f4d1608535cd35788ef28dc61a80b2f..3190e1d24fd613b760278e7745d6583077430229 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")