aboutsummaryrefslogtreecommitdiff
path: root/jerry-core/ecma/base/ecma-property-hashmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'jerry-core/ecma/base/ecma-property-hashmap.h')
-rw-r--r--jerry-core/ecma/base/ecma-property-hashmap.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/jerry-core/ecma/base/ecma-property-hashmap.h b/jerry-core/ecma/base/ecma-property-hashmap.h
index d1a0f75f..3ad4dbbd 100644
--- a/jerry-core/ecma/base/ecma-property-hashmap.h
+++ b/jerry-core/ecma/base/ecma-property-hashmap.h
@@ -52,11 +52,22 @@ typedef struct
*/
} ecma_property_hashmap_t;
+/**
+ * Simple ecma values
+ */
+typedef enum
+{
+ ECMA_PROPERTY_HASHMAP_DELETE_NO_HASHMAP, /**< object has no hashmap */
+ ECMA_PROPERTY_HASHMAP_DELETE_HAS_HASHMAP, /**< object has hashmap */
+ ECMA_PROPERTY_HASHMAP_DELETE_RECREATE_HASHMAP, /**< hashmap should be recreated */
+} ecma_property_hashmap_delete_status;
+
void ecma_property_hashmap_create (ecma_object_t *object_p);
void ecma_property_hashmap_free (ecma_object_t *object_p);
void ecma_property_hashmap_insert (ecma_object_t *object_p, ecma_string_t *name_p,
ecma_property_pair_t *property_pair_p, int property_index);
-void ecma_property_hashmap_delete (ecma_object_t *object_p, jmem_cpointer_t name_cp, ecma_property_t *property_p);
+ecma_property_hashmap_delete_status ecma_property_hashmap_delete (ecma_object_t *object_p, jmem_cpointer_t name_cp,
+ ecma_property_t *property_p);
#ifndef CONFIG_ECMA_PROPERTY_HASHMAP_DISABLE
ecma_property_t *ecma_property_hashmap_find (ecma_property_hashmap_t *hashmap_p, ecma_string_t *name_p,