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

Indexed access to RArgsValuesAndNames via interop.

parent 58f42d6b
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,7 @@
*/
package com.oracle.truffle.r.engine.interop;
import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.interop.CanResolve;
import com.oracle.truffle.api.interop.MessageResolution;
import com.oracle.truffle.api.interop.Resolve;
......@@ -45,6 +46,14 @@ public class RArgsValuesAndNamesMR {
}
}
@Resolve(message = "GET_SIZE")
public abstract static class RArgsValuesAndNamesGetSizeNode extends Node {
protected Object access(RArgsValuesAndNames receiver) {
assert false : "GET_SIZE";
return receiver.getLength();
}
}
@Resolve(message = "IS_NULL")
public abstract static class RArgsValuesAndNamesIsNullNode extends Node {
protected Object access(@SuppressWarnings("unused") RArgsValuesAndNames receiver) {
......@@ -52,6 +61,13 @@ public class RArgsValuesAndNamesMR {
}
}
@Resolve(message = "READ")
public abstract static class RArgsValuesAndNamesReadNode extends Node {
protected Object access(@SuppressWarnings("unused") VirtualFrame frame, RArgsValuesAndNames receiver, int index) {
return receiver.getArgument(index);
}
}
@CanResolve
public abstract static class RArgsValuesAndNamesCheck extends Node {
......
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