Search in sources :

Example 91 with DynamicObject

use of com.oracle.truffle.api.object.DynamicObject in project graal by oracle.

the class InheritanceTest method testMiddle.

@Test
public void testMiddle() {
    final DynamicObject object = MIDDLE_LAYOUT.createMiddle(14, "foo");
    Assert.assertEquals(14, MIDDLE_LAYOUT.getA(object));
    MIDDLE_LAYOUT.setA(object, 22);
    Assert.assertEquals(22, MIDDLE_LAYOUT.getA(object));
    Assert.assertEquals("foo", MIDDLE_LAYOUT.getB(object));
    MIDDLE_LAYOUT.setB(object, "bar");
    Assert.assertEquals("bar", MIDDLE_LAYOUT.getB(object));
}
Also used : DynamicObject(com.oracle.truffle.api.object.DynamicObject) Test(org.junit.Test)

Example 92 with DynamicObject

use of com.oracle.truffle.api.object.DynamicObject in project graal by oracle.

the class InheritanceTest method testMiddleGuardsOnBase.

@Test
public void testMiddleGuardsOnBase() {
    final DynamicObject object = BASE_LAYOUT.createBase(14);
    Assert.assertFalse(MIDDLE_LAYOUT.isMiddle(object));
    Assert.assertFalse(MIDDLE_LAYOUT.isMiddle((Object) object));
    Assert.assertFalse(MIDDLE_LAYOUT.isMiddle(object.getShape().getObjectType()));
    Assert.assertFalse(MIDDLE_LAYOUT.isMiddle(object));
    Assert.assertFalse(MIDDLE_LAYOUT.isMiddle((Object) object));
    Assert.assertFalse(MIDDLE_LAYOUT.isMiddle(object.getShape().getObjectType()));
}
Also used : DynamicObject(com.oracle.truffle.api.object.DynamicObject) DynamicObject(com.oracle.truffle.api.object.DynamicObject) Test(org.junit.Test)

Example 93 with DynamicObject

use of com.oracle.truffle.api.object.DynamicObject in project graal by oracle.

the class InheritanceTest method testTop.

@Test
public void testTop() {
    final DynamicObject object = TOP_LAYOUT.createTop(14, "foo", BigInteger.TEN);
    Assert.assertEquals(14, TOP_LAYOUT.getA(object));
    BASE_LAYOUT.setA(object, 22);
    Assert.assertEquals(22, BASE_LAYOUT.getA(object));
    Assert.assertEquals("foo", TOP_LAYOUT.getB(object));
    MIDDLE_LAYOUT.setB(object, "bar");
    Assert.assertEquals("bar", MIDDLE_LAYOUT.getB(object));
    Assert.assertEquals(BigInteger.TEN, TOP_LAYOUT.getC(object));
    TOP_LAYOUT.setC(object, BigInteger.ONE);
    Assert.assertEquals(BigInteger.ONE, TOP_LAYOUT.getC(object));
}
Also used : DynamicObject(com.oracle.truffle.api.object.DynamicObject) Test(org.junit.Test)

Example 94 with DynamicObject

use of com.oracle.truffle.api.object.DynamicObject in project graal by oracle.

the class InheritanceTest method testBaseGuardsOnMiddle.

@Test
public void testBaseGuardsOnMiddle() {
    final DynamicObject object = MIDDLE_LAYOUT.createMiddle(14, "foo");
    Assert.assertTrue(BASE_LAYOUT.isBase(object));
    Assert.assertTrue(BASE_LAYOUT.isBase((Object) object));
    Assert.assertTrue(BASE_LAYOUT.isBase(object.getShape().getObjectType()));
    Assert.assertTrue(BASE_LAYOUT.isBase(object));
    Assert.assertTrue(BASE_LAYOUT.isBase((Object) object));
    Assert.assertTrue(BASE_LAYOUT.isBase(object.getShape().getObjectType()));
}
Also used : DynamicObject(com.oracle.truffle.api.object.DynamicObject) DynamicObject(com.oracle.truffle.api.object.DynamicObject) Test(org.junit.Test)

Example 95 with DynamicObject

use of com.oracle.truffle.api.object.DynamicObject in project graal by oracle.

the class NullabilityTest method testSetNonNullableToNonNull.

@Test
public void testSetNonNullableToNonNull() {
    final DynamicObject object = LAYOUT.createNullabilityTest("foo", "bar");
    Assert.assertNotNull(object);
    Assert.assertEquals("foo", LAYOUT.getNotNullable(object));
    LAYOUT.setNotNullable(object, "baz");
    Assert.assertEquals("baz", LAYOUT.getNotNullable(object));
}
Also used : DynamicObject(com.oracle.truffle.api.object.DynamicObject) Test(org.junit.Test)

Aggregations

DynamicObject (com.oracle.truffle.api.object.DynamicObject)100 Test (org.junit.Test)91 Location (com.oracle.truffle.api.object.Location)17 Shape (com.oracle.truffle.api.object.Shape)16 DynamicObjectFactory (com.oracle.truffle.api.object.DynamicObjectFactory)8 ObjectLocation (com.oracle.truffle.api.object.ObjectLocation)7 Property (com.oracle.truffle.api.object.Property)7 ObjectType (com.oracle.truffle.api.object.ObjectType)6 IncompatibleLocationException (com.oracle.truffle.api.object.IncompatibleLocationException)4 Layout (com.oracle.truffle.api.object.Layout)4 FinalLocationException (com.oracle.truffle.api.object.FinalLocationException)2 PropertyBuilder (com.oracle.truffle.object.dsl.processor.model.PropertyBuilder)2 VariableElement (javax.lang.model.element.VariableElement)2 LocationFactory (com.oracle.truffle.api.object.LocationFactory)1 ShapeImpl (com.oracle.truffle.object.ShapeImpl)1 DefaultLayoutFactory (com.oracle.truffle.object.basic.DefaultLayoutFactory)1 PrintStream (java.io.PrintStream)1 ArrayList (java.util.ArrayList)1 IdentityHashMap (java.util.IdentityHashMap)1