Skip to content
Snippets Groups Projects
Commit 12e5aece authored by Florian Angerer's avatar Florian Angerer
Browse files

Added casts.

parent 48be0510
No related branches found
No related tags found
No related merge requests found
......@@ -34,6 +34,7 @@ import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
import com.oracle.truffle.r.nodes.unary.CastStringNode;
import com.oracle.truffle.r.nodes.unary.CastStringNodeGen;
import com.oracle.truffle.r.nodes.unary.GetNonSharedNode;
import com.oracle.truffle.r.runtime.RError;
import com.oracle.truffle.r.runtime.RError.Message;
import com.oracle.truffle.r.runtime.builtins.RBuiltin;
import com.oracle.truffle.r.runtime.data.RDataFactory;
......@@ -48,7 +49,8 @@ public abstract class UpdateNames extends RBuiltinNode.Arg2 {
@Child private CastStringNode castStringNode;
static {
Casts.noCasts(UpdateNames.class);
Casts casts = new Casts(UpdateNames.class);
casts.arg("x").mustNotBeNull(RError.Message.SET_ATTRIBUTES_ON_NULL, "NULL");
}
private Object castString(Object o) {
......
......@@ -28,6 +28,7 @@ import static com.oracle.truffle.r.runtime.builtins.RBuiltinKind.PRIMITIVE;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.source.SourceSection;
import com.oracle.truffle.r.nodes.builtin.RBuiltinNode;
import com.oracle.truffle.r.runtime.RError;
import com.oracle.truffle.r.runtime.builtins.RBehavior;
import com.oracle.truffle.r.runtime.builtins.RBuiltin;
import com.oracle.truffle.r.runtime.data.RFunction;
......@@ -40,7 +41,8 @@ import com.oracle.truffle.r.runtime.data.RNull;
public abstract class FastRSourceInfo extends RBuiltinNode.Arg1 {
static {
Casts.noCasts(FastRSourceInfo.class);
Casts casts = new Casts(FastRSourceInfo.class);
casts.arg("fun").defaultError(RError.Message.GENERIC, "Only functions are allowed.").mustBe(RFunction.class);
}
@Specialization
......@@ -55,6 +57,8 @@ public abstract class FastRSourceInfo extends RBuiltinNode.Arg1 {
String path = ss.getSource().getPath();
if (path != null) {
return path + "#" + ss.getStartLine();
} else if (ss.getSource().getURI() != null) {
return ss.getSource().getURI() + "#" + ss.getStartLine();
} else {
return ss.getSource().getName();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment