Implement the Symbol builtin object (#2601)
This patch contains the base functionalities that the new builtin object requires.
Currently unavailable:
- print (Symbol('foo')) - this features requires the refactor of the print handler function
- Several global symbol based builtin routines (follow up patch)
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
This commit is contained in:
committed by
Robert Sipka
parent
08c7183ef8
commit
7e3d688e5b
@@ -19,6 +19,9 @@
|
||||
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING__EMPTY, "")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SPACE_CHAR, " ")
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RIGHT_PAREN, ")")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_COMMA_CHAR, ",")
|
||||
#if !defined (CONFIG_DISABLE_REGEXP_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SLASH_CHAR, "/")
|
||||
@@ -55,6 +58,9 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ALL, "all")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_COS, "cos")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_EXP, "exp")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FOR, "for")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET, "get")
|
||||
#if !defined (CONFIG_DISABLE_ES2015_MAP_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_HAS, "has")
|
||||
@@ -187,7 +193,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_INDEX, "index")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_INPUT, "input")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_NAN, "isNaN")
|
||||
#if !defined (CONFIG_DISABLE_REGEXP_BUILTIN) && !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN) \
|
||||
|| !defined (CONFIG_DISABLE_REGEXP_BUILTIN) && !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MATCH, "match")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_DATE_BUILTIN) \
|
||||
@@ -205,7 +212,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SHIFT, "shift")
|
||||
|| !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SLICE, "slice")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN) \
|
||||
|| !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SPLIT, "split")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_VALUE, "value")
|
||||
@@ -216,6 +224,9 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NUMBER_UL, "Number")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_OBJECT_UL, "Object")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REGEXP_UL, "RegExp")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_STRING_UL, "String")
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYMBOL_UL, "Symbol")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ASSIGN, "assign")
|
||||
#endif
|
||||
@@ -252,6 +263,9 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GLOBAL, "global")
|
||||
#if !defined (CONFIG_DISABLE_ES2015_TYPEDARRAY_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_VIEW_UL, "isView")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_KEY_FOR, "keyFor")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LENGTH, "length")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NUMBER, "number")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_OBJECT, "object")
|
||||
@@ -265,7 +279,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REDUCE, "reduce")
|
||||
#if !defined (CONFIG_DISABLE_ES2015_PROMISE_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REJECT, "reject")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_REGEXP_BUILTIN) && !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN) \
|
||||
|| !defined (CONFIG_DISABLE_REGEXP_BUILTIN) && !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SEARCH, "search")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_REGEXP_BUILTIN)
|
||||
@@ -278,6 +293,9 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_STRING, "string")
|
||||
#if !defined (CONFIG_DISABLE_ANNEXB_BUILTIN) && !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SUBSTR, "substr")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYMBOL, "symbol")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_DATE_BUILTIN) \
|
||||
|| !defined (CONFIG_DISABLE_JSON_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_JSON_UL, "toJSON")
|
||||
@@ -289,6 +307,10 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PROMISE_UL, "Promise")
|
||||
#if !defined (CONFIG_DISABLE_MATH_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SQRT1_2_U, "SQRT1_2")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYMBOL_LEFT_PAREN_UL, "Symbol(")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYMBOL_DOT_UL, "Symbol.")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_BOOLEAN, "boolean")
|
||||
#if !defined (CONFIG_DISABLE_ANNEXB_BUILTIN) && !defined (CONFIG_DISABLE_REGEXP_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_COMPILE, "compile")
|
||||
@@ -312,7 +334,8 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_INDEX_OF_UL, "indexOf")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_ARRAY_UL, "isArray")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MESSAGE, "message")
|
||||
#if !defined (CONFIG_DISABLE_REGEXP_BUILTIN) && !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN) \
|
||||
|| !defined (CONFIG_DISABLE_REGEXP_BUILTIN) && !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REPLACE, "replace")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_PROMISE_BUILTIN)
|
||||
@@ -329,6 +352,9 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_TIME_UL, "setTime")
|
||||
#if !defined (CONFIG_DISABLE_ANNEXB_BUILTIN) && !defined (CONFIG_DISABLE_DATE_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_YEAR_UL, "setYear")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SPECIES, "species")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_NUMBER_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_FIXED_UL, "toFixed")
|
||||
#endif
|
||||
@@ -349,6 +375,9 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_MONTH_UL, "getMonth")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_FINITE, "isFinite")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_FROZEN_UL, "isFrozen")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_SEALED_UL, "isSealed")
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ITERATOR, "iterator")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PARSE_INT, "parseInt")
|
||||
#if !defined (CONFIG_DISABLE_DATE_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_HOURS_UL, "setHours")
|
||||
@@ -443,6 +472,9 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_FULL_YEAR_UL, "getFullYear")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_HOURS_UL, "getUTCHours")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_MONTH_UL, "getUTCMonth")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_HAS_INSTANCE, "hasInstance")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ARRAY_BUILTIN) \
|
||||
|| !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LAST_INDEX_OF_UL, "lastIndexOf")
|
||||
@@ -468,12 +500,19 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_LOWER_CASE_UL, "toLowerCase")
|
||||
#if !defined (CONFIG_DISABLE_NUMBER_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_PRECISION_UL, "toPrecision")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_PRIMITIVE, "toPrimitive")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_STRING_TAG, "toStringTag")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_DATE_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_UTC_STRING_UL, "toUTCString")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_STRING_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_UPPER_CASE_UL, "toUpperCase")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_UNSCOPABLES, "unscopables")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_TYPEDARRAY_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FLOAT32_ARRAY_UL, "Float32Array")
|
||||
#endif
|
||||
@@ -548,12 +587,20 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DECODE_URI_COMPONENT, "decodeURIComponent
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ENCODE_URI_COMPONENT, "encodeURIComponent")
|
||||
#if !defined (CONFIG_DISABLE_DATE_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_MILLISECONDS_UL, "getUTCMilliseconds")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_CONCAT_SPREADABLE, "isConcatSpreadable")
|
||||
#endif
|
||||
#if !defined (CONFIG_DISABLE_DATE_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_MILLISECONDS_UL, "setUTCMilliseconds")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_LOCALE_DATE_STRING_UL, "toLocaleDateString")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_LOCALE_TIME_STRING_UL, "toLocaleTimeString")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_OWN_PROPERTY_NAMES_UL, "getOwnPropertyNames")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PROPERTY_IS_ENUMERABLE_UL, "propertyIsEnumerable")
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_OWN_PROPERTY_SYMBOLS_UL, "getOwnPropertySymbols")
|
||||
#endif
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL, "getOwnPropertyDescriptor")
|
||||
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING__FUNCTION_TO_STRING, "function(){/* ecmascript */}")
|
||||
|
||||
@@ -650,7 +697,11 @@ LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (17, LIT_MAGIC_STRING_PREVENT_EXTENSIONS
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (18, LIT_MAGIC_STRING_DECODE_URI_COMPONENT)
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (19, LIT_MAGIC_STRING_GET_OWN_PROPERTY_NAMES_UL)
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (20, LIT_MAGIC_STRING_PROPERTY_IS_ENUMERABLE_UL)
|
||||
#if !defined (CONFIG_DISABLE_ES2015_SYMBOL_BUILTIN)
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (21, LIT_MAGIC_STRING_GET_OWN_PROPERTY_SYMBOLS_UL)
|
||||
#else
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (21, LIT_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL)
|
||||
#endif
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (22, LIT_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL)
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (23, LIT_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL)
|
||||
LIT_MAGIC_STRING_FIRST_STRING_WITH_SIZE (24, LIT_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL)
|
||||
|
||||
Reference in New Issue
Block a user