From e01a1813a124806031739b7695eb86bee7cfdf0c Mon Sep 17 00:00:00 2001 From: stepan <stepan.sindelar@oracle.com> Date: Thu, 19 Apr 2018 14:51:34 +0200 Subject: [PATCH] Allow empty message in .signalCondition --- .../r/nodes/builtin/base/ConditionFunctions.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConditionFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConditionFunctions.java index 1f8bda07e4..11cd9e372a 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConditionFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/ConditionFunctions.java @@ -177,8 +177,15 @@ public class ConditionFunctions { } @Specialization - protected RNull signalCondition(RList condition, RAbstractStringVector msg, Object call) { - RErrorHandling.signalCondition(condition, msg.getDataAt(0), call); + protected RNull signalCondition(RList condition, Object msg, Object call) { + String msgStr = ""; + if (msg instanceof RAbstractStringVector) { + RAbstractStringVector msgVec = (RAbstractStringVector) msg; + if (msgVec.getLength() > 0) { + msgStr = ((RAbstractStringVector) msg).getDataAt(0); + } + } + RErrorHandling.signalCondition(condition, msgStr, call); return RNull.instance; } } -- GitLab