public Object access(JavaObject object) { return JavaInterop.isPrimitive(object.obj); }
public Object access(JavaObject object) { if (JavaInterop.isPrimitive(object.obj)) { return object.obj; } else { return UnsupportedMessageException.raise(Message.UNBOX); } }
static Object asTruffleValue(Object obj, Object languageContext) { return JavaInterop.isPrimitive(obj) ? obj : JavaInterop.asTruffleObject(obj, languageContext); } }
static Object toGuestValue(Object obj, Object languageContext) { if (isPrimitive(obj)) { return obj; } return toGuestObject(obj, languageContext); }
/** * Prepares a Java object for use in any {@link TruffleLanguage}. If the object is one of * {@link #isPrimitive primitive} values, it is just returned, as all {@link TruffleLanguage}s * are supposed to handle such object. If it is a non-primitive type of Java object, the method * does exactly the same thing as {@link #asTruffleObject}. * * @param obj a Java object to convert into one suitable for <em>Truffle</em> languages * @return converted object, or primitive * @since 0.18 */ public static Object asTruffleValue(Object obj) { return isPrimitive(obj) ? obj : asTruffleObject(obj); }
static Object toGuestObject(Object obj, Object languageContext) { assert !isPrimitive(obj); EngineSupport engine = ACCESSOR.engine(); if (engine == null || languageContext == null) { assert !(obj instanceof Value || obj instanceof Proxy); return asTruffleObject(obj, languageContext); } return engine.toGuestValue(obj, languageContext); }