Search in sources :

Example 41 with DynamicObject

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

the class InheritanceTest method testMiddleOperationsOnTop.

@Test
public void testMiddleOperationsOnTop() {
    final DynamicObject object = TOP_LAYOUT.createTop(14, "foo", BigInteger.TEN);
    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 42 with DynamicObject

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

the class InheritanceTest method testBaseGuardsOnTop.

@Test
public void testBaseGuardsOnTop() {
    final DynamicObject object = TOP_LAYOUT.createTop(14, "foo", BigInteger.TEN);
    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 43 with DynamicObject

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

the class InheritanceTest method testBaseOperationsOnMiddle.

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

Example 44 with DynamicObject

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

the class InheritanceTest method testTopGuardsOnTop.

@Test
public void testTopGuardsOnTop() {
    final DynamicObject object = TOP_LAYOUT.createTop(14, "foo", BigInteger.TEN);
    Assert.assertTrue(TOP_LAYOUT.isTop(object));
    Assert.assertTrue(TOP_LAYOUT.isTop((Object) object));
    Assert.assertTrue(TOP_LAYOUT.isTop(object.getShape().getObjectType()));
    Assert.assertTrue(TOP_LAYOUT.isTop(object));
    Assert.assertTrue(TOP_LAYOUT.isTop((Object) object));
    Assert.assertTrue(TOP_LAYOUT.isTop(object.getShape().getObjectType()));
}
Also used : DynamicObject(com.oracle.truffle.api.object.DynamicObject) DynamicObject(com.oracle.truffle.api.object.DynamicObject) Test(org.junit.Test)

Example 45 with DynamicObject

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

the class InheritanceTest method testBase.

@Test
public void testBase() {
    final DynamicObject object = BASE_LAYOUT.createBase(14);
    Assert.assertEquals(14, BASE_LAYOUT.getA(object));
    BASE_LAYOUT.setA(object, 22);
    Assert.assertEquals(22, BASE_LAYOUT.getA(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