Search in sources :

Example 61 with Value

use of org.graalvm.polyglot.Value in project graal by oracle.

the class PolyglotNativeAPI method polyglot_value_fits_in_int8.

@CEntryPoint(name = "polyglot_value_fits_in_int8")
public static PolyglotStatus polyglot_value_fits_in_int8(IsolateThread isolate_thread, PolyglotValuePointer value, CIntPointer result) {
    return withHandledErrors(() -> {
        Value dataObject = fetchHandle(value);
        result.write(dataObject.fitsInByte() ? 1 : 0);
    });
}
Also used : Value(org.graalvm.polyglot.Value) CEntryPoint(org.graalvm.nativeimage.c.function.CEntryPoint)

Example 62 with Value

use of org.graalvm.polyglot.Value in project graal by oracle.

the class PolyglotNativeAPI method polyglot_has_member.

@CEntryPoint(name = "polyglot_has_member")
public static PolyglotStatus polyglot_has_member(IsolateThread isolate_thread, PolyglotValuePointer object, CCharPointer utf8_name, CIntPointer result) {
    return withHandledErrors(() -> {
        Value jObject = fetchHandle(object);
        result.write(jObject.hasMember(CTypeConversion.toJavaString(utf8_name)) ? 1 : 0);
    });
}
Also used : Value(org.graalvm.polyglot.Value) CEntryPoint(org.graalvm.nativeimage.c.function.CEntryPoint)

Example 63 with Value

use of org.graalvm.polyglot.Value in project graal by oracle.

the class PolyglotNativeAPI method polyglot_value_fits_in_double.

@CEntryPoint(name = "polyglot_value_fits_in_double")
public static PolyglotStatus polyglot_value_fits_in_double(IsolateThread isolate_thread, PolyglotValuePointer value, CIntPointer result) {
    return withHandledErrors(() -> {
        Value dataObject = fetchHandle(value);
        result.write(dataObject.fitsInDouble() ? 1 : 0);
    });
}
Also used : Value(org.graalvm.polyglot.Value) CEntryPoint(org.graalvm.nativeimage.c.function.CEntryPoint)

Example 64 with Value

use of org.graalvm.polyglot.Value in project graal by oracle.

the class PolyglotNativeAPI method polyglot_value_as_uint8.

@CEntryPoint(name = "polyglot_value_as_uint8")
public static PolyglotStatus polyglot_value_as_uint8(IsolateThread isolate_thread, PolyglotValuePointer value, CCharPointer result) {
    return withHandledErrors(() -> {
        Value valueObject = fetchHandle(value);
        int intValue = valueObject.asInt();
        if (intValue < 0 || intValue > 255) {
            throw reportError("Value " + Long.toHexString(intValue) + "does not fit in unsigned char", polyglot_generic_failure);
        }
        result.write((byte) intValue);
    });
}
Also used : Value(org.graalvm.polyglot.Value) CEntryPoint(org.graalvm.nativeimage.c.function.CEntryPoint) CEntryPoint(org.graalvm.nativeimage.c.function.CEntryPoint)

Example 65 with Value

use of org.graalvm.polyglot.Value in project graal by oracle.

the class PolyglotNativeAPI method polyglot_value_is_string.

@CEntryPoint(name = "polyglot_value_is_string")
public static PolyglotStatus polyglot_value_is_string(IsolateThread isolate_thread, PolyglotValuePointer object, CIntPointer result) {
    return withHandledErrors(() -> {
        Value value = fetchHandle(object);
        result.write(value.isString() ? 1 : 0);
    });
}
Also used : Value(org.graalvm.polyglot.Value) CEntryPoint(org.graalvm.nativeimage.c.function.CEntryPoint)

Aggregations

Value (org.graalvm.polyglot.Value)277 Test (org.junit.Test)203 ValueAssert.assertValue (com.oracle.truffle.api.test.polyglot.ValueAssert.assertValue)65 Context (org.graalvm.polyglot.Context)58 BoxedTestValue (com.oracle.truffle.llvm.test.interop.values.BoxedTestValue)43 PolyglotException (org.graalvm.polyglot.PolyglotException)42 TruffleObject (com.oracle.truffle.api.interop.TruffleObject)34 ProxyObject (org.graalvm.polyglot.proxy.ProxyObject)34 Source (org.graalvm.polyglot.Source)31 ArrayList (java.util.ArrayList)30 CEntryPoint (org.graalvm.nativeimage.c.function.CEntryPoint)23 ProxyExecutable (org.graalvm.polyglot.proxy.ProxyExecutable)18 HashMap (java.util.HashMap)14 TruffleContext (com.oracle.truffle.api.TruffleContext)11 UnsupportedMessageException (com.oracle.truffle.api.interop.UnsupportedMessageException)11 NullValue (com.oracle.truffle.llvm.test.interop.values.NullValue)11 UnsupportedTypeException (com.oracle.truffle.api.interop.UnsupportedTypeException)10 DebugValue (com.oracle.truffle.api.debug.DebugValue)9 LanguageContext (com.oracle.truffle.api.test.polyglot.LanguageSPITestLanguage.LanguageContext)9 List (java.util.List)9