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:
Robert Fancsik
2019-01-16 10:09:23 +01:00
committed by Robert Sipka
parent 08c7183ef8
commit 7e3d688e5b
43 changed files with 1896 additions and 212 deletions
+15
View File
@@ -24,6 +24,7 @@
LIT_MAGIC_STRING__EMPTY = ""
LIT_MAGIC_STRING_SPACE_CHAR = " "
LIT_MAGIC_STRING_RIGHT_PAREN = ")"
LIT_MAGIC_STRING_COMMA_CHAR = ","
LIT_MAGIC_STRING_SLASH_CHAR = "/"
LIT_MAGIC_STRING_COLON_CHAR = ":"
@@ -40,6 +41,7 @@ LIT_MAGIC_STRING_ABS = "abs"
LIT_MAGIC_STRING_ALL = "all"
LIT_MAGIC_STRING_COS = "cos"
LIT_MAGIC_STRING_EXP = "exp"
LIT_MAGIC_STRING_FOR = "for"
LIT_MAGIC_STRING_GET = "get"
LIT_MAGIC_STRING_HAS = "has"
LIT_MAGIC_STRING_LOG = "log"
@@ -110,6 +112,7 @@ LIT_MAGIC_STRING_NUMBER_UL = "Number"
LIT_MAGIC_STRING_OBJECT_UL = "Object"
LIT_MAGIC_STRING_REGEXP_UL = "RegExp"
LIT_MAGIC_STRING_STRING_UL = "String"
LIT_MAGIC_STRING_SYMBOL_UL = "Symbol"
LIT_MAGIC_STRING_ASSIGN = "assign"
LIT_MAGIC_STRING_BUFFER = "buffer"
LIT_MAGIC_STRING_CALLEE = "callee"
@@ -124,6 +127,7 @@ LIT_MAGIC_STRING_FREEZE = "freeze"
LIT_MAGIC_STRING_GET_DAY_UL = "getDay"
LIT_MAGIC_STRING_GLOBAL = "global"
LIT_MAGIC_STRING_IS_VIEW_UL = "isView"
LIT_MAGIC_STRING_KEY_FOR = "keyFor"
LIT_MAGIC_STRING_LENGTH = "length"
LIT_MAGIC_STRING_NUMBER = "number"
LIT_MAGIC_STRING_OBJECT = "object"
@@ -134,11 +138,14 @@ LIT_MAGIC_STRING_SEARCH = "search"
LIT_MAGIC_STRING_SOURCE = "source"
LIT_MAGIC_STRING_SPLICE = "splice"
LIT_MAGIC_STRING_STRING = "string"
LIT_MAGIC_STRING_SYMBOL = "symbol"
LIT_MAGIC_STRING_SUBSTR = "substr"
LIT_MAGIC_STRING_TO_JSON_UL = "toJSON"
LIT_MAGIC_STRING_BOOLEAN_UL = "Boolean"
LIT_MAGIC_STRING_PROMISE_UL = "Promise"
LIT_MAGIC_STRING_SQRT1_2_U = "SQRT1_2"
LIT_MAGIC_STRING_SYMBOL_LEFT_PAREN_UL = "Symbol("
LIT_MAGIC_STRING_SYMBOL_DOT_UL = "Symbol."
LIT_MAGIC_STRING_BOOLEAN = "boolean"
LIT_MAGIC_STRING_COMPILE = "compile"
LIT_MAGIC_STRING_FOR_EACH_UL = "forEach"
@@ -154,6 +161,7 @@ LIT_MAGIC_STRING_REVERSE = "reverse"
LIT_MAGIC_STRING_SET_DATE_UL = "setDate"
LIT_MAGIC_STRING_SET_TIME_UL = "setTime"
LIT_MAGIC_STRING_SET_YEAR_UL = "setYear"
LIT_MAGIC_STRING_SPECIES = "species"
LIT_MAGIC_STRING_TO_FIXED_UL = "toFixed"
LIT_MAGIC_STRING_UNSHIFT = "unshift"
LIT_MAGIC_STRING_VALUE_OF_UL = "valueOf"
@@ -166,6 +174,7 @@ LIT_MAGIC_STRING_GET_MONTH_UL = "getMonth"
LIT_MAGIC_STRING_IS_FINITE = "isFinite"
LIT_MAGIC_STRING_IS_FROZEN_UL = "isFrozen"
LIT_MAGIC_STRING_IS_SEALED_UL = "isSealed"
LIT_MAGIC_STRING_ITERATOR = "iterator"
LIT_MAGIC_STRING_PARSE_INT = "parseInt"
LIT_MAGIC_STRING_SET_HOURS_UL = "setHours"
LIT_MAGIC_STRING_SET_MONTH_UL = "setMonth"
@@ -216,6 +225,7 @@ LIT_MAGIC_STRING_CONSTRUCTOR = "constructor"
LIT_MAGIC_STRING_GET_FULL_YEAR_UL = "getFullYear"
LIT_MAGIC_STRING_GET_UTC_HOURS_UL = "getUTCHours"
LIT_MAGIC_STRING_GET_UTC_MONTH_UL = "getUTCMonth"
LIT_MAGIC_STRING_HAS_INSTANCE = "hasInstance"
LIT_MAGIC_STRING_LAST_INDEX_OF_UL = "lastIndexOf"
LIT_MAGIC_STRING_REDUCE_RIGHT_UL = "reduceRight"
LIT_MAGIC_STRING_SET_FULL_YEAR_UL = "setFullYear"
@@ -225,8 +235,11 @@ LIT_MAGIC_STRING_TO_GMT_STRING_UL = "toGMTString"
LIT_MAGIC_STRING_TO_ISO_STRING_UL = "toISOString"
LIT_MAGIC_STRING_TO_LOWER_CASE_UL = "toLowerCase"
LIT_MAGIC_STRING_TO_PRECISION_UL = "toPrecision"
LIT_MAGIC_STRING_TO_PRIMITIVE = "toPrimitive"
LIT_MAGIC_STRING_TO_STRING_TAG = "toStringTag"
LIT_MAGIC_STRING_TO_UTC_STRING_UL = "toUTCString"
LIT_MAGIC_STRING_TO_UPPER_CASE_UL = "toUpperCase"
LIT_MAGIC_STRING_UNSCOPABLES = "unscopables"
LIT_MAGIC_STRING_FLOAT32_ARRAY_UL = "Float32Array"
LIT_MAGIC_STRING_FLOAT64_ARRAY_UL = "Float64Array"
LIT_MAGIC_STRING_INVALID_DATE_UL = "Invalid Date"
@@ -264,10 +277,12 @@ LIT_MAGIC_STRING_TO_LOCALE_UPPER_CASE_UL = "toLocaleUpperCase"
LIT_MAGIC_STRING_DECODE_URI_COMPONENT = "decodeURIComponent"
LIT_MAGIC_STRING_ENCODE_URI_COMPONENT = "encodeURIComponent"
LIT_MAGIC_STRING_GET_UTC_MILLISECONDS_UL = "getUTCMilliseconds"
LIT_MAGIC_STRING_IS_CONCAT_SPREADABLE = "isConcatSpreadable"
LIT_MAGIC_STRING_SET_UTC_MILLISECONDS_UL = "setUTCMilliseconds"
LIT_MAGIC_STRING_TO_LOCALE_DATE_STRING_UL = "toLocaleDateString"
LIT_MAGIC_STRING_TO_LOCALE_TIME_STRING_UL = "toLocaleTimeString"
LIT_MAGIC_STRING_GET_OWN_PROPERTY_NAMES_UL = "getOwnPropertyNames"
LIT_MAGIC_STRING_PROPERTY_IS_ENUMERABLE_UL = "propertyIsEnumerable"
LIT_MAGIC_STRING_GET_OWN_PROPERTY_SYMBOLS_UL = "getOwnPropertySymbols"
LIT_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL = "getOwnPropertyDescriptor"
LIT_MAGIC_STRING__FUNCTION_TO_STRING = "function(){/* ecmascript */}"