Introducing ecma_Property{Writable,Enumerable,Configurable}Value_t enum value types for properties' attributes.

This commit is contained in:
Ruben Ayrapetyan
2014-07-16 21:19:44 +04:00
parent 6918db2f59
commit 8d07e2b239
+32 -5
View File
@@ -153,6 +153,33 @@ typedef enum {
ECMA_INTERNAL_PROPERTY_STRING_INDEXED_ARRAY_VALUES
} ecma_InternalPropertyId_t;
/**
* Property's 'Writable' attribute's values description.
*/
typedef enum
{
ECMA_PROPERTY_WRITABLE, /**< property's 'Writable' attribute is true */
ECMA_PROPERTY_NOT_WRITABLE /**< property's 'Writable' attribute is false */
} ecma_PropertyWritableValue_t;
/**
* Property's 'Enumerable' attribute's values description.
*/
typedef enum
{
ECMA_PROPERTY_ENUMERABLE, /**< property's 'Enumerable' attribute is true */
ECMA_PROPERTY_NOT_ENUMERABLE /**< property's 'Enumerable' attribute is false */
} ecma_PropertyEnumerableValue_t;
/**
* Property's 'Configurable' attribute's values description.
*/
typedef enum
{
ECMA_PROPERTY_CONFIGURABLE, /**< property's 'Configurable' attribute is true */
ECMA_PROPERTY_NOT_CONFIGURABLE /**< property's 'Configurable' attribute is false */
} ecma_PropertyConfigurableValue_t;
/**
* Description of ecma-property.
*/
@@ -171,13 +198,13 @@ typedef struct ecma_Property_t {
/** Compressed pointer to property's name (pointer to String) */
unsigned int m_pName : ECMA_POINTER_FIELD_WIDTH;
/** Attribute 'Writable' */
/** Attribute 'Writable' (ecma_PropertyWritableValue_t) */
unsigned int m_Writable : 1;
/** Attribute 'Enumerable' */
/** Attribute 'Enumerable' (ecma_PropertyEnumerableValue_t) */
unsigned int m_Enumerable : 1;
/** Attribute 'Configurable' */
/** Attribute 'Configurable' (ecma_PropertyConfigurableValue_t) */
unsigned int m_Configurable : 1;
/** Value */
@@ -189,10 +216,10 @@ typedef struct ecma_Property_t {
/** Compressed pointer to property's name (pointer to String) */
unsigned int m_pName : ECMA_POINTER_FIELD_WIDTH;
/** Attribute 'Enumerable' */
/** Attribute 'Enumerable' (ecma_PropertyEnumerableValue_t) */
unsigned int m_Enumerable : 1;
/** Attribute 'Configurable' */
/** Attribute 'Configurable' (ecma_PropertyConfigurableValue_t) */
unsigned int m_Configurable : 1;
/** Compressed pointer to property's getter */