From b0b74151c96be9dfced23e5877229bd0c97c367e Mon Sep 17 00:00:00 2001 From: Adam Welc <adam.welc@oracle.com> Date: Sun, 28 Aug 2016 12:44:15 -0700 Subject: [PATCH] Minor changes to duplicated builtin. --- .../r/nodes/builtin/base/DuplicatedFunctions.java | 12 ++++++++---- .../r/test/builtins/TestBuiltin_duplicated.java | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DuplicatedFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DuplicatedFunctions.java index 03d2eb7c7d..eea62355ab 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DuplicatedFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/DuplicatedFunctions.java @@ -46,8 +46,12 @@ public class DuplicatedFunctions { private final ConditionProfile incomparable = ConditionProfile.createBinaryProfile(); protected void casts(CastBuilder casts) { - casts.arg("x").mustBe(nullValue().or(abstractVectorValue()), RError.SHOW_CALLER, RError.Message.GENERIC, - "duplicated() applies only to vectors").asVector(); + // these are similar to those in DuplicatedFunctions.java + casts.arg("x").mustBe(nullValue().or(abstractVectorValue()), RError.SHOW_CALLER, RError.Message.APPLIES_TO_VECTORS, + "duplicated()").asVector(); + // not much more can be done for incomparables as it is either a vector of incomparable + // values or a (single) logical value + casts.arg("incomparables").asVector(true); casts.arg("fromLast").asLogicalVector().findFirst(RRuntime.LOGICAL_FALSE); } @@ -76,7 +80,7 @@ public class DuplicatedFunctions { } } - @RBuiltin(name = "duplicated", kind = INTERNAL, parameterNames = {"x", "imcomparables", "fromLast", "nmax"}, behavior = PURE) + @RBuiltin(name = "duplicated", kind = INTERNAL, parameterNames = {"x", "incomparables", "fromLast", "nmax"}, behavior = PURE) public abstract static class Duplicated extends Adapter { @Override @@ -123,7 +127,7 @@ public class DuplicatedFunctions { } } - @RBuiltin(name = "anyDuplicated", kind = INTERNAL, parameterNames = {"x", "imcomparables", "fromLast"}, behavior = PURE) + @RBuiltin(name = "anyDuplicated", kind = INTERNAL, parameterNames = {"x", "incomparables", "fromLast"}, behavior = PURE) public abstract static class AnyDuplicated extends Adapter { @Override diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_duplicated.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_duplicated.java index a1eb5d73a1..3040237600 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_duplicated.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_duplicated.java @@ -133,7 +133,7 @@ public class TestBuiltin_duplicated extends TestBase { assertEval("{ x<-quote(f(7, 42)); duplicated(x) }"); assertEval("{ x<-function() 42; duplicated(x) }"); - assertEval(Output.IgnoreErrorMessage, "{ duplicated(c(1,2,1), incomparables=function() 42) }"); + assertEval(Output.IgnoreErrorContext, "{ duplicated(c(1,2,1), incomparables=function() 42) }"); } } -- GitLab