diff options
author | Zoltan Herczeg <zherczeg.u-szeged@partner.samsung.com> | 2021-09-13 15:32:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-13 15:32:14 +0200 |
commit | 723b26392d949d2f1fcf204dbac7914dadc8e7ed (patch) | |
tree | 8b41e4facd8cddd71881c36f0ec521571f8ef4a9 /jerry-core/ecma/base/ecma-globals.h | |
parent | 2c2539c6b88fc487e03e7e458732b1b9f9030f60 (diff) |
Fix property enumeration order of built-in properties (#4761)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
Diffstat (limited to 'jerry-core/ecma/base/ecma-globals.h')
-rw-r--r-- | jerry-core/ecma/base/ecma-globals.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/jerry-core/ecma/base/ecma-globals.h b/jerry-core/ecma/base/ecma-globals.h index 72247db1..22ebd327 100644 --- a/jerry-core/ecma/base/ecma-globals.h +++ b/jerry-core/ecma/base/ecma-globals.h @@ -400,6 +400,7 @@ typedef enum ECMA_PROPERTY_FLAG_WRITABLE = (1u << 2), /**< property is writable */ ECMA_PROPERTY_FLAG_SINGLE_EXTERNAL = (1u << 2), /**< only one external pointer is assigned to this object */ ECMA_PROPERTY_FLAG_DELETED = (1u << 3), /**< property is deleted */ + ECMA_PROPERTY_FLAG_BUILT_IN = (1u << 3), /**< property is defined by the ECMAScript standard */ ECMA_FAST_ARRAY_FLAG = (1u << 3), /**< array is fast array */ ECMA_PROPERTY_FLAG_LCACHED = (1u << 4), /**< property is lcached */ #if JERRY_ESNEXT @@ -428,12 +429,48 @@ typedef enum (ECMA_PROPERTY_FLAG_CONFIGURABLE | ECMA_PROPERTY_FLAG_WRITABLE) /** + * Property flag built-in. + */ +#define ECMA_PROPERTY_BUILT_IN_FIXED \ + (ECMA_PROPERTY_FLAG_BUILT_IN) + +/** * Property flags enumerable, writable. */ #define ECMA_PROPERTY_ENUMERABLE_WRITABLE \ (ECMA_PROPERTY_FLAG_ENUMERABLE | ECMA_PROPERTY_FLAG_WRITABLE) /** + * Property flags built-in, configurable. + */ +#define ECMA_PROPERTY_BUILT_IN_CONFIGURABLE \ + (ECMA_PROPERTY_FLAG_BUILT_IN | ECMA_PROPERTY_FLAG_CONFIGURABLE) + +/** + * Property flags built-in, configurable, enumerable. + */ +#define ECMA_PROPERTY_BUILT_IN_CONFIGURABLE_ENUMERABLE \ + (ECMA_PROPERTY_FLAG_BUILT_IN | ECMA_PROPERTY_CONFIGURABLE_ENUMERABLE) + +/** + * Property flags built-in, configurable, writable. + */ +#define ECMA_PROPERTY_BUILT_IN_CONFIGURABLE_WRITABLE \ + (ECMA_PROPERTY_FLAG_BUILT_IN | ECMA_PROPERTY_CONFIGURABLE_WRITABLE) + +/** + * Property flags built-in, writable. + */ +#define ECMA_PROPERTY_BUILT_IN_WRITABLE \ + (ECMA_PROPERTY_FLAG_BUILT_IN | ECMA_PROPERTY_FLAG_WRITABLE) + +/** + * Property flags built-in, configurable, enumerable, writable. + */ +#define ECMA_PROPERTY_BUILT_IN_CONFIGURABLE_ENUMERABLE_WRITABLE \ + (ECMA_PROPERTY_FLAG_BUILT_IN | ECMA_PROPERTY_CONFIGURABLE_ENUMERABLE_WRITABLE) + +/** * No attributes can be changed for this property. */ #define ECMA_PROPERTY_FIXED 0 |