Search in sources :

Example 1 with StructObject

use of com.oracle.truffle.llvm.test.interop.values.StructObject in project sulong by graalvm.

the class NameBasedInteropTest method setStruct.

@Test
public void setStruct(@Inject(SetStructNode.class) CallTarget set) {
    Map<String, Object> members = makeStruct();
    set.call(new StructObject(members), value);
    Assert.assertEquals(value, members.get("value" + name));
}
Also used : StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) TruffleObject(com.oracle.truffle.api.interop.TruffleObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) Test(org.junit.Test)

Example 2 with StructObject

use of com.oracle.truffle.llvm.test.interop.values.StructObject in project sulong by graalvm.

the class TypedInteropTest method testFillPoints.

@Test
public void testFillPoints(@Inject(FillPointsNode.class) CallTarget fillPoints) {
    StructObject[] arr = new StructObject[42];
    for (int i = 0; i < arr.length; i++) {
        arr[i] = makePoint(0, 0);
    }
    fillPoints.call(new ArrayObject((Object[]) arr), 3, 1);
    for (int i = 0; i < arr.length; i++) {
        Assert.assertEquals("x", 3, arr[i].get("x"));
        Assert.assertEquals("y", 1, arr[i].get("y"));
    }
}
Also used : ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) Test(org.junit.Test)

Example 3 with StructObject

use of com.oracle.truffle.llvm.test.interop.values.StructObject in project sulong by graalvm.

the class NameBasedInteropTest method getStruct.

@Test
public void getStruct(@Inject(GetStructNode.class) CallTarget get) {
    Map<String, Object> members = makeStruct();
    Object expected = members.get("value" + name);
    Object actual = get.call(new StructObject(members));
    Assert.assertEquals(expected, actual);
}
Also used : StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) TruffleObject(com.oracle.truffle.api.interop.TruffleObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) Test(org.junit.Test)

Example 4 with StructObject

use of com.oracle.truffle.llvm.test.interop.values.StructObject in project sulong by graalvm.

the class TypedInteropTest method testFlipPoint.

@Test
public void testFlipPoint(@Inject(FlipPointNode.class) CallTarget flipPoint) {
    StructObject point = makePoint(42, 24);
    flipPoint.call(point);
    Assert.assertEquals("x", 24, point.get("x"));
    Assert.assertEquals("y", 42, point.get("y"));
}
Also used : StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) Test(org.junit.Test)

Example 5 with StructObject

use of com.oracle.truffle.llvm.test.interop.values.StructObject in project sulong by graalvm.

the class TypedInteropTest method checkNested.

private static void checkNested(Object ret) {
    int value = 42;
    Object obj = ret;
    while (obj instanceof StructObject) {
        StructObject nested = (StructObject) obj;
        ArrayObject arr = (ArrayObject) nested.get("arr");
        for (int i = 0; i < 5; i++) {
            StructObject p = (StructObject) arr.get(i);
            Assert.assertEquals("x", value++, p.get("x"));
            Assert.assertEquals("y", value++, p.get("y"));
        }
        StructObject p = (StructObject) nested.get("direct");
        Assert.assertEquals("x", value++, p.get("x"));
        Assert.assertEquals("y", value++, p.get("y"));
        obj = nested.get("next");
    }
}
Also used : ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) TruffleObject(com.oracle.truffle.api.interop.TruffleObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject)

Aggregations

StructObject (com.oracle.truffle.llvm.test.interop.values.StructObject)6 ArrayObject (com.oracle.truffle.llvm.test.interop.values.ArrayObject)5 TruffleObject (com.oracle.truffle.api.interop.TruffleObject)4 Test (org.junit.Test)4 NullValue (com.oracle.truffle.llvm.test.interop.values.NullValue)1 HashMap (java.util.HashMap)1