diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RecordGraphics.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RecordGraphics.java index b0be4bf5342b864edfc78816e3218bb41c1494fb..5182327ab41aeac25c16cefd9204729f11e4dc36 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RecordGraphics.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/RecordGraphics.java @@ -22,6 +22,7 @@ */ package com.oracle.truffle.r.nodes.builtin.base; +import static com.oracle.truffle.r.nodes.builtin.CastBuilder.Predef.instanceOf; import static com.oracle.truffle.r.runtime.builtins.RBehavior.COMPLEX; import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.INTERNAL; @@ -53,6 +54,13 @@ public abstract class RecordGraphics extends RBuiltinNode { @Child private SetVisibilityNode visibility = SetVisibilityNode.create(); @Child private RList2EnvNode list2EnvNode = new RList2EnvNode(); + static { + Casts casts = new Casts(RecordGraphics.class); + casts.arg("expr").mustBe(instanceOf(RLanguage.class).or(instanceOf(RExpression.class))); + casts.arg("list").mustBe(instanceOf(RList.class)); + casts.arg("env").mustBe(instanceOf(REnvironment.class)); + } + public static RecordGraphics create() { return RecordGraphicsNodeGen.create(); } diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/CallAndExternalFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/CallAndExternalFunctions.java index c8fc0b6df1d973f36b7631a6d93172e63cfd2c2c..40b188aed727ee7cd36735edc3f1510c02b97442 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/CallAndExternalFunctions.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/foreign/CallAndExternalFunctions.java @@ -911,6 +911,10 @@ public class CallAndExternalFunctions { private final BranchProfile errorProfile = BranchProfile.create(); + static { + Casts.noCasts(DotExternalGraphics.class); + } + @Override @TruffleBoundary protected RExternalBuiltinNode lookupBuiltin(RList f) { @@ -970,6 +974,10 @@ public class CallAndExternalFunctions { private final BranchProfile errorProfile = BranchProfile.create(); + static { + Casts.noCasts(DotCallGraphics.class); + } + @Override public Object[] getDefaultParameterValues() { return new Object[]{RMissing.instance, RArgsValuesAndNames.EMPTY, RMissing.instance};