diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java index 82f194dcdc6c9aae2fd1b4a221be85eedfaa681e..dd8b1d3e8b1b3de9880edd15e8efb90b1ccd7e43 100644 --- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java +++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java @@ -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 {