diff graal/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/DynamicObject.java @ 21652:5f3dda39d205

Truffle: add DynamicObject#containsKey, make flags parameter optional, minor simplifications
author Andreas Woess <andreas.woess@oracle.com>
date Mon, 01 Jun 2015 12:55:56 +0200
parents 723142fed324
children
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/DynamicObject.java	Mon Jun 01 13:49:38 2015 +0200
+++ b/graal/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/DynamicObject.java	Mon Jun 01 12:55:56 2015 +0200
@@ -52,6 +52,23 @@
     public abstract boolean set(Object key, Object value);
 
     /**
+     * Returns {@code true} if this object contains a property with the given key.
+     */
+    public final boolean containsKey(Object key) {
+        return getShape().getProperty(key) != null;
+    }
+
+    /**
+     * Define new property or redefine existing property.
+     *
+     * @param key property identifier
+     * @param value value to be set
+     */
+    public final void define(Object key, Object value) {
+        define(key, value, 0);
+    }
+
+    /**
      * Define new property or redefine existing property.
      *
      * @param key property identifier