diff --git a/com.oracle.truffle.r.runtime.ffi/src/com/oracle/truffle/r/runtime/ffi/jnr/CallRFFIHelper.java b/com.oracle.truffle.r.runtime.ffi/src/com/oracle/truffle/r/runtime/ffi/jnr/CallRFFIHelper.java index 8f52981874922be964da93390f7dd89afe84bff3..fd341adf53bbbe8451cc6d6b8dd50f25ba6338f9 100644 --- a/com.oracle.truffle.r.runtime.ffi/src/com/oracle/truffle/r/runtime/ffi/jnr/CallRFFIHelper.java +++ b/com.oracle.truffle.r.runtime.ffi/src/com/oracle/truffle/r/runtime/ffi/jnr/CallRFFIHelper.java @@ -325,8 +325,7 @@ public class CallRFFIHelper { } } - public static RStringVector getClassHr(Object v) { - RFFIUtils.traceUpCall("getClassHr", v); + private static RStringVector getClassHr(Object v) { RStringVector result; if (v instanceof RAttributable) { result = ((RAttributable) v).getClassHierarchy(); @@ -346,19 +345,20 @@ public class CallRFFIHelper { guaranteeInstanceOf(v, RNull.class); result = RNull.implicitClassHeader; } - RFFIUtils.traceUpCallReturn("getClassHr", result); return result; } public static int Rf_inherits(Object x, String clazz) { RFFIUtils.traceUpCall("Rf_inherits", x, clazz); + int result = 0; RStringVector hierarchy = getClassHr(x); for (int i = 0; i < hierarchy.getLength(); i++) { if (hierarchy.getDataAt(i).equals(clazz)) { - return 1; + result = 1; } } - return 0; + RFFIUtils.traceUpCallReturn("Rf_inherits", result); + return result; } public static Object Rf_lengthgets(Object x, int newSize) {