Introducing ECMA property descriptor (8.10) type and helpers for it: constructor and destructor.

This commit is contained in:
Ruben Ayrapetyan
2014-07-28 21:54:42 +04:00
parent 3ee0e8a8a5
commit b073701da4
3 changed files with 150 additions and 1 deletions
+45 -1
View File
@@ -189,7 +189,51 @@ typedef enum
} ecma_property_configurable_value_t;
/**
* Description of ecma-property.
* Description of ECMA property descriptor
*
* See also: ECMA-262 v5, 8.10.
*/
typedef struct
{
/** Is [[Value]] defined? */
unsigned int is_value_defined : 1;
/** Is [[Get]] defined? */
unsigned int is_get_defined : 1;
/** Is [[Set]] defined? */
unsigned int is_set_defined : 1;
/** Is [[Writable]] defined? */
unsigned int is_writable_defined : 1;
/** Is [[Enumerable]] defined? */
unsigned int is_enumerable_defined : 1;
/** Is [[Configurable]] defined? */
unsigned int is_configurable_defined : 1;
/** [[Value]] */
ecma_value_t value;
/** [[Get]] */
ecma_value_t get;
/** [[Set]] */
ecma_value_t set;
/** [[Writable]] */
ecma_property_writable_value_t writable;
/** [[Enumerable]] */
ecma_property_enumerable_value_t enumerable;
/** [[Configurable]] */
ecma_property_configurable_value_t configurable;
} ecma_property_descriptor_t;
/**
* Description of ecma-property
*/
typedef struct ecma_property_t {
/** Property's type (ecma_property_type_t) */